Jaké systémy kontejnerizace a orchestraci znáte?
Golang
Upřesnění oblasti odpovědnosti: stavový stroj, Transactional Outbox, optimistické zámky
Kolik pokusů o retry je třeba udělat před odesláním zprávy do DLQ?
Čím se zabýval kandidát a čím se zabývala zbytek týmu v Avito?
Jaké jsou výhody používání vláken místo vytváření samostatných procesů?
Proč byl do oblasti odpovědnosti kandidáta přidán služba antifraudních kontrol?
Co se stane, když spustíte goroutine a v ní zavoláte panic? Goroutine se zastaví nebo se zastaví celá aplikace?
Jaký bude výsledek zápisu do uzavřeného kanálu? Deadlock, panika nebo operace zápisu vrátí chybu?
Co je v adresáři /proc?
Jaké metody izolace poskytuje Linux pro kontejnery?
Jaké techniky se používají ke zvýšení propustnosti a objemu dat v systémech správy databází?
Kam směřuje retry při konfliktu verze optimistické blokace — od Kafka zprávy nebo od služby?
Odpovězte na otázky Pracoval jste s distribuovanými systémy a jejich omezeními? Jakými? Zabýváte se dokumentací, metrikami, monitoringem? Ano Ne Známé jste teorii CAP? Ano Ne Myslíte si, že pokrytí kódu metrikami nebo aktualizace dokumentace nutně vyžaduje samostatný úkol technického dluhu?
Kdy jsou vypočítávány argumenty odložených funkcí — při definici nebo při volání funkce?
Jaký je pořadí průchodu prvky v kontejneru map? Fixní podle určitého algoritmu, libovolně určené při kompilaci nebo určené při běhu?
Jak přesně vypadal cesta optimistického zámku od přijetí zprávy z Kafka po aktualizaci v databázi?
Kdy bude volána odložená funkce defer? Při opuštění místního bloku, při opuštění funkce nebo při ukončení aplikace?
Který mechanismus existuje v Go: dědičnost nebo kompozice?
Nem vznikne situace, kdy starý verdikt zamítnutí půjde do DLQ a inzerát s nesprávnou cenou nikdy nebude odmítnut?
Kdo se staral o služby kontroly (antifraud, kontrola obrázků, textu, spamu, limitů)?