Golang
Jaká data by se neměla ukládat do cache?
Můžeme předat slice jako parametr funkci?
Pověz mi o databázích — s čím jsi pracoval a s čím pracuješ teď?
Otázka o pomalé službě Na příkladu vytvoření objednávky. Existuje požadavek na službu a odpověď, mezi těmito dvěma akcemi ukládáme do analytiky produkty, které byly objednány (například pro sledování popularity produktů). Analytická služba občas pracuje pomalu nebo timeoutuje, a my nestíháme odpovědět, ztrácíme objednávky. Co dělat, aby se přestalo ztrácet objednávky a peníze? Vymyslete, jak paralelizovat objednávku a analytiku.
Představte si situaci: nem najdete společnou řeč s testerem ve vašem týmu, který vás neustále 'šikanuje'. Jak budete komunikovat?
Co jsou to message brokery? Jaké znáte? Čím se liší RabbitMQ od Kafka?
Co se stane, pokud bude třeba opustit Kafka a nahradit ji jiným brokerem zpráv? Jak izolovat Kafka od externích služeb?
Jak funguje proces vydání? Jak proběhlo poslední vydání s vaší účastí?
Co je třeba udělat, aby server REST API (úložiště kódu) začal fungovat v Kubernetes?
Pověz o graceful shutdown: co to je, co se při něm děje, jak je volán? Jaké procesy provádí služba v Kubernetes po obdržení SIGTERM?
Kde, podle vás, začíná highload? Jaká je hranice mezi highload a ne-highload?
Máte službu, která spouští mnoho gorutin. Jak byste omezili počet současně běžících gorutin?
Váš servis byl API, který používaly jiné služby. V Redis ukládali data pro obohacení — proč jste ne volali na službu katalogů (o skladech atd.) u každé žádosti?
Co je to systémový volání (syscall)?
Řekněte mi více o projektech v Go
Která z následujících možností je nejpravděpodobnější, že se stane při pokusu spustit velmi velké množství gorutin (například desetitisíce) bez další kontroly? - Hlavním problémem bude zablokování globálního mutexu uvnitř runtime, což povede k úplnému zastavení běhu programu - Plánovač Go bude gorutiny vykonávat v malých skupinách sekvenčně, takže růst jejich počtu téměř neovlivní spotřebu paměti - Masové vytváření gorutin může vést k významné spotřebě paměti a dodatečným nákladům plánovače; v takových případech je vhodný pracovní pool - Pokud počet gorutin přesáhne počet logických procesorů, Go automaticky začne odmítat nové spuštění gorutin s panikou
Jak se cítíš mezi kolegy na své úrovni? Co ti chybí k růstu?
Pověz mi o Kubernetes — co to je, čím se liší od Dockeru, jaké jsou jeho hlavní složky?
Čím se liší pole od slice v Go?
Jak je organizován kanál pod kapotou v Go?