ITHub

Hogyan hozzuk ki magunkból a maximumot a szakmai interjún? 1. rész - Kódolás a táblánál

Hogyan hozzuk ki magunkból a maximumot a szakmai interjún? 1. rész - Kódolás a táblánál
Kóbor Ádám
Kóbor Ádám
| ~4 perc olvasás

Többször írtunk már a szakmai interjúkról, azok létjogosultságáról, de konkrét tanácsokat eddig még nem adtunk a témában. Bill Sourour remek írásai alapján most segítünk nektek, hogy a programozási feladat ne feltétlenül egy gyomorideggel járó kötelező kör legyen a felvételi folyamatban.

coding interview

Azzal nyilván nem mondunk nagy újdonságot, hogy a fejlesztők nagy része a háta közepére kívánja az ad hoc programozási feladatokat az interjúkon (a házi feladatként kapott kidolgozós projekt már más tészta, ez a bejegyzés viszont most nem ezekről szól), de fintorgás ide vagy oda, ez a trend nem fog egyik pillanatról a másikra változni. Persze az a cég, aki csak és kizárólag egy ilyen feladat megoldására hegyezi ki a felvételi folyamatot, nem biztos, hogy szakmailag jó választás, ha viszont helyén kezeli az itt tapasztaltakat, akkor valóban hasznos információkkal lesz gazdagabb egy-egy jelölt kapcsán. Sőt, ha pályázóként konstruktívan nézzük a dolgot, akkor mi is megtudhatunk apró, de annál fontosabb részleteket arról, hogy milyen technológiai szemlélet uralkodik az adott munkáltatónál, és egyáltalán akarunk-e ennek a miliőnek a részesei lenni a jövőben.

Az első részben a számítógép nélküli, jellemzően táblánál történő kódolásról, és az interjúk visszatérő klasszikusairól, az algoritmusokról ejtünk néhány szót.

besenyő pista bácsi programozás

Nyilvánvaló, hogy a whiteboardon még elég bugos az automatikus kódkiegészítés, és a táblafilcek kupakjának dörzsélgetésére sem hívódik meg a Google kereső API-ja, ezzel megoldást adva az éppen gondot okozó problémára, de van egy jó hírünk. Az interjúztatók sem arra kíváncsiak ilyenkor, hogy mennyire vágja valaki az adott nyelv szintaxisát, vagy betéve tudja-e az összes jó gyakorlatot egy adott keretrendszerben (ha mégis, akkor valószínűleg nem ez álmaid munkahelye).
Ezt nagyon fontos szem előtt tartanod, ha ugyanis arra koncentrálsz, hogy minél gyorsabban, csendesebben, és észrevétlenebbül felvéss egy hibátlan kódrészletet a táblára, akkor a hátralevő feladatokon elég nagy hátrányból indulsz. A lényeg ugyanis az, hogy hogyan jutsz el erre a megoldásra, és mi zajlik közben a fejedben.

Fogalmazd meg a feltevéseidet, és bocsásd őket vitára!

Egy jó szakember tudja, hogy a legtöbb bug egy hibás feltételezés eredménye. Ezért mielőtt nekilátnál ész nélkül írni valamit a táblára, fogalmazd meg a probléma megoldásával kapcsolatos feltételezéseidet, és bizonyosodj meg róla, hogy azok helyesek. Ha egy másik feladatra adsz megoldást, az eleve nem lehet helyes, ezt tartsd szem előtt!

Gondolkodj hangosan!

Ahogy fentebb is olvashattad, sokkal fontosabb, hogy hogyan jutsz el a megoldáshoz, mint maga a megoldás. Pont ezért jó, ha hangosan gondolkodsz, miközben a feladaton dolgozol, így egy kicsit betekintést engedsz abba, ahogy az agyad működik a munka során.

Ne félj kérdezni!

Lásd még két ponttal feljebb. Ha elakadsz valahol, kérj segítséget, ezzel nem a felkészületlenségedről, hanem a konstruktivitásodról teszel tanúbizonyságot. Sokkal rosszabb az olyan szakember, aki elhiteti magáról, hogy mindenhez ért és mindenre képes, egy rizikós projekt végén viszont kiderül, hogy szépen csendben és büszkén kudarcot vallott már féltávnál, mert nem kért segítséget senkitől sem.

Légy őszinte a képességeidet illetően!

Kérdezni és hangosan gondolkodni ugyan nem szégyen, de ha valaki átesik a ló túloldára ezekkel, az természetesen rossz pont. Ha pl. egy adott kompetenciáról az önéletrajzodban vagy a korábbi beszélgetések valamelyikében nagy magabiztossággal állítottad, hogy birtokában vagy, akkor rosszul veszi ki magát, ha a táblánál derül ki ennek ellenkezője. Légy őszinte ezekkel kapcsolatban, abból még sosem volt baj!

Na és mi a helyzet az algoritmusokkal?

Azt kérni, hogy valaki egy ismert algoritmust írjon fel a táblára az interjún, meglehetősen felesleges. Az vitathatatlan, hogy fontos tisztában lenned fejlesztőként ezekkel — erről mi is írtunk korábban, de nem arról van szó, hogy betéve tudni kellene mindegyiket egy jó szakembernek. Sokkal fontosabb, hogy tudd megfelelően alkalmazni őket, ha a szükség úgy hozza. Amennyiben egy interjún a bemagolós verziót várják el, és nem tudsz pontos választ adni, akkor nyugodtan fejtsd ki a véleményedet ennek megfelelően a kérdés feleslegességéről. Ugyanakkor hangsúlyozzuk, hogy magukat az algoritmusokat ismerned kell, és sose késő felkészülni belőlük, itt találsz pl. egy ingyenes kurzust a témában.

Cikkünk második felében a számítógéppel megoldandó feladatokról ejtünk majd szót. Addig is, ha találkoztatok meghökkentő feladatokkal az interjúitokon, várjuk őket kommentben!