JavaScript állásinterjú kérdések, amelyekre számíthatsz
Szerző: Aaron Cao · Frissítve

Számíts az alapokra: closures, event loop, this binding, prototípusok, és scoping var, let és const használatával. Utána olyan kódolási feladatok, mint a debounce implementálása, egy array lapítása, vagy egy promise segédfüggvény megírása, plusz böngészős témák, mint az event delegation. A senior körök async mintákat és teljesítményt is hozzáadnak.
Melyik JavaScript alapokat kérdezik a leggyakrabban?
A JavaScripthez tartozó kérdéslista végtelennek tűnik, és a véletlenszerű kérdések végigrágása a leglassabb módja annak, hogy átjuss rajta. Ez a rész leszűkíti azokra a fogalmakra, amelyekhez az interjúztatók szinte minden körben visszatérnek, így a gyakorlásod a valós eloszlást célozza. Öt téma adja a körök nagy részét:
- Closures: mit rögzít egy függvény, a klasszikus loop-változó hiba, és miért működnek a module minták.
- Event loop: call stack, task queue és microtask queue, és milyen sorrendben íródnak ki a logok egy vegyes példában.
- this binding: alapértelmezett, implicit, explicit call-lal és apply-jal, és miben különböznek az arrow function-ök.
- Prototípusok: a property keresés a chain mentén, és mivé fordul le a class szintaxis.
- Scoping: var a let és const mellett, hoisting, és a temporal dead zone.
Az egyenlőségi kényszerítés == kontra === között, a truthiness, és az olyan array metódusok, mint a map, filter és reduce, kerekítik ki a screening szintet. Ha a fenti pontok mindegyikét egy percnél rövidebb idő alatt hangosan el tudod magyarázni, az alapokról szóló kör kitart.
Milyen kódolási feladatokat érdemes gyakorolni?
A koncepcionális kérdéseken túl a legtöbb JavaScript kör tartalmaz egy rövid, élőben elvégzett implementációs feladatot. Az ismétlődő készlet kicsi, és érdemes addig gyakorolni, amíg mindegyik percekbe kerül, nem több próbálkozásba:
- Implementálj
debounce-t ésthrottle-t, és mondd el, mikor melyik illik. - Lapíts ki egy beágyazott array-t rekurzióval és anélkül is.
- Írj egy egyszerűsített
Promise.all-t, amely az első hibánál reject-el. - Építs egy kis event emittert on-nal, off-fal és emittel.
- Készíts deep clone-t egy objectből, és nevezd meg azokat az eseteket, amelyeket a verziód kihagy.
Egy front-end jelölt, aki egy mid-level pozícióra interjúzik, például bemelegítésként megkaphatja a debounce-ot, majd megkérik, hogy kösse egy keresőmezőhöz, és magyarázza el, mi történik a még futó requestekkel. A follow-up kérdés az igazi próba; az interjúztatók kibővítik a feladatot, hogy lássák, hol ér véget a nyelvről alkotott mentális modelled.
Az, hogy ezt hangosan gyakorlod egy tovább kérdező interjúztatóval szemben, teszi maradandóvá; a mock interview oldal leírja, hogyan vezess időzített, follow-up kérdésekkel tarkított sessiont.
Milyenek a böngészős és async kérdések?
A böngészőre fókuszáló szerepek egy réteget adnak a nyelvi alapok fölé. Az event delegation a horgony: miért győz egy listener a parent-en ezer listener felett a children-en, hogyan teszi ezt lehetővé a bubbling, és mikor számít a capture phase. A DOM-frissítések batching-je, a layout thrash, és ami reflow-t vált ki, teljesítmény-témájú körökben jelenik meg.
Az async kérdések egy szabványos formára konvergáltak: egy kódrészlet, amely setTimeout-ot, promise láncokat, és async függvényeket kever, ahol az output sorrendjét kell megjósolnod. A válasz a microtask és macrotask sorrendjétől függ, és az interjúztatókat jobban érdekli a miért, mint maga a sorrend. A hibakezelés az await határai mentén, a promise chaining a nesting mellett, és a requestek versenyeztetése Promise.race-szel egészíti ki a készletet.
Hogy ezek a körök hogyan térnek el a coding, behavioral és system design formátumok között, azt az interjútípusok központja tárgyalja.
Hogyan gyakorolj, hogy ez átvigyen a valódi körre?
A válaszok olvasása produktívnak tűnik, de szinte semmit sem visz át. A kör beszélt, időzített, és interaktív, tehát a gyakorlásodnak is annak kell lennie. Tarts mock sessiont, amelyben hangosan elmeséled, miközben gépelsz, follow-up kérdésekkel szakítanak félbe, és az órával versenyzel; ez a nyomás teszi automatikussá a felidézést. A szerepspecifikus készletek más nyelvekhez és stackekhez a kérdésbankok központjában találhatók.
Egy őszinte megjegyzés: a valódi JavaScript körök általában egy megosztott editorban zajlanak, a képernyőd látható, és a felügyelt értékelések rögzítik ezt. Egy asszisztens a felkészülésre és gyakorlásra való ezen kívül, nem az élőben megosztott képernyőhöz. Ahol az élő segítség jogos, meg nem osztott telefonos screeningek vagy a saját felkészülési sessionjeid alatt, a SubcueAI overlay-je helyi marad az eszközödön, és semmilyen bot nem csatlakozik a híváshoz.