Golang
Op basis waarvan zocht u naar advertenties, welke informatie zocht u?
Met welke leveringsgaranties bent u in Kafka geconfronteerd?
Vertel over replicatie in PostgreSQL: soorten, synchronisch vs asynchroon.
Welke databases en berichtbrokers gebruikt u in uw stack?
Waarom heeft u besloten de markt te betreden?
Hoe organiseer je interne meldingen (bel op de site)? Welke transportmiddelen gebruiken?
Heeft u ooit iets geschreven met CTE (Common Table Expression, WITH)?
Aantal unieke gebruikers, aantal klikken, kosten per klik — vertel me over deze metrics
Wat doet de opdracht UNION?
Aan welke criteria ga je de aanbieding kiezen als er meerdere zijn?
Vertel me, welke problemen zie je momenteel in de implementatie van de cache?
Algemene vraag: voorbereiding op het interview en bronnen van vragen
Met welke databases hebt u gewerkt? Welke soorten databases kent u? Waarom worden relationele databases relationeel genoemd?
Ontwerp van een schaalbaar berichtenplatform dat 150 miljoen gebruikers ondersteunt, met 75 miljoen DAU, 225 miljoen MAU, 1,2 miljoen lees- / 300k schrijfsituaties QPS, 5 miljoen gelijktijdige gebruikers, 60 PB nieuwe gegevens per jaar, 30% jaarlijkse groei, SLA 99,95%, p99 <200 ms voor lezen, <300 ms voor schrijven. CONTEXTE Het is nodig om een gedistribueerd berichtenplatform te ontwerpen, vergelijkbaar met WhatsApp, dat 1:1 en groepschats ondersteunt, berichtbezorging garandeert, online statussen van gebruikers toont en multimedia-bestanden (foto's, video's, audio) overdraagt. Het systeem moet hoge beschikbaarheid en lage latentie bieden, hoge paralleliteit ondersteunen en wereldwijd schalen. FUNCTIONELE EISEN - Ondersteuning voor persoonlijke (1:1) en groepschats met de mogelijkheid om deelnemers toe te voegen/verwijderen - Verzenden en ontvangen van tekstberichten en multimedia-bestanden Er lijkt geen duidelijke implementatie van end-to-end encryptie-mechanismen op servicetoe of clientniveau, afgezien van een algemene notitie. - Er ontbreekt een expliciete beschrijving van sharding en replicatie van databases op basis van chat_id of user_id voor schaalbaarheid en fouttolerantie. - Er is geen duidelijke component of mechanisme voor offline synchronisatie van berichten en afleverbevestigingen. - Het is niet duidelijk hoe de load balancing tussen databases en services wordt uitgevoerd, vooral bij piekbelastingen. **Kritieke punten om rekening mee te houden:**
Heeft u met architectuur gewerkt? Vertel een paar architectuuroplossingen
Waarom schakelen goroutines sneller over?
Vertel me over graceful shutdown: wat is het, wat gebeurt er tijdens, hoe wordt het opgeroepen? Welke processen voert de service uit in Kubernetes na ontvangst van SIGTERM?
Werk je nog steeds bij het bedrijf?
Hoe werkt HTTP/3 over UDP als UDP geen levering garandeert?
Hoe was de architectuurontwerp georganiseerd in jouw team, welke tools werden gebruikt?