Golang
Ktorú stratégiu kešovania zvoliť — cache-aside alebo write-through — s ohľadom na vzor správania používateľov pri kontrole stavu objednávky?
Aké pravidlá práce s kanálmi je potrebné poznať pri vývoji (uzavretý, otvorený, kedy čo je možné robiť)?
Napíšte úlohu v jazyku Go — praktická sekcia (problémy z života vývojára, bez algoritmov): vylepšiť alebo opraviť službu. Dĺžka — 1,5 hodiny.
Ak používatelia sú nespokojní so zmenou modelu monetizácie, ale podnik má jasný plán — čo robiť?
Živý kód: semafor — ako funguje a implementácia na základe vyrovnávacieho kanála.
Akú metodológiu používate: Scrum, Kanban alebo zmes?
Aké je obmedzenie semafora a vyrovnávacieho kanála ako riešenia na obmedzenie paralelných požiadaviek?
Počuli ste že za [podjetje] ali naše izdelke?
Čo sú odhady?
S čím by ste už nechceli čeliť v práci?
Aká je vaša úroveň — middle, middle+, senior?
Analýza kódu v Go: čo robí kód, aké sú problémy?
K akej skupine (meniteľné/nemeniteľné) patrí rozhranie v Go?
Čo sú to autorizačné tokeny a aké existujú?
Aký je rozdiel medzi relačnými databázami a NoSQL?
Dizajn skalovateľného systému správ, ktorý podporuje 150 miliónov používateľov, 75 miliónov DAU, 225 miliónov MAU, 1,2 milióna peak QPS čítania / 300k zápisov, 5 miliónov súčasných používateľov, 60 PB nových dát ročne, rast o 30 % ročne, SLA 99,95 %, p99 <200 ms pre čítanie, <300 ms pre zápis. KONTEXT Je potrebné navrhnúť distribuovaný systém správ, podobný WhatsApp, ktorý podporuje 1:1 a skupinové chaty, zabezpečuje doručovanie správ, zobrazuje online stavy používateľov a umožňuje prenos multimediálnych súborov (fotky, videá, audio). Systém musí zabezpečiť vysokú dostupnosť a nízku latenciu, podporovať vysoký paralelizmus a škálovať na globálnej úrovni. POŽIADAVKY NA FUNKCIE - Podpora osobných (1:1) a skupinových chatov s možnosťou pridávať/odstraňovať účastníkov - Odosielanie a prijímanie textových správ a multimediálnych súborov Nie je jasná implementácia end-to-end šifrovania na úrovni služieb alebo klientov, okrem všeobecnej poznámky. - Chýba jasný opis sharding a replikácie databáz podľa chat_id alebo user_id pre škálovateľnosť a odolnosť voči chybám. - Nie je jasný komponent alebo mechanizmus pre offline synchronizáciu správ a potvrdení doručenia. - Nie je jasné, ako sa vykonáva vyvažovanie záťaže medzi databázami a službami, najmä pri špičkových zaťaženiach. **Kritické body na zváženie:**
Uveďte hlavnú zásobník v Go
Museli ste niekedy zaznamenať hodiny, sledovať čas v nejakom systéme?
""" Miesta v kine sú usporiadané v jednom rade. Nový divák si vyberá miesto, aby sedel čo najďalej od ostatných divákov v rade. To znamená, že vzdialenosť od tohto miesta, kam sadne, k najbližšiemu divákovi, musí byť maximálna. Je zaručené, že v rade sú vždy voľné miesta a že už sedí aspoň jeden divák. Napíšte funkciu, ktorá na základe daného radu miest (pole núl a jednotiek) vráti vzdialenosť (počet medzier medzi sedadlami) od zvoleného miesta k najbližšiemu divákovi. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }
Čo je zámková konkurencia?