Když je mapa zaplněná, vytvoří se nový řetězec bucketů. Vysvětlete, co se děje se starými a novými klíči při přenosu. Proč jsou data přenášena líně, a ne ihned jako v slice?
Golang
Existuje Stop the World během práce Garbage Collectoru?
Kdy je lepší použít partitioning a kdy sharding?
Je vždy dobré mít index? Bude varianta s indexem vždy lepší než bez něj?
Čím je měřena cena v EXPLAIN? Co je to cena?
Pokud máme 16 oddílů a 2 spotřebitele, jak se rozdělí? Co se stane při přidání třetího spotřebitele?
Jaké další možnosti existují pro zvýšení rychlosti databáze kromě indexů?
Jaké prostředky synchronizace v Go znáš?
Jak bylo regulováno množství instancí? Kdo stanovoval požadavky na zdroje v Kubernetes?
Jak byl proveden nasazení? Čím jste nasazovali do Kubernetes?
Co přesně se dělalo s duplikáty po jejich objevení? Kde byly čištěny?
Existuje HTTP handler, který provádí složitý SELECT v databázi, a uživatel není spokojen s dlouhým čekáním. Jaká je sekvence kroků pro diagnostiku a optimalizaci?
Jak spolu služby komunikovaly? Kde se nacházely?
Abstraktní případ: služba selhává (OOM kill), nem vidíš žádné chyby, ale v podu vidíš, že poslední stav ukazuje nedostatek paměti. Jaká by byla sekvence kroků pro diagnostiku a stabilizaci služby?
Při shardingu uživatel neví, na které stroji jsou jeho data. Jak se to řeší?
Na co jsou transakce v databázích?
Praktický úkol v Go: implementovat funkci (řádky 15-17) pro zpracování sady úkolů (jobs) s postupným prováděním a sledováním procenta dokončení přes kanál pokroku.
Povězte nám o složení týmu, o zónách odpovědnosti služeb a o cyklu vydání.
Přímo jste komunikoval s Kubernetes?
Vždy pprof ukáže, že máš únik paměti nebo překročení limitu?