Merlion
Вопросы
Заголовок раздела «Вопросы»- Как выглядел флоу в команде? Когда задача считается завершенной?
hr-behavioral/teamwork - Как происходил процесс создание новых фич? Насколько сильно декомпозировали задачу? Были ли фичи на несколько спринтов?
linux-os/processes - Какая была самая большая фича? Были ли задачи более чем на один спринт?
hr-behavioral/about-you - Допустим, приходит тимлид и говорит: «Нужна такая фича», но я понимаю, что для нее нужен новый микросервис, новое взаимодействие между микросервисами или новая технология. Что делали?
architecture/microservices - Кто деплоил?
hr-behavioral/teamwork - Зачем DevOps, если CI настроен и мы сами можем нажимать кнопку?
devops/ci-cd - Деплоили сразу по факту?
hr-behavioral/teamwork - Были ли релизные даты?
hr-behavioral/teamwork - Ответственность разработчика до какого момента по задаче сохранялась?
hr-behavioral/teamwork - В prod мы деплоили или DevOps?
hr-behavioral/teamwork - Пулл-реквест прошел, код-ревью прошло. Кто мержил в релизную ветку?
git/general - Технические метрики: нагрузка. Кто за ними следил?
devops/observability - DevOps смотрит и видит, что упираемся в CPU. Код написан нормально. Нужно масштабироваться. Что делать?
architecture/system-design
Задача: Провести ревью кода и затем пофиксить. go/basics
Заголовок раздела «Задача: Провести ревью кода и затем пофиксить. go/basics»type Storage interface{Products(products[]string) ([]*Products, error)Compilations(ctx context.Context, productIds[]string) ([]*Compilations, error)}
/* domain package */type Products struct{Id intCreatedAt uint8}
type Compilations struct{ProductId intMinPrice float64MaxPrice float64}
type ProductWithCompilations struct{Id CreatedAtint uint8Compilations[]*Compilations}
/* transport package */type GetRequest struct{Ids[]string}
type GetResponse struct{ProductWithCompilations[]*ProductWithCompilations}
type Server struct{storage Storage}
/* transport package */type GetRequest struct{Ids[]string}
type GetResponse struct{ProductWithCompilations[]*ProductWithCompilations}
type Server struct{storage Storage}
func(s*Server) SearchBywords(ctx context.Context, request*GetRequest) (*GetResponse, error) {var errChan chan errorvar products[]*Productsgo func() {result, err:=s.storage.Products(request.Ids)if err!=nil{errChan<-errreturn}
products= result}()
var compilations[]*Compilationsgo func() {result, err:=s.storage.Compilations(context.Background(), request.Ids)if err!=nil{errChan<-errreturn}comilitations= result}()
for err:=range errChan{if err!=nil{return nil, err}}
result:=[]*ProductWithCompiliation()for _, product:=range products{for _, compilation:=range compilation{if compilation.ProductId==product.id{result= append(result, &ProductWithCompiliation{id: product.Id, createdAt: product.CreatedAt, Complitations: []*Complitations{compiliation}})}}}
return&GetResponse(ProductWithCompilations: result), nil}