Golang
Каква е разликата между виртуализация и контейнеризация?
Как се отнасяте към хаоса?
Има HTTP обработчик, който извършва сложен SELECT в базата данни, и потребителят не е доволен от дългото чакане. Каква е последователността от действия за диагностика и оптимизация?
Каква е разликата между интерпретируем език (Python) и компилиран език (Go)? Какви фактори влияят върху избора?
Може ли структура в Go да реализира едновременно няколко интерфейса?
Колко първични ключа може да има една таблица?
Разкажи за подхода pub/sub в Redis за шахматна услуга — плюсове и минуси
Може ли да се направи EXPLAIN ANALYZE в продукция?
Как възнамерявате да използвате кеша в архитектурата на OrderService? Какво точно ще се съхранява в Redis?
Какво е defer? Какво ще изведе следният код? ```go type X struct { V int } func (x X) S() { fmt.Println(x.V) } func main() { x := X{123} defer x.S() x.V = 456 } ```
Разкажи, кои вградени типове знаеш в Go?
Как оценявате знанията си по Go по скала от 1 до 10? Какво бихте включили в липсващия бал до 10?
Какво е нотацията Big O?
Как да създадете нов клон с команда в Git?
Разкажи за своя опит в Wildberries: как си дошъл, как изглежда екипът, защо напускаш.
Какви бяха вариантите след ръчното обработване на съобщенията от DLQ? Какво правихте с тях технически?
// При актуализиране на поръчка, трябва да изпратим данните за поръчката към няколко услуги (API на трети страни) // броят на услугите расте (може да са хиляди+) // написахме кода, в началото всичко вървеше добре, но с времето нашата услуга започна да консумира много памет func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Представете си, че това е дълго мрежово повикване response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "неуспешно изпращане", err) return } s.logger.Info(ctx, "успех", response) }() } }
Какви са плановете за следващата година — какво да научиш, какво да овладееш?
Каква е разликата между блокиране на системно повикване (например, четене) и блокиране на Mutex?
Какви антипатерни съществуват в Go? Какво не трябва да се прави, какво се счита за лош тон?