Sollicitatievragen over Microservices
Door Aaron Cao · Bijgewerkt op

Microservices-gesprekken testen servicegrenzen, communicatiekeuzes, dataconsistentie en foutafhandeling, niet framework-trivia. Verwacht dat je een monoliet moet opsplitsen, synchrone aanroepen moet verdedigen tegenover asynchrone berichten, moet uitleggen hoe je data correct houdt over services heen, en één verzoek van begin tot eind moet volgen.
Wat testen microservices-sollicitatiegesprekken eigenlijk?
Je hebt de patroonnamen gelezen, je kunt opdreunen wat een circuit breaker doet, en toch weet je niet waar een panel naar luistert. Dit gedeelte benoemt de vier gebieden die interviewers beoordelen, in de volgorde waarin ze meestal worden afgetast. Elk gebied is een beoordelingsvraag verkleed als een woordenschatvraag.
- Decompositie. Waar knip je, en waarom daar? Interviewers willen een grens die loopt langs businesscapaciteit of dataeigendom, niet langs technische lagen.
- Communicatie. Synchroon request/response of asynchrone events, en wat breekt bij elk. Het gewenste antwoord is een afweging, geen voorkeur.
- Data. Eén database per service betekent geen cross-service joins en geen gedistribueerde transactie. Hoe houd je het systeem dan toch correct?
- Operatie. Deployment, versiebeheer, tracing, en wat er om drie uur 's nachts gebeurt als één service traag is in plaats van uitgevallen.
Merk op dat niets hiervan over een framework gaat. Een kandidaat die uitlegt waarom checkout van inventory is gescheiden, scoort altijd hoger dan iemand die annotaties opsomt.
Welke decompositie- en communicatievragen komen het vaakst voor?
Dit zijn de vragen waarmee de meeste microservices-rondes openen, met wat de interviewer er onderliggend mee test.
- Hoe zou je deze monoliet in services opsplitsen? Test of je knipt langs businesscapaciteiten en dataeigendom, of langs
controller-,service- enrepository-lagen. Het tweede antwoord levert een gedistribueerde monoliet op. - Hoe praten twee services met elkaar? Test of je de kosten van elke keuze kunt benoemen: synchrone aanroepen geven een eenvoudig mentaal model maar koppelen beschikbaarheid, asynchrone events ontkoppelen beschikbaarheid en geven eventual consistency die je aan een product owner moet uitleggen.
- Wat is een gedistribueerde monoliet en hoe voorkom je die? Test of je weet dat services die samen moeten worden uitgerold, niet echt gescheiden zijn.
- Hoe groot moet een service zijn? Test of je een getal weerstaat. Grootte volgt de grens en het team dat eigenaar is.
- Heb je een API-gateway nodig, en wat doet die? Test of je routing, authenticatie en rate limiting kunt scheiden van businesslogica.
- Hoe vinden services elkaar? Test basiskennis van service discovery en waarom hardgecodeerde hosts falen in een geschaalde omgeving.
Spreek de afweging bij elk antwoord hardop uit. Een panel kan geen punten geven voor een vergelijking die je stilzwijgend in je hoofd hebt gemaakt.
Hoe beantwoord je de data- en foutvragen?
Hier worden gesprekken gewonnen of verloren, omdat deze vragen geen schoon antwoord hebben en kandidaten naar een uit het hoofd geleerd antwoord grijpen.
- Hoe houd je data consistent tussen services? Noem eerst de beperking: er is geen cross-service transactie. Beschrijf daarna een saga, ofwel gechoreografeerd via events ofwel georkestreerd door een coördinator, en zeg ronduit dat het systeem eventually consistent is en wat de gebruiker in dat interval ziet.
- Wat gebeurt er als een downstream service traag is? Timeouts, retries met backoff, en een circuit breaker zodat een trage dependency je thread pool niet uitput. Traag is erger dan uitgevallen, en dat zeggen toont productie-ervaring.
- Hoe maak je een retry veilig? Idempotency. Een idempotency key op het schrijfpad, zodat een herhaalde betaling maar één keer wordt afgeschreven.
- Hoe ga je om met een gedeeltelijke storing in een meerstaps-flow? Compenserende acties, geen rollback. Leg uit hoe het terugbetalen of vrijgeven van een reservering eruitziet.
- Hoe debug je een verzoek dat zes services heeft geraakt? Distributed tracing met een correlation ID die door elke hop wordt doorgegeven, plus gestructureerde logs en metrics.
Een backend engineer die solliciteerde voor een L5 platformrol bij een publieke cloudleverancier kreeg de saga-vraag en beantwoordde die in één keer, in patroonvocabulaire, zonder ooit te noemen wat de klant zou zien. De vervolgvraag, wat de orderpagina laat zien tijdens het inconsistente venster, is de vraag die de ronde echt beslist. Bereid het tweede antwoord voor, niet alleen het eerste.
Meer vragenbanken per rol en onderwerp zijn verzameld onder sollicitatievragen per rol.
Hoe oefen je dit hardop?
Deze lijst lezen geeft een gevoel van herkenning, en dat gevoel verdwijnt zodra een vreemde de vraag stelt en wacht. De kloof tussen een patroon kennen en het onder lichte druk uitleggen is de hele moeilijkheid van een system-design-ronde, en die sluit zich alleen door te spreken.
Kies één flow die je goed kent, een orderplaatsing of een aanmelding, en vertel de volledige decompositie hardop: de grens, de communicatiekeuze, het consistentieverhaal, het foutverhaal. Doe dit tot je stopt met zinnen opnieuw beginnen. Je kunt deze prompts uitproberen tegen een AI-interviewer die vervolgvragen stelt en je met je stem laat antwoorden in de mock interview-modus, wat dichter bij de echte situatie ligt dan notities herlezen.
Aaron Cao, oprichter van SubcueAI, bouwde de oefenmodus rond die kloof, niet rond contentlevering. Vragenlijsten zijn overal gratis beschikbaar; wat kandidaten missen zijn herhalingen van het antwoord uitspreken terwijl iemand wacht. Tijdens een echt gesprek kunnen de desktop-app en het Side Panel van de browserextensie gestructureerde prompts tonen terwijl de interviewer spreekt, al wint een ingestudeerde uitleg altijd van een uitleg die je voor het eerst leest. Wat de assistent wel en niet doet, staat beschreven op het productoverzicht.
FAQ
Hoeveel microservices-vragen moet ik voorbereiden?
Moet ik Kubernetes kennen voor een microservices-sollicitatiegesprek?
Wat is de meest voorkomende fout in deze gesprekken?
Worden microservices-vragen gesteld in coderondes of ontwerprondes?
Kan een AI-assistent deze vragen live voor mij beantwoorden?
Gerelateerde vragen
- Wat zijn generative AI-sollicitatievragen en hoe bereid je je erop voor?
- Wat zijn prestatiegerichte sollicitatievragen en hoe bereid je je erop voor?
- Welke vragen worden gesteld in een HireVue-videogesprek?
- Welke Databricks-interviewvragen kan ik verwachten?
- Welke .NET-sollicitatievragen kan ik verwachten?
- Welke sollicitatievragen kan ik als quality engineer verwachten?