Golang
Aké stavy má gorutina?
Čo sa stane, ak sa pokúsite zapísať do zatvoreného kanála?
Povedz o technickom zásobníku, ktorý si použil.
Ako vo všeobecnosti funguje štandardný schéma autorizácie cez JWT?
Začal si pracovať na treťom ročníku?
Ako sa dohodnete s susednými tímami na zmluvách — protobuf, udalostné zmluvy, v čom je rozdiel?
[ime] uviedol: na riadku 20 uniq ne obsahuje počet unikátnych znakov, ale niečo iné. Čo presne?
Povedz mi o svojom stacku, s čím pracuješ?
Porozprávaj mi o Kafka — vidím, že si ju použil.
Pretpostavimo da smo velika oglasna mreža. Postavljamo bannere na partnerskim sajtovima širom sveta. Moramo da dizajniramo sistem za prikupljanje i obradu događaja u realnom vremenu. Ovi podaci su kritični za dva cilja: Fakturisanje: Oduzimanje novca od oglašivača za klikove. Analitika: Prikaz trenutne efikasnosti kampanja (CTR, prikazi) u ličnom panelu. Ulazni podaci (za računanje opterećenja) Morate sami proceniti potrebne kapacitete (RPS, saobraćaj, skladište), na osnovu sledećih metrika: Partner mreža: 500.000 aktivnih sajtova. Saobraćaj: U proseku, svaki sajt prima 2 prikaza stranica po sekundi. Reklamni blokovi: Na svakoj stranici se istovremeno prikazuju 3 banera. Konverzija: Prosečan CTR (Click-Through Rate) je 1%. Nepravilnost: Pikovno opterećenje (večernji sati) je 4 puta više od proseka. Veličina događaja: Objekat događaja (ID banera, ID sajta, UserID, Timestamp, tip događaja) teži otprilike 500 bajtova. Tehnički zahtevi Near Real-Time: Podaci u analitičkom interfejsu treba da se pojavljuju sa zakašnjenjem ne većim od 10 sekundi. Pouzdanost: Gubitak klikova nije prihvatljiv (ovo znači direktan gubitak novca). Gubitak prikaza (impressions) je prihvatljiv do 0,01%. Skalabilnost: Sistem treba lako da se proširuje sa rastom broja platformi.
Ako dlho už píšeš v Go? Tri roky?
Prečo ste opustili svoje predchádzajúce miesto?
Predstavimo si, da imamo veliko obremenitev, milijone strank, in vaš poizvedba začne zelo počasi delovati. Kaj bi naredili? Kako bi razumeli, da deluje v konstantnem času?
Čo je XSS (Cross-Site Scripting) a ako s tým bojovať?
Ako ste riešili duplikáty v Kafka?
Koľko procesov alebo vlákien môže mať jeden program?
Čo ďalšie sa stane (okrem paniky) pri konkurenčnom zápise do mapy bez synchronizácie?
Máš skúsenosti so systémovým dizajnom — navrhovanie architektúry od nuly, jej obhajoba pred tímom?
V čom spočíva rozdiel medzi REST a RPC? Čo znamená stateless v kontexte REST?
Akú funkciu si vytvoril a na ňu si hrdý? Porozprávaj o poslednej zaujímavej úlohe.