Mikroszolgáltatás Állásinterjú Kérdések

Szerző: Aaron Cao · Frissítve

Mikroszolgáltatás Állásinterjú Kérdések
A mikroszolgáltatásos interjúk a szolgáltatáshatárokat, a kommunikációs döntéseket, az adatkonzisztenciát és a hibakezelést tesztelik, nem a framework-apróságokat. Számíts arra, hogy egy monolitot kell szétbontanod, szinkron hívásokat kell megvédened aszinkron üzenetküldéssel szemben, el kell magyaráznod, hogyan tartod helyesen az adatokat szolgáltatások között, és végig kell követned egy kérést az elejétől a végéig.

A mikroszolgáltatásos interjúk a szolgáltatáshatárokat, a kommunikációs döntéseket, az adatkonzisztenciát és a hibakezelést tesztelik, nem a framework-apróságokat. Számíts arra, hogy egy monolitot kell szétbontanod, szinkron hívásokat kell megvédened aszinkron üzenetküldéssel szemben, el kell magyaráznod, hogyan tartod helyesen az adatokat szolgáltatások között, és végig kell követned egy kérést az elejétől a végéig.

Mit tesztelnek valójában a mikroszolgáltatásos interjúk?

Elolvastad a minták neveit, fel tudod mondani, mit csinál egy circuit breaker, mégsem tudod, mit figyel egy interjúbizottság. Ez a rész megnevezi azt a négy területet, amit az interjúztatók értékelnek, abban a sorrendben, ahogyan általában feltárják őket. Mindegyik egy szókincskérdésnek álcázott ítélőképesség-kérdés.

  • Dekompozíció. Hol vágsz, és miért éppen ott? Az interjúztatók olyan határt akarnak, amit üzleti képesség vagy adattulajdonlás mentén húztak, nem technikai rétegek mentén.
  • Kommunikáció. Szinkron kérés/válasz vagy aszinkron eventek, és mi romlik el mindegyiknél. A kívánt válasz egy kompromisszum, nem egy preferencia.
  • Adat. Egy adatbázis szolgáltatásonként azt jelenti, hogy nincs cross-service join és nincs elosztott tranzakció. Hogyan tartod mégis helyesen a rendszert?
  • Üzemeltetés. Deployment, verziózás, tracing, és mi történik hajnali háromkor, amikor egy szolgáltatás lassú, nem pedig leállt.

Vedd észre, hogy ezek közül semmi nem a framework-ről szól. Az a jelölt, aki elmagyarázza, miért választotta szét a checkoutot az inventorytól, mindig magasabb pontszámot kap, mint aki csak felsorolja az annotációkat.

Mely dekompozíciós és kommunikációs kérdések fordulnak elő leggyakrabban?

Ezek azok a kérdések, amelyekkel a legtöbb mikroszolgáltatásos kör kezdődik, valamint hogy az interjúztató mit ellenőriz valójában mindegyik mögött.

  • Hogyan bontanád szét ezt a monolitot szolgáltatásokra? Ellenőrzi, hogy üzleti képességek és adattulajdonlás mentén vágsz-e, vagy a controller, service és repository rétegek mentén. A második válasz elosztott monolitot eredményez.
  • Hogyan kommunikál egymással két szolgáltatás? Ellenőrzi, hogy meg tudod-e nevezni minden választás árát: a szinkron hívások egyszerű mentális modellt adnak, de összekapcsolják a rendelkezésre állást, az aszinkron eventek szétválasztják a rendelkezésre állást és eventual consistency-t adnak, amit el kell magyaráznod egy product ownernek.
  • Mi az az elosztott monolit, és hogyan kerülhető el? Ellenőrzi, tudod-e, hogy azok a szolgáltatások, amelyeket együtt kell telepíteni, valójában nem különállók.
  • Mekkorának kell lennie egy szolgáltatásnak? Ellenőrzi, hogy ellenállsz-e egy számnak. A méret a határt és az azt birtokló csapatot követi.
  • Szükséged van API gatewayre, és mit csinál az? Ellenőrzi, hogy el tudod-e választani a routingot, az authentikációt és a rate limitinget az üzleti logikától.
  • Hogyan találják meg egymást a szolgáltatások? Ellenőrzi az alapvető ismereteket a service discoveryről és hogy miért hibáznak a hardcode-olt hostok egy skálázott környezetben.

Mondd ki hangosan a kompromisszumot minden válaszban. Egy bizottság nem tud pontot adni egy olyan összehasonlításért, amit némán, a fejedben végeztél el.

Hogyan válaszolj az adat- és hibakérdésekre?

Itt nyerik vagy veszítik el az interjúkat, mert ezeknek a kérdéseknek nincs tiszta válaszuk, és a jelöltek egy bemagolt válaszhoz nyúlnak.

  • Hogyan tartod konzisztensnek az adatokat szolgáltatások között? Először nevezd meg a korlátot: nincs cross-service tranzakció. Aztán írj le egy sagát, amit vagy eventeken keresztül koreografálnak, vagy egy koordinátor orkesztrál, és mondd ki egyértelműen, hogy a rendszer eventually consistent, és mit lát a felhasználó abban az intervallumban.
  • Mi történik, ha egy downstream szolgáltatás lassú? Timeoutok, retryk backoffal, és egy circuit breaker, hogy egy lassú függőség ne merítse ki a thread poolodat. A lassú rosszabb, mint a leállt, és ennek kimondása production tapasztalatot jelez.
  • Hogyan teszel biztonságossá egy retryt? Idempotency. Egy idempotency key az írási úton, hogy egy megismételt fizetés csak egyszer terhelődjön meg.
  • Hogyan kezelsz egy részleges hibát egy többlépéses folyamatban? Kompenzáló műveletek, nem rollback. Magyarázd el, hogyan néz ki egy visszatérítés vagy egy foglalás felszabadítása.
  • Hogyan debugolsz egy kérést, ami hat szolgáltatást érintett? Distributed tracing egy correlation IDvel, ami minden hopon átterjed, plusz strukturált logok és metrikák.

Egy backend mérnök, aki egy platform L5 szerepre interjúzott egy publikus felhőszolgáltatónál, megkapta a saga kérdést, és egy menetben válaszolt rá, minta-szókinccsel, anélkül, hogy egyszer is megemlítette volna, mit látna az ügyfél. A követő kérdés, hogy mit mutat a rendelési oldal az inkonzisztens ablak alatt, az a kérdés, ami valójában eldönti a kört. Készítsd fel a második választ, ne csak az elsőt.

Több kérdésbank szerep és téma szerint a szerep szerinti interjúkérdések alatt található.

Hogyan gyakorold ezt hangosan?

Ennek a listának az olvasása felismerés érzetét kelti, és ez az érzet eltűnik, amint egy idegen felteszi a kérdést és vár. A szakadék a minta ismerete és annak enyhe nyomás alatti elmagyarázása között a system design kör teljes nehézsége, és csak beszéléssel zárható be.

Válassz egy folyamatot, amit jól ismersz, egy rendelés leadását vagy egy regisztrációt, és mondd el hangosan a teljes dekompozíciót: a határt, a kommunikációs választást, a konzisztencia-történetet, a hiba-történetet. Csináld addig, amíg abba nem hagyod a mondatok újrakezdését. Ezeket a promptokat kipróbálhatod egy AI interjúztatóval szemben, aki követő kérdéseket tesz fel, és hagyja, hogy hanggal válaszolj a próbainterjú módban, ami sokkal közelebb áll a valósághoz, mint a jegyzetek újraolvasása.

Aaron Cao, a SubcueAI alapítója, ez köré a szakadék köré építette a gyakorlási módot, nem a tartalom kiszolgálása köré. A kérdéslisták mindenhol szabadon elérhetők; ami hiányzik a jelölteknek, az a válasz kimondásának ismétlései, miközben valaki vár. Egy valódi interjú alatt a desktop alkalmazás és a böngészőbővítmény Side Panelje strukturált promptokat jeleníthet meg, miközben az interjúztató beszél, bár egy begyakorolt magyarázat mindig legyőz egy olyat, amit először olvasol. Hogy az asszisztens mit csinál és mit nem, azt a termékáttekintés írja le.

GYIK

Hány mikroszolgáltatásos kérdést kell felkészülnöm?

Egy folyamat mélyreható felkészítése jobb, mint harminc kérdés bemagolása. Ha egy rendszert szét tudsz bontani, meg tudod védeni a kommunikációs választást, el tudod magyarázni a konzisztencia-modellt, és le tudod írni, mi romlik el részleges hibánál, akkor a legtöbb variánsra tudsz válaszolni, amit egy bizottság kérdez.

Kell ismernem a Kubernetest egy mikroszolgáltatásos interjúhoz?

A legtöbb backend szerephez el kell magyaráznod, mit kell biztosítania a deploymentnek és a skálázásnak, nem pedig egy clustert kell üzemeltetned. A platform és SRE szerepek mások, és valóban mélyebbre mennek az orchestrationbe, a service meshbe és a rollout stratégiába.

Mi a leggyakoribb hiba ezekben az interjúkban?

A technikai rétegek mentén osztani fel üzleti képességek helyett, ami olyan szolgáltatásokat eredményez, amelyeket együtt kell telepíteni. A második leggyakoribb egy saga leírása anélkül, hogy egyszer is kimondanád, hogy a rendszer eventually consistent lesz.

A mikroszolgáltatásos kérdéseket kódolási vagy design körökben teszik fel?

Leginkább design körökben és a senior viselkedési körben, ahol az interjúztatók egy olyan rendszerről kérdeznek, amit birtokoltál. A kódolási körök algoritmusoknál és nyelvi jártasságnál maradnak, bár egy take-home feladat kérheti, hogy adj hozzá egy szolgáltatást egy meglévő halmazhoz.

Válaszolhat egy AI asszisztens élőben ezekre a kérdésekre helyettem?

Meg tudja mutatni a struktúrát, miközben az interjúztató beszél, és ez akkor segít a legtöbbet, ha már ismered az anyagot. Nem helyettesíti a gyakorlást, és a képernyőmegosztás, a rögzített ülések, a felügyelt tesztek és a céges kezelésű laptopok mind kívül maradnak a hatókörön.

Kapcsolódó kérdések

← Több erről: Interjúkérdések szerep és téma szerint