Vastleggen van de verantwoordelijkheidszone: statemachine, Transactional Outbox, optimistische vergrendelingen
Golang
Welke containerisatie- en orkestratiesystemen kent u?
Hoeveel retry-pogingen moeten worden gedaan voordat een bericht naar de DLQ wordt gestuurd?
Wat zijn de voordelen van het gebruik van threads in plaats van het maken van aparte processen?
Waar hield de kandidaat zich mee bezig en waar hield de rest van het team zich mee bezig bij Avito?
Waarom is de antifraudecontroleservice toegevoegd aan het verantwoordelijkheidsgebied van de kandidaat?
Welke isolatiemethoden biedt Linux voor containers?
Wat gebeurt er als je een goroutine start en daarin panic aanroept? Stopt de goroutine of stopt de hele applicatie?
Wat is het resultaat van schrijven naar een gesloten kanaal? Deadlock, paniek of de schrijfbewerking geeft een fout terug?
Wat bevindt zich in de map /proc?
Welke technieken worden gebruikt om de doorvoer en het datavolume in databasebeheersystemen te vergroten?
Waar gaat de retry naartoe bij een conflict in de versie van de optimistische lock — van het Kafka-bericht of van de service?
Beantwoord de vragen Heeft u gewerkt met gedistribueerde systemen en hun beperkingen? Welke? Bent u betrokken bij documentatie, metrics, monitoring? Ja Nee Bent u bekend met de CAP-theorie? Ja Nee Vindt u dat het dekkingspercentage van de code met metrics of het bijwerken van documentatie noodzakelijkerwijs een aparte technische schuldtaak vereist?
Wanneer worden de argumenten van uitgestelde functies berekend — op het moment van definitie of op het moment van aanroep van de functie?
Wat is de volgorde van het doorlopen van elementen in een map-container? Is deze vastgelegd door een bepaald algoritme, willekeurig bepaald tijdens de compilatie of bepaald tijdens de uitvoering?
Welke mechanismen bestaan er in Go: overerving of compositie?
Hoe zag de route van optimistische blokkering eruit van het ontvangen van het bericht uit Kafka tot de update in de database?
Wanneer wordt de uitgestelde functie defer aangeroepen? Bij het verlaten van het lokale blok, bij het verlaten van de functie of bij het afsluiten van de applicatie?
Zal er geen situatie ontstaan waarin een oud reject-advies naar de DLQ gaat en een advertentie met een onjuiste prijs nooit wordt afgewezen?
Wie was verantwoordelijk voor de verificatiediensten (anti-fraude, controle van afbeeldingen, tekst, spam, limieten)?