Főoldal

"Mérnököt a mérnöktől"

A Schönherz Bázis összeköti az állást kereső és állást kínáló mérnököket.

CV küldés

Küldj önéletrajzot! Gyorsan, egyszerűen.
Megjegyzésbe írd be a pozíció nevét.
CV küldés

Iratkozz fel hírlevelünkre!

Hírek

Coding interview – az egyetlen dolog, ami közted és az álommunkád között áll
Coding interview – az egyetlen dolog, ami közted és az álommunkád között áll

Egy recruiter felhív egy pozícióval álmaid cégénél. Nagyon izgatott leszel, és érdeklődsz a felvételi folyamatuk iránt. Azt a választ kapod, hogy „semmi különös, öt coding kör lesz a senior tech csapattal, csak a szokásos táblánál kódolás. Ennek hallatára nyilvánvaló hazugságokkal ecseteled, hogy mennyire szereted a jelenlegi munkádat, és majd talán később megpróbálod.”



Ha ismerős a szituáció, akkor folytasd az olvasást!


Rengeteg okos, találékony, megbízható és sok függőség ellenére is jól boldoguló szoftverfejlesztővel találkoztam már. De a táblánál kódolós interjúknak csak a gondolata félelemmel tölti el őket. Ezen emberek többsége azt hiszi, hogy sosem tudnának átmenni egy ilyen interjún, és ez csak a zseniknek van, akik 12 éves koruk óta versenyszerűen programoznak. Távolabb nem is állhatnának az igazságtól. Ezeket a tévhiteket szeretném most eloszlatni, és egy utat mutatni ezen interjúk sikeréhez.



Miért?


Először is meg kell értenünk, hogy a cégek miért alkalmazzák ezt a típusú felvételi eljárást.


  • Erős szűrő, hogy jó alkalmazottakat szerezzenek – Két típusú ember van, akinek sikerülnek ezek az interjúk. Az első típus a rendkívül okos emberek, akiknek nem kell felkészülniük, és kisujjból teljesítik. A második típus, akik időt fektetnek a felkészülésre, gyakorolják az adatszerkezeteket és az algoritmusokat, és így mennek át az interjún. Az előbbi egy jó képességekkel megáldott valaki, az utóbbi pedig egy olyan, aki kitartással képes elvégezni a munkát, és ezek mindegyike jó alkalmazottat eredményez.
  • Egyértelmű jelzések – A tudás alapú interjúk híresek arról, hogy kétértelmű jeleket szolgáltatnak. Nagyon nehéz a jelöltet az alapján megítélni, hogy mennyit tud egy technológia homályos funkcióiról. De egy coding interjú során 1 óra alatt tiszta képet kapsz az egyénről. Az itt nyújtott teljesítménye alapján könnyen el tudod dönteni, hogy fel akarod-e venni, vagy sem.
  • Jelzi a képességeket – A legtöbb ilyen interjút folytató cégnek olyan emberekre van szüksége, akik bármilyen technológiával képesek dolgozni az élvonalbeli problémákon. Egy objektív módszerre van szükségük, hogy meghatározzák a jelölt képességeit a csillogó önéletrajzuktól függetlenül (mert a legtöbb ilyen helyekre jelentkező embernek csillogó önéletrajza van). A coding interjúk a problémamegoldási képességeket tesztelik, mely vitathatatlanul jelzi, hogyan boldogulna az új problémákkal.
  • Tapasztalattól független – Bármilyen tapasztalati szinttel rendelkező ember meg tudja próbálni. Bárkitől, aki ilyen céghez csatlakozik, elvárnak egy bizonyos szintű gyakorlati ismeretet az adatstruktúrák és algoritmusok terén, így használható a jelölt szintjének objektív felmérésére.



Hogyan?


Nézzük, hogyan állj neki a felkészülésnek.


Válassz egy nyelvet



Maga a választott nyelv nem számít! Amíg te kényelmesen kódolsz az adott nyelven, és támogatja az adatstruktúrákat és az algoritmusokat (STL, Collections), addig minden rendben.


A legnagyobb hiba, amit az embereknél látok, hogy egy fancy nyelvet választanak az interjúztató lenyűgözésére, majd küzdenek az implementációval. Ez olyan, mintha a saját sírodat ásnád. Az egyetlen dolog, ami számít, hogy hogyan tudsz megvalósítani egy megoldást az általad választott nyelven, nem a nyelv csillogása.



Használd ki a választott nyelvet


Otthonosan kell mozognod a beépített adatstruktúrák és algoritmusok kezelése során. Ez lehet STL, Collections, vagy bármi más. A lényeg, hogy a teljes ismeretük lehetővé teszi, hogy a probléma megoldására koncentrálj a megfelelő konstrukciók kiválasztásával és használatával, és gyorsan kódolj az interjún.



Idősáv: 1 hét.


Ismerkedj meg az elmélettel


Csak körülbelül egy maroknyi dolog az, amit tudnod kell az interjúkon.


  • Adatstruktúrák – tömb, verem, queue, láncolt lista, hash, gráf
  • Algoritmusok – keresés, rendezés, szélességi- és mélységi bejárás, topologikus rendezés



Amiket meg kell értened, azok a különböző implementációk, idő – és helykomplexitások, és hogy mikor használd őket és mikor ne. Erre a célra erősen javaslom a „The algorithm design manual”-t.



Idősáv: 2-3 hét, előzetes tapasztalattól függően.


Ne ugord át az idő- és térbeli komplexitásokat! Ezek a legnagyobb elvárások egy coding interjú során. Elvárják tőled, hogy megvizsgáld és fontolgasd a különböző implementációk közti kompromisszumokat, és ehhez értened kell a komplexitásokat.


Szerezz gyakorlati tapasztalatot!


Most, hogy már rendelkezel egy biztos alappal az adatstruktúrák és algoritmusok terén, belevetheted magad a problémamegoldásba. Erre a célra használhatod a Leetcode és az InterviewBit felületét. Mindkettő lehetővé teszi típus szerint csoportosított problémák megoldását, mindezt széles skálán. Ne a minőségre, hanem a mennyiségre koncentrálj! Próbáld meg saját kútfőből megoldani őket, és ha mintát fedezel fel közben, jegyezd le, és később ezeket is felhasználhatod. Ha inkább könyvet szeretnél használni, akkor a Cracking the code interview-t, vagy a Data structures and algorithms made easy-t tudom javasolni.



Idősáv: 8-12 hét.


A legrosszabb dolog amit itt tehetsz, hogy megpróbálsz utánaolvasni a problémának, ha elakadsz. Akármennyire csábító, próbáld meg elkerülni. Csak akkor folyamodj ehhez ha már több, mint két órája próbálkozol. Ugyan eltölt az elégedettségérzés, hogy tanultál valami újat, de a valóságban nem fogod tudni megoldani a problémát, ha máshol belefutsz.



Álinterjúk


Ha megfelelően követted a fenti lépéseket, akkor mostanra ismerős lenne a problémák nagy része, és meg is tudnád a legtöbbet oldani. De bármit is csináltál eddig, az interjúkörnyezet teljesen más. Azzal is meg kell ismerkedni, szóval próbálj meg álinterjúkon gyakorolni. A Pramp például biztosít ingyenes álinterjúkat egy másik féllel. Ha szeretnél egy álinterjút szakmabeli és részletes visszajelzéssel, akkor vedd fel a kapcsolatot.



Ez tulajdonképpen egy lépésről lépésre lebontott recept az interjúk teljesítéséhez. Ugyanezt az utat követtem, és az általam ismert legtöbb ember is. Egyszerűen kemény munka, semmi köze az előzetes tudáshoz vagy okossághoz.


Következő lépések


Különböző témákat feldolgozó cikksorozatot tervezek írni a közeljövőben, az olyan dolgokról, mint a verem, queue, fák, stb., külön-külön, és mindegyikben feldolgozni az ahhoz kapcsolódó problémákat. Ha érdekel, kövess be, hogy mihamarabb értesítést kapj róla, ha kijön a cikk.


(Forrás)

***
Ha Te is kreatív, kihívásokkal teli mérnök állást keresel minoségi munkáltatónál, jó helyen jársz, mert a Schönherz Bázis épp azért jött létre, hogy Neked segítsen.
Gyere, nézz szét aktuális állásaink között!


2019.07.26