A front-end interjú feltörése

A technikai front-end interjúk nehézkesek. Ez tény. Nemcsak a számítástechnika alapjainak megértéséhez, hanem a webes teljesítmény, a rendszerek felépítése és a CSS elrendezés motorjainak megértéséhez is szüksége van.

Bár vannak források odakinn, azt tapasztaltam, hogy csak néhány teljes útmutató van arra, hogy segítsen felkészülni egy front-end interjúra. Ezért úgy döntöttem, hogy írok egy témát témakörönként, amely remélhetőleg segít a következő interjú elkészítésében.

Az interjú előtt

Tehát az interjú előtt kérdezze meg toborzóját az interjú formátumával. Egyes interjúk egy tábla körül foroghatnak, míg mások online szövegszerkesztőt, például a CoderPad-et. Fontos tudni, hogy gyakorolhasson abban a környezetben, amelyben az interjúja zajlik.

Ezenkívül kérdezze meg toborzójától, hogy milyen témákra kell összpontosítania a felkészülés során. Ennek oka az, hogy a front-end specifikus kérdések mellett néhány vállalat hagyományos informatikai kérdéseket tesz fel Önnek olyan témákkal kapcsolatban, mint a keresés és az algoritmusok rendezése.

Front-end koncepciók

A HTML és a CSS, a Javascript és a Javascript tervezési minták a legfontosabb fogalmak, amelyeket tesztelni fognak egy interjú során. Menjen végig a listán, és győződjön meg róla, hogy jól érzi magát az egyes témákban.

A HTML és a CSS olyan, mint a front-end fejlesztés kenyere. Az interjúk során nagy valószínűséggel kérdéseket tesznek fel a HTML és a CSS árnyalataival kapcsolatban. Legyen kész arra, hogy felkérést kapjon egy makett alapján egy elrendezés kódolására.

Abban az esetben, ha HTML és CSS frissítésre van szüksége, íme néhány alapkoncepció, amelyet át kell néznie.

  • CSS animációk
  • CSS-írások
  • Álórák
  • Rácsrendszerek
  • Szemantikus jelölés

Ezen fogalmakon túl ismerjen olyan CSS-előfeldolgozókat, mint a SASS vagy a LESS, és azok előnyeit. Ismerje az olyan CSS elnevezési konvenciókat is, mint a BEM és az OOCSS.

Egy másik fontos szempont, hogy az interjúztatók olyan jelölteket keresnek, akik a CSS legjobb gyakorlatait támogatják. Jó hivatkozásként a Medium kezelőfelülete által készített útmutató betekintést nyújt a Medium jelenlegi iterációjába a jelenlegi CSS architektúrájukhoz.

Korábban említettem, hogy néhány kérdező megkéri Önt, hogy készítsen új elrendezést HTML-ben és CSS-ben. Gyakorold ezt egy olyan játszótéren, mint a CodePen. Nézze meg a Dribbble-t, mivel rengeteg egyszerű, de mégis szép mintával rendelkezik, amelyeket jó lenne újrateremteni.

Végül front-endként annyira megszoktuk, hogy változtatásokat hajtunk végre a szerkesztőnkben, majd ellenőrizzük a böngészőnkben bekövetkezett változásokat. Az interjúk során gyakran nem lesz ilyen luxus. Amikor interjúra készül, próbálkozzon az elrendezés nagy részének kódolásával, anélkül, hogy a végéig megnézné az eredményt.

Ha a HTML és a CSS a kezelőfelület fejlesztésének kenyere, akkor a Javascript a kés. Az interjú során a vállalatok jó sok időt töltenek a Javascript-ismeretek tesztelésével. Sok kérdés a következő fogalmak körül fog forogni.

  • Prototípusos öröklés
  • Hatókör
  • Zárások
  • Az esemény hurok
  • Az esemény pezseg
  • Alkalmazás, hívás és kötés
  • Visszahívások és ígéretek
  • Változtatható és funkciós emelés
  • Curry

Amikor Javascript kérdést kap, derítse ki, hogy ezek közül melyik tesztelés alatt áll, és sokkal könnyebb lesz kitalálni a megfelelő megoldást. Ha magabiztosnak érzi a Javascript képességeit, tesztelje tudását itt, itt és itt.

A Javascript tervezési mintái megismételhető megoldásokat kínálnak a gyakori problémákra. Ez néhány a tervezési minták közül, amelyeket fontos ismerni.

  • Díszítő
  • Gyár
  • Szingli
  • Feltáró modul
  • Homlokzat
  • Megfigyelő
  • MVC, MVP, MVVM

A Javascript tervezési mintáin kívül jó, ha ismeri a Javascript keretrendszerét. Ez nem azt jelenti, hogy az interjú előtt meg kell tanulnia egy másik keretet. Ehelyett tudd meg, mikor és miért használják a front-end csapatok a keretrendszereket. Ezenkívül, ha valami olyasmit kérdez, mint egy React + Flux vagy egy Angular pozíció, akkor előzetesen tekintse át a keretrendszer architektúrájának néhány dokumentációját.

Számítástechnikai fogalmak

Néhány vállalat szoftvermérnököket vesz fel front-end fejlesztők előtt. Ez azt jelenti, hogy ezek a vállalatok elvárják, hogy alaposan megalapozza az olyan témákat, mint a jó szoftvertervezési elvek, a méretezhető kódarchitektúra és a tesztelés.

Ha a toborzó javasolja, hogy vizsgálja felül az adatstruktúrákkal és algoritmusokkal kapcsolatos ismereteit, akkor ez a szakasz az Ön számára készült. Egyébként nyugodtan hagyja ki ezt a részt. Ha nincs informatikai háttere, az rendben van. Ezeknek a fogalmaknak a tanulása meglehetősen egyszerű.

Ezek azok az alapvető adatstruktúrák, amelyeket javasolnék, hogy ismerje a feje tetejét. Ne csak olvasson róluk, szánjon időt arra, hogy a Javascriptben is megvalósítsa őket. Ha még nem ismeri az egység tesztelését, teszteléséhez tesztelje adatstruktúráját egy olyan könyvtárral, mint a Mocha.

  • Összekapcsolt listák
  • Hashtables
  • Verem és sorban állás
  • Fák (bináris fák és kupacok)
  • Grafikonok

Megjegyzés: A grafikonoknál azt is tudd, hogyan kell végrehajtani a mélység és a szélesség első kereséseit.

Ezen adatstruktúrák megvalósításához tekintse meg a SanFoundry webhelyet. Valamennyi példájuk Java-ban található, de a Javascript-ben való újbóli megvalósítás nagyon egyszerű.

Miután magabiztosnak érzi magát az adatstruktúrák iránt, áttérhet a rendezésre. Menjen végig a listán, hajtsa végre őket Javascriptben, majd jegyezze fel az idő és a tér összetettségét.

  • Bináris keresés
  • Buborékfajta
  • Beszúrás rendezése
  • Egyesítés rendezése
  • Gyors rendezés
  • Válogatás rendezése

Az adatstruktúrák és algoritmusok áttekintése után tesztelje tudását a Leetcode és ezek a Javascript technikai kérdések segítségével.

Csomagolás

Tudom, hogy sok anyagot kell bevinni, különösen, ha még nem ismered a front-end fejlesztést. Időben kezdje meg az interjúra való felkészülést, így kényelmes ütemben mozoghat.

Ne felejtsük el, hogy az interjúk nem számítanak Önnek mint programozónak. Vannak, akik jók az interjúkon, mások nem. Néha kattint a kérdezőjével, máskor nem.

Ha bármilyen kérdése van, hagyjon nyugodtan jegyzetet vagy tweeteljen nekem. Azt is szeretem tudni, hogy az interjú élmény ment. Sok szerencsét!

PS Ha tetszett ez a cikk, sokat jelentene, ha megnyomná az ajánlás gombot, vagy megosztaná ismerőseivel.

Ha még többet akarsz, követhetsz a Twitteren, ahol nem érzéki tévedéseket teszek közzé a tervezésről, a front-end fejlesztésről, a botokról és a gépi tanulásról.