Golang
Co říct interviewérovi (pokud se zeptají) "Použil bych worker pool s pevně stanoveným počtem workerů, kanál pro úkoly a sync.WaitGroup. Workeři budou provádět požadavky, a timeout a zrušení budou řízeny přes kontext. Výsledky shromáždím v bufferu, chráněném mutexem (nebo přes samostatný kanál)." Teď je řada na tobě Napiš kód v tomto chatu. Já ho zkontroluji a dám zpětnou vazbu. Pokud nevíš, kde začít, požádej o nápovědu. Hodně štěstí!
Co je to rozhraní v Go, k čemu je potřeba, jak funguje? Jak vypadá pod kapotou?
Povězte mi o sobě, svých zkušenostech a projektech
Jaký bude výsledek zápisu do uzavřeného kanálu? (zablokování / panika / operace vrátí chybu)
Dále jste rozložili úkoly, které přinesl systémový analytik, uvnitř týmu?
Jak bys navrhl službu na 50k RPS s minimální zpracováním dat a odesíláním na externí API, s garancí doručení a bez duplicit?
Co dělá runtime.KeepAlive a v jakých případech je nutné?
Pověz mi o zátěžích a zajímavých případech souvisejících s optimalizací pod zátěží.
Jak zajistit, aby zpráva z fronty byla zpracována přesně jednou, pokud je více pracovníků?
V jaké fázi jsi teď u technických pohovorů? Máš nabídky?
Na jakém ročníku na univerzitě pracujete? Proč jste si ihned vybral Go? Jak jste se k němu dostal?
Jak často docházelo k únikům paměti?
Jaký seznam příkazů používáš každý den?
Jaké úrovně izolace transakcí PostgreSQL znáte?
Proč nepoužít WebSocket místo gRPC streamingu?
Proč jste se rozhodli právě teď změnit zaměstnavatele?
Existuje OOP v Go a v jaké formě?
Jaká by byla pro vás zajímavá měsíční zaručená úroveň příjmu?
Máte zkušenosti s psaním programů s vícenásobným vlákněním nebo asynchronními operacemi?
Lze vylepšit algoritmus maxSegment?