Golang
Jaké konkrétní primitives synchronizace jsou v Go?
Proč jste se rozhodli právě teď hledat nové zaměstnání a opustit [společnost]?
Co je CQRS a jak jej lze implementovat?
Jaké primitives synchronizace jsou v Go? Čím se liší Mutex od RWMutex? Kdy používat atomiky?
Co je to idempotence?
Jaké problémy mohou nastat v souběžných programech Go a jak je detekujete?
Co je lepší — modulární monolit nebo mikroservisy pro šachovou službu?
Existuje velká tabulka, dotazy z ní jsou pomalé. Co byste udělali?
Vysvětlete vaši implementaci funkce Allow po opravách. Jak je řešen případ prvního požadavku uživatele?
Jaký je rozdíl mezi relačními a nerelationalními úložišti? Mluvte o ACID.
Existují zajímavé nuance s GOMAXPROCS a cgroups v Linuxu?
Senior — je řešitelem, posledním článkem?
Čím se nejvíce pyšníte a na co si vzpomínáte?
Co přesně jsi udělal, aby byl servis publikace a správy inzerátů na Avito rychlejší?
Maximální zatížení: 25k čtení / 5k zápisů za sekundu Objem nových dat: 10 TB ročně Maximální paralelní zátěž: 120k současných požadavků Roční růst uživatelů: 30% Cílové zpoždění p99: <150 ms pro čtení, <400 ms pro zápis Cílová dostupnost: 99,95% Vaším úkolem je vyvinout architektonické řešení, které odstraní současné problémy, zajistí konzistenci a odolnost vůči chybám, a také implementuje mechanismy sledování pro úplné monitorování životního cyklu objednávky. Popište mechanismus řešení chyb, plán migrace ze současné architektury, a vysvětlete, jak navrhované řešení zlepší spolehlivost a transparentnost systému.
Máte otázky ohledně procesů, pracovních podmínek a dalších kroků?
Uveďte všechny HTTP-metody (slovesa), které znáte.
Co je to race condition a jaké jsou způsoby, jak se proti němu chránit?
package main import ( "fmt" "time" ) func main() { ch := make(chan int) go func() { ch <- 1 }() time.Sleep(time.Millisecond * 500) close(ch) for i := range ch { fmt.Println(i) } time.Sleep(time.Millisecond * 100) }
Pověz mi o sobě mimo pracovní kontext: koníčky, zájmy, fakta, která tě odhalují jako osobnost.