Golang
Какво е критично важно за вас при преминаване към ново работно място?
Разкажи как си оптимизирал заявките — написано е, че намалението е от 10–12 минути до 5–7 минути. Какъв е този отчет, който толкова дълго се изпълнява? Как го оптимизираше?
Какво е паника в Go?
Какво е руна?
Представете си, че имате огромна база данни (милиарди потребители в социална мрежа) и трябва да намерите потребител по ID, но заявката е бавна. Какво бихте направили първо?
Каква е разликата между TCP и UDP? Дайте примери за използване на UDP и обяснете как DNS осигурява надеждност върху UDP.
Как правилно да предавате контекста в GoRoutine при изпращане на SMS (двуфакторна автентикация)?
Какво е релационна база данни и как се различава от нерелационната?
Какви могат да бъдат страничните ефекти при използването на горутин за обработка на файл, към какво трябва да сме готови?
Как да ускорите бавен API крайна точка — какви подходи има?
Кои други примитиви за синхронизация знаеш?
Имали ли сте нужда да изпълнявате Linux команди? Кои използвате?
Обмисляш ли офисен формат на работа в Краснодар? В кой град живееш в момента?
Защо излезе на пазара? Какво ви харесваше и какво не ви харесваше на текущата работа?
В микросервизна архитектура всеки сервис има своя база данни. Как работи патърнът Outbox в този контекст, ако Kafka все още не е получила съобщението?
```go func fail() { panic("Неуспех!") } func main() { fmt.Println("Започване!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Край!") } ```
Колко човека участваха в най-големия проект, по който си работил? По-малко от десет, десетки, стотици?
// Въпрос 5. Какво ще се покаже на екрана func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
Какво е профилиране в Go? Имаш ли използвал pprof?
Какво е канал в Go и как пренася данни?