Hogyan nyerjünk az interjú
Legyünk őszinték, a legtöbb programozó nem szeretnek írni a kódot egy interjúban. Néhányan még azzal fenyegetőzött, hogy elhagyja a szakmát emiatt. De a közeljövőben nem fog változni semmi. Tehát, ha szeretné, hogy a munka, meg kell érteni, hogyan lehet sikeres ezen interjúk. Majd én segítek. Megvizsgáljuk a folyamatot, és leírom, hogy mit akarok elérni az interjú, úgyhogy kapsz egy szép világos elképzelése, hogy hogyan adja át.
Mielőtt elkezdené, csak azt akarom mondani, hogy ha a cég mobiraetsya felvenni a fejlesztő csak és kizárólag alapján egy darab kódot, amit írt az interjú során, akkor valószínűleg nem akar dolgozni egy ilyen cég.
Te több, mint egy gép, a kódoláshoz
1. rész: Programozási board
Ki ez a világ minden program a fedélzeten? Sőt, komolyan. Ugyanakkor azt kérem, hogy csináld. Ne aggódj, én nem megőrült. Tudom, a Google és a fedélzeten rosszul megbirkózik automatikus kiegészítésre. Nem érdekel. Megnézem nem, milyen szép kódot írunk a táblára, és még valami.
Ha kapsz egy munkát, akkor soha nem kell programozni a táblán. De garantálom, hogy eljön az az idő, amikor mindannyiunknak lesz puzzle egy probléma csak a határidő lejárta előtt, amikor kimerültek szélén mindannyiunkat dühös, és a tét a mi feladatunk és jó hírnevét. Amikor egy ilyen eljön az ideje, akkor menjen a terem, a pillér mellett a táblák és kitalálni, mit kell tennie. Gyorsan.
„Azt ellenőrizni nem, milyen szép kódot írunk a táblára”
Bár én nem kell egy programozó, aki azt írja, szép kódot a táblára, de kell valaki, aki képes gondolkodni gyorsan útközben, nyomás alatt ugyanabban a szobában a másik. A probléma az, hogy ha nem érti pontosan mit ellenőrizni, hogy minden rossz. Fogsz bizonyítani, hogy te egy igazi ninja programozási fórumon. Ez hülyeség. Senki sem akar egy ninja a programozási fórumon. Itt van, hogy megvert:
1. kimondott feltételezések és próbálja megerősítik
3. Ne félj segítséget kérni
Ha elakad, vagy valami nem tudom, kérdezd. El sem tudja képzelni, milyen fantasztikusan drága költségeit a fejlesztő, aki nem hajlandó segítséget kérni, ha elakadt valahol. Nincs időm egy programozó, aki nem ad eredményt, mert úgy tesz, mintha mindent kézben, és bukdácsol tehetetlenül egyedül.
4. Őszintén megmutatni tudásukat és tapasztalat
2. rész PC programozási
Ezzel szemben a fórumon, ha hívlak benneteket, hogy kérje a számítógép és a kódot írni, én ellenőrizni, hogy milyen jó a programozás. Pontosabban, azt ellenőrizze a képességét, hogy kövesse a szabályokat.
A legjobb, ha megértjük, ha megnézzük a valós példa. Az egyik kedvenc kérdésekre:
Palindrome - egy szám, betű-, szót, vagy szöveget, olvassa ugyanazt mindkét irányban. Megengedett kiigazításáról nagybetűk, írásjelek és terek. Néhány példa az angol: "Egy ember, egy terv, egy csatorna, Panama!", "Amor, Roma", "versenyautó", "verem a macskák", "lépés háziállat nem engedélyezett", "taco macska", „tedd up „” Vajon egy autó vagy egy macska láttam? »és a« Nem »x« Nixon”.
Írja leghatékonyabb funkció, amely megtalálható annak megállapítása érdekében, hogy egy adott string egy palindrome.
A funkció kell, hogy egy string paraméterként, és visszaad egy logikai értéket (igaz. Ha a string egy szóról, és hamis. Ha nem).
Tegyük fel, hogy ezt a kódot fogják szállítani a valós rendszer a termelési szerveren, és írd megfelelően rá.
Amikor arra utalnak, hogy ez a feladat az interjú, az első dolog, amit nézni, én meg egy kérdést, vagy nem. Mint már korábban említettük, a legjobb programozók megérteni, mi feltételezések - ez az, ami megöl ebben a szakmában. A tanácsom, hogy bárki, aki utasítást kapott kódot írni - a szünet, és fontolja meg, milyen feltételezéseket kell tenni annak érdekében, hogy végezze el a feladatot (mindig van), és megtalálják a módját, hogy erősítse meg, vagy tisztázzák ezeket a feltevéseket. Megértem, hogy a végrehajtás során a feladatok ember megy a „test mode”, és úgy gondolja, hogy tilos beszélni. Azt javaslom, hogy először azt kérdezi a riporter: „Én szabad kérdezni egy-két kérdést tisztázni bizonyos feltételezések?” (Mindig válaszolj „yes”), és akkor kap egy hatalmas előny.
Jó kérdés ezt a problémát:
Következő, nézem, milyen jól kövesse az utasításokat. Például, már definiált egy string paraméterként, és egy logikai érték következtében. Ez az, ami a programot?
Aztán szeretném látni, hogyan értelmezi a kifejezést „azt feltételezzük, hogy a kód kerül a valós rendszer az éles szerveren, és írjon megfelelően e.” Ha kifejlesztett szoftver dolgozik, tudja, hogy ez mit jelent kifejezést néhány dolgot:
Ezután kíváncsi voltam, hogy hogyan érti a „hatékony” együtt „termelési rendszer”. Ha van tapasztalat, akkor tudja, hogy a „hatékony” a program a termelési mód azt jelenti, három dolgot:
- Gyors.
- Nem veszi fel memóriát, ha ez nem szükséges.
- Stabil és könnyen karbantartható.
Meg kell értenie, hogy a cikkszám 3 néha azt jelenti, némi kárt tételek száma 1 és 2-es szám.
A vizsgálatok azt szeretnék látni, hogy gondolkodjunk sok teszt, de azok érvényességének ellenőrzésére különböző forgatókönyvek. Ellenőrzése „anya”, „apa” és „versenyautó” felesleges, ez mind ugyanazt a tesztet. Azt is elvárják, hogy, hogy szerepeljenek a szilárdsági vizsgálatokat (töréstesztek); vizsgálatok bármilyen vonalak, amelyek nem palindromes. Gondoljunk határesetek, nulla, vagy ellenőrizze a számot. Ellenőrizze az üres karakterlánc, vagy egy sor speciális karaktereket.
Én jelent ez a kihívás, hogy a fejlesztők minden szinten, de a tapasztalt szakemberek, a szigorúbb kritériumokat.
Ha Junior ad egy működőképes és kellően egyszerű megoldás, és minden mást az interjú jól megy, akkor elég az induláshoz, és javítsák készségeiket.
Nyilvánvaló, hogy vannak más módon írja a megfelelő programot, de ez ad egy ötletet, amit beszélek.
Ha adok a munkát a ház, az elvárások még magasabbak.
3. rész: Az algoritmusok
Néhány kérdezőbiztosok kérni fogja írni a konkrét megvalósítására az algoritmus. Személy szerint úgy gondolom, hogy ez egy hatalmas időpocsékolás. Sokkal fontosabb számomra, hogy érti, hogy milyen algoritmust használja, milyen célból. Megvalósítás mindig megtalálhatók a Google.
Mivel azonban a kérdezőbiztosok kérni kell, akkor jobb, hogy frissíteni kell az ismereteket a memória az interjú előtt. A Khan Academy kiváló ingyenes tanfolyam.
4. rész: Ne add fel harc nélkül
Ha nem tudja megoldani a felvetett problémát, mindig vannak dolgok, amit tehetünk, hogy az esélyek a poszt.
1. Ne add fel túl könnyen
Győződjön meg arról, hogy észrevettem az erőfeszítéseket. Ha Ön egyike azoknak, akik feladják, amikor nehéz, én nem vesztegeti az idejét rád.
2. Az ál
3. Milyen ismert ismeretlenek
Rész 5. Gyakorlat, gyakorlat, gyakorlat
Talán a legfontosabb dolog, amit egy sikeres interjú programozás - jó előkészítés. Ez a legjobb gyakorlat szokásos kérdések újra és újra, amíg nem tanult kívülről fújják. Ha a vonat kemény, akkor képes lesz arra, hogy válaszoljon a kérdésekre, hogy még nem találkoztunk. Lesz bizalmat, és akkor lesz képes összekapcsolni bármilyen kérdésben valami mást, hogy találkoztunk.