Golang
Waarom bent u overgestapt van [bedrijf] naar [bedrijf]?
Vertel ons meer over je ervaring: wat voor project was het en wat was jouw verantwoordelijkheid?
Op basis waarvan selecteer je bedrijven, waar richt je je op?
Welke gegevens moeten niet in de cache worden opgeslagen?
Kunnen we een slice als parameter aan een functie doorgeven?
Vertel over databases — waarmee heb je gewerkt en waarmee werk je nu?
Vraag over de trage service Neem het voorbeeld van het aanmaken van een bestelling. Er is een verzoek naar de service en een antwoord, tussen deze twee acties slaan we de bestelde producten op in de analyse (bijvoorbeeld om de populariteit van producten te tellen). De analyse-service werkt soms langzaam of timeout, en we slagen er niet in om op tijd te antwoorden, waardoor we bestellingen verliezen. Wat te doen om geen bestellingen en dus geld meer te verliezen? Bedenk hoe je de bestelling en analyse kunt paralleliseren.
Stel je voor dat je geen gemeenschappelijke grond kunt vinden met een tester in je team die je constant 'pikt op je'. Hoe ga je hiermee om?
Wat zijn berichtbrokers? Welke kent u? Hoe verschilt RabbitMQ van Kafka?
Wat gebeurt er als je Kafka moet opgeven en deze vervangt door een andere berichtenbroker? Hoe isoleer je Kafka van externe services?
Hoe is het releaseproces georganiseerd? Hoe verliep de laatste release met jouw deelname?
Wat moet er gedaan worden zodat de REST API-server (code repository) in Kubernetes begint te werken?
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?
Waar begint volgens jou highload? Wat is de grens tussen highload en niet-highload?
Je hebt een service die veel goroutines spawn. Hoe zou je het aantal gelijktijdig lopende goroutines beperken?
Jouw service was een API die door andere services werd gebruikt. In Redis bewaarden jullie gegevens voor verrijking — waarom gingen jullie niet bij elk verzoek naar de referentieservice (over magazijnen, etc.)?
Wat is een systeemoproep (syscall)?
Vertel meer over de projecten in Go
Welke van de volgende opties is het meest waarschijnlijk om te gebeuren bij het proberen te starten van een zeer groot aantal goroutines (bijvoorbeeld tienduizenden) zonder aanvullende controle? - Het belangrijkste probleem wordt veroorzaakt door het blokkeren van de globale mutex binnen de runtime, wat zal leiden tot een volledige stop van de uitvoering van het programma - De Go-scheduler zal de goroutines in kleine groepen sequentieel uitvoeren, dus de groei van hun aantal heeft bijna geen invloed op het geheugenverbruik - Massale creatie van goroutines kan leiden tot aanzienlijk geheugenverbruik en overhead van de scheduler; in dergelijke gevallen is een worker pool geschikt - Als het aantal goroutines het aantal logische processors overschrijdt, zal Go automatisch nieuwe goroutine-starts met een panic afwijzen
Vertel over Kubernetes — wat is het, hoe verschilt het van Docker, wat zijn de belangrijkste componenten?