Esiintervjuu lõhki löömine

Tehnilised esiintervjuud on keerulised. See on fakt. Teil pole vaja mitte ainult põhjalikult mõista arvutiteaduse põhialuseid, vaid ka mõista veebi jõudlust, ehitada süsteeme ja CSS-i paigutusmootoreid.

Kuigi seal on ressursse, leidsin, et esiotsa intervjuuks valmistumiseks on olemas vaid mõned täielikud juhendid. Nii otsustasin kirjutada teema teema järgi, mis loodetavasti aitab teil järgmisel intervjuul ässa astuda.

Enne intervjuud

Nii et enne intervjuud küsige värbajalt intervjuu formaat. Mõni intervjuu võib keerelda tahvli ümber, teine ​​aga kasutada veebipõhist tekstiredaktorit nagu CoderPad. See on oluline, et saaksite harjutada keskkonnas, kus teie intervjuu toimub.

Samuti küsige värbajalt näpunäiteid, millistel teemadel ettevalmistamisel keskenduda. Selle põhjuseks on asjaolu, et lisaks esiotsa konkreetsele küsimusele esitavad mõned ettevõtted traditsioonilisi arvutiteaduse küsimusi selliste teemade kohta nagu algoritmide otsimine ja sortimine.

Esiosa kontseptsioonid

HTML ja CSS, Javascript ja Javascripti kujundusmustrid on võtmekontseptsioonid, mida teid intervjuu käigus testitakse. Vaadake loendit ja veenduge, et iga teema oleks teile mugav.

HTML ja CSS on nagu esiotsa arendamise leib. Intervjuude ajal esitatakse teile tõenäoliselt küsimusi HTML-i ja CSS-i nüansside kohta. Samuti olge valmis, et teil palutakse maketi põhjal kodeerida paigutus.

Igaks juhuks, kui vajate HTML-i ja CSS-i värskendust, on siin ülevaatamiseks mõned põhimõisted.

  • CSS-i animatsioonid
  • CSS spritid
  • Pseudotunnid
  • Võrgusüsteemid
  • Semantiline märgistus

Lisaks nendele kontseptsioonidele saate teada CSS-i eeltöötlejatest nagu SASS või LESS ja nende eelistest. Tundke ka CSS-i nimetamiskonventsioone nagu BEM ja OOCSS.

Teine oluline punkt on see, et intervjueerijad otsivad kandidaate, kes võitlevad CSS-i parimate tavade eest. Hea viidetena annab see Mediumis asuva kasutajaliidese kirjutatud juhend ülevaate sellest, kuidas Medium kordus nende praeguse CSS-i arhitektuuriga.

Ma mainisin juba varem, et mõned intervjueerijad paluvad teil HTML-i ja CSS-i kujundused uuesti luua. Harjuta seda mänguväljakul nagu CodePen. Vaadake Dribbble'i, kuna sellel on palju lihtsaid, kuid toredaid kujundusi, mida oleks tore taastada.

Lõpuks oleme kasutajaliidesena nii harjunud oma redaktoris muudatusi tegema ja seejärel brauseris muudatusi kontrollima. Intervjuude ajal pole teil seda luksust. Kui olete valmistub oma intervjuus, proovige kood enamiku oma paigutuse ilma vaadates tulemus lõpuni.

Kui HTML ja CSS on esiotsa arendamise leib ja või, siis nuga on Javascript. Ettevõtted veedavad teie intervjuu ajal palju aega, kontrollides teie teadmisi Javascriptist. Paljud küsimused käsitlevad järgmisi mõisteid.

  • Prototüüpne pärand
  • Reguleerimisala
  • Sulgemised
  • Sündmuse silmus
  • Sündmus pulbitseb
  • Rakenda, helista ja seo
  • Tagasihelistamised ja lubadused
  • Muutuv ja funktsionaalne tõstmine
  • Karri

Kui teile antakse Javascripti küsimus, mõelge välja, millise neist kontseptsioonidest teid testitakse, ja õige lahenduse leidmine on palju lihtsam. Kui tunnete end oma Javascripti osavuses kindlalt, proovige oma teadmisi siin, siin ja siin.

Javascripti kujundusmustrid pakuvad teile levinud probleemidele korduvaid lahendusi. Need on mõned disainimustrid, mida on oluline teada.

  • Kaunistaja
  • Tehas
  • Singleton
  • Paljastav moodul
  • Fassaad
  • Vaatleja
  • MVC, MVP, MVVM

Peale Javascripti kujundusmustrite on hea olla tuttav Javascripti raamistikega. See ei ole tähendab, et sa pead minema õppida teise raamistiku enne oma intervjuus. Selle asemel teadke, millal ja miks esiotsa meeskonnad raamistikke kasutavad. Samuti, kui küsitlete midagi sellist nagu React + Flux või Angular position, vaadake eelnevalt osa raamistiku arhitektuuri dokumentatsioonist läbi.

Arvutiteaduse mõisted

Mõned ettevõtted palgavad tarkvarainsenerid enne esiotsa arendajaid. See tähendab, et need ettevõtted ootavad, et oleksite hästi kursis selliste teemadega nagu head tarkvara kujundamise põhimõtted, skaleeritav koodiarhitektuur ja testimine.

Kui teie värbaja soovitab teil üle vaadata oma teadmised andmestruktuuride ja algoritmide kohta, on see jaotis teie jaoks. Vastasel juhul jätke see jaotis vahele. Kui teil pole arvutiteaduse tausta, on see okei. Enamikku neist mõistetest on õppimiseks üsna lihtne mõista.

Need on põhiandmete struktuurid, mida soovitaksin teadma pealaest. Ärge lihtsalt lugege nende kohta, leidke aega ka nende rakendamiseks Javascriptis. Kui te pole üksuste testimisega kursis, testige õppimiseks oma andmestruktuuri sellise raamatukoguga nagu Mocha.

  • Lingitud loendid
  • Hashtables
  • Virnad ja järjekorrad
  • Puud (kahendpuud ja kuhjad)
  • Graafikud

Märkus. Graafide puhul teadke, kuidas rakendada otsingu sügavust ja laiust esimesena.

Nende andmestruktuuride juurutamiseks võite heita pilgu SanFoundryle. Kõik nende näited on Java keeles, kuid JavaScripti uuesti rakendamine on üsna lihtne.

Kui olete andmekonstruktsioonide suhtes kindel, võite liikuda sorteerimisele. Vaadake loend läbi, rakendage need Javascriptis ja märkige seejärel nende aja ja ruumi keerukus.

  • Binaarotsing
  • Mullisort
  • Lisamise sort
  • Ühenda sort
  • Kiire sortimine
  • Valiku sort

Pärast andmestruktuuride ja algoritmide ülevaatamist proovige oma teadmisi Leetcode'i ja nende Javascripti tehniliste küsimustega.

Selle kokku pakkimine

Ma tean, et see on palju materjali, mida võtta, eriti kui olete esiosa arendamise jaoks uus. Alustage intervjuuks ettevalmistamist enne tähtaega, et saaksite liikuda mugavas tempos.

Samuti pidage meeles, et intervjuud ei ole teie kui programmeerija väärtuse mõõdupuu. Mõned inimesed on intervjuudes head, teised mitte. Mõnikord klõpsate koos intervjueerijaga, teinekord mitte.

Kui teil on küsimusi, jätke mulle märkus või piiksuma. Tahaksin ka armastan teada, kuidas teie intervjuu kogemus läks. Edu!

PS Kui teile see artikkel meeldis, tähendaks see palju, kui vajutate soovitamise nuppu või jagate sõpradega.

Kui soovite rohkem, võite mind jälgida Twitteris, kuhu postitan mitte-sensuaalsed rämpsud disaini, esiotsa arendamise, robotite ja masinõppe kohta.