Golang
Как определихте границите на услугата, къде трябваше да започне и да приключи?
Какво е шардиране и за какво се използва? Как да изберем ключ за шардиране за таблиците на таксиметровата услуга (шофьори, клиенти, поръчки)?
Как бихте проектирали този код за използване в различни транспортни протоколи (gRPC, HTTP, потребител)?
Какви проблеми могат да възникнат в конкурентни програми на Go и как ги откривате?
Какви са основните разлики между TCP и UDP и кога трябва да изберете всеки протокол?
Какво е по-добро — модулен монолит или микросервизи за шахматна услуга?
Каква е разликата между релационните и нерелационните хранилища? Разкажете за ACID.
Senior — това е решаващият, последният звено?
Имате ли опит с gRPC?
Какво още интересно ти е останало в паметта за продуктови и бизнес задачи, в които си участвал или ги е правил сам?
Какво се случва, ако по време на обогатяването една от услугите е недостъпна (например, услугата с пълното име/данни за потребителя)? Спира ли цялата Kafka?
Разкажете за опита си с PostgreSQL. Занимавали ли сте се с въпроси за оптимизация?
Какво ще изведе програмата? Защо? ```go func main() { timeStart := time.Now() _, _ = <-worker(), <-worker() println(int(time.Since(timeStart).Seconds())) } func worker() chan int { ch := make(chan int) go func() { time.Sleep(3 * time.Second) ch <- 1 }() return ch } ```
Каква е разликата между процеси, нишки и goroutines в Go?
Как да разберете защо писалката реагира бавно? Как да използвате pprof?
Разкажете как оптимизирахте заявките. От 10-12 минути до 5-7 — какви са тези отчети, които толкова дълго се изпълняват?
Какво е Outbox модел и как се реализира?
Какво означава амперсанд (&) преди http.Client{}?
Как работихте с Docker?
Как протече пътят от бизнес идеята до продажбата?