Sollicitatievragen over Microservices

Door Aaron Cao · Bijgewerkt op

Sollicitatievragen over Microservices
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.

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- en repository-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?

Eén flow diepgaand voorbereiden verslaat het uit het hoofd leren van dertig vragen. Als je een enkel systeem kunt decomponeren, de communicatiekeuze kunt verdedigen, het consistentiemodel kunt uitleggen en kunt beschrijven wat breekt bij gedeeltelijke storing, kun je de meeste varianten beantwoorden die een panel stelt.

Moet ik Kubernetes kennen voor een microservices-sollicitatiegesprek?

Voor de meeste backendrollen moet je uitleggen wat deployment en scaling moeten bieden, niet een cluster beheren. Platform- en SRE-rollen zijn anders en gaan wel dieper in op orkestratie, service mesh en rollout-strategie.

Wat is de meest voorkomende fout in deze gesprekken?

Opsplitsen langs technische lagen in plaats van businesscapaciteiten, wat services oplevert die samen moeten worden uitgerold. De op één na meest voorkomende fout is een saga beschrijven zonder ooit te zeggen dat het systeem eventually consistent wordt.

Worden microservices-vragen gesteld in coderondes of ontwerprondes?

Meestal in ontwerprondes en de senior gedragsronde, waar interviewers vragen naar een systeem dat je hebt beheerd. Coderondes blijven bij algoritmen en taalvaardigheid, al kan een take-home-opdracht vragen om één service aan een bestaande set toe te voegen.

Kan een AI-assistent deze vragen live voor mij beantwoorden?

Hij kan structuur tonen terwijl de interviewer spreekt, en dat helpt vooral als je de stof al beheerst. Het vervangt geen oefening, en schermdelen, opgenomen sessies, geproctorde tests en door bedrijven beheerde laptops blijven allemaal buiten bereik.

Gerelateerde vragen

← Meer over Sollicitatievragen per functie & onderwerp