Golang
Hoeveel microservices waren er ongeveer in het systeem?
Hoe analyseer en optimaliseer je een trage SQL-query?
Wat is het verschil tussen processen en threads?
Wat zijn je salarisverwachtingen?
Wat precies de blockchain mogelijk maakt dat niet zomaar een paar publieke/privé-sleutels kunnen doen?
Wat zijn de valkuilen bij het itereren over een map in Go?
Was jij degene die de logistieke routes heeft opgesteld en berekend?
Kun je een voorbeeld geven van zelfstandig werken — wat is de maximale tijd dat je aan één taak of probleem hebt gewerkt?
Wat is de context in Go en hoe wordt het gebruikt?
Wat is het verschil tussen Clean Architecture en DDD?
Welke synchronisatiemethoden zijn er voor goroutines in Go?
Vertel me over de meest memorabele bug in productie: wat was het, hoe heb je het opgelost en welke conclusies heb je getrokken?
Vertel me over de context in Go: waar wordt het voor gebruikt, hoe werkt de annulering?
Heeft u vragen over de processen, arbeidsvoorwaarden en de volgende stappen?
Ontwerp een schaalbare berichtenapplicatie die 150 miljoen gebruikers ondersteunt, met 75 miljoen DAU, 225 miljoen MAU, 1.2M lees- / 300k schrijfsnelheid QPS, 5 miljoen gelijktijdige gebruikers, 60 PB nieuwe gegevens per jaar, een jaarlijkse groei van 30%, P99 <200 ms voor lezen, <300 ms voor schrijven, SLA 99.95%. CONTEXT Het is nodig om een gedistribueerd berichten systeem te ontwerpen, vergelijkbaar met WhatsApp, dat 1-op-1 en groepschats ondersteunt, berichten bezorgt, online statussen van gebruikers toont en multimedia bestanden (foto's, video's, audio) verzendt. Het systeem moet hoge beschikbaarheid en lage latency garanderen, hoge paralleliteit aankunnen en wereldwijd schaalbaar zijn. FUNCTIONELE EISEN - Ondersteuning voor persoonlijke (1:1) en groepschats met mogelijkheid tot toevoegen/verwijderen van deelnemers - Verzenden en ontvangen van tekstberichten en multimedia bestanden Niet-functionele eisen: - Geen expliciete implementatie van end-to-end encryptie mechanisme op servicelagen of clients, behalve een algemene annotatie. - Geen expliciete beschrijving van sharding en replicatie van databases op basis van chat_id of user_id voor schaalbaarheid en fouttolerantie. - Geen expliciete component of mechanisme voor offline berichtensynchronisatie en afleveringsbevestigingen. - Het is niet duidelijk hoe load balancing wordt uitgevoerd tussen databases en services, vooral tijdens piekbelastingen. **Kritieke punten om op te letten:** (De diagram toont een architectuur met Load Balancer, API Gateway, Message Queue, Service, Cache, Database, Object Storage en CDN)
Wat gebeurt er als een systeemoproep (syscall) wordt geblokkeerd?
Heb je ooit met transacties in PostgreSQL gewerkt? Met welke isolatieniveaus van transacties ben je bekend, in welke gevallen worden ze gebruikt?
Hoe snel zal een lineaire doorzoeking van alle backends werken bij hoge RPS (bijvoorbeeld 30.000 RPS en 10 backends)?
Hoe werken HTTPS en TLS? Wat is een certificaat en hoe controleert de browser het?
Waaruit bestaat een HTTP-verzoek?