Golang
Jste v Moskvě?
Proč byl do oblasti odpovědnosti kandidáta přidán služba antifraudních kontrol?
Kolik mikroservisů je ve vaší současné práci a s kterými přímo pracujete?
Co si myslíš, jaký je problém s řešením v paměti? Co se stane, pokud službu restartujete?
Kdy je třeba odstranit indexy? Co je denormalizace?
Na co jsou vůbec potřeba koše v hashové tabulce/mapě? Jakou mají funkční roli?
Znamená to, že vše skončí přesto po tomto timeoutu? Jinými slovy, může se stát, že něco ještě nefunguje — jaký je zde problém?
Popište proces načítání Linux serveru od spuštění po spuštění terminálu
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.
Co jsou to kanály v Go a jaké jsou jejich druhy?
Existuje způsob, jak spravovat a ladit stop-the-world garbage collector v Go?
// tabulka zboží: // ID | cnt_view // ----------- // 1 | 100 // dva uživatelé začali současně sledovat zboží s id = 1 // a v naší databázi byly spuštěny 2 paralelní transakce // jaký bude výsledek? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Museli jste se zabývat architektonickými úkoly? Jak byla přijímána architektonická rozhodnutí?
Proč musíme přerušit kontext ve struktuře? Proč ukončit pracovníky? Chceme přerušit metodu Stop.
Proč hledáte nyní nové zaměstnání? Co vám na současném místě práce nevyhovuje?
Kam směřují gorutiny při jejich vytváření – do místní nebo globální fronty plánovače Go?
Jak jste provedli škálování Kafka konzumentů? Podle jakých kritérií?
Jak ovlivňují časové limity snížení zátěže na analytiku?
Jaký byl projekt ve společnosti? Jaký mikroservis tam byl?
Indexy v PostgreSQL: co jsou, jaké druhy znáš, čím je B-tree lepší než Hash?