A legjobb könyv a technikai kódoláshoz Interjú Prep

A technikai kódolási interjúk köztudottan nehézek - szinte határokon átívelő kvízszerűek a felkészületlenek számára. Időnként ijesztő feladat lehet az összes elérhető technikai kódolási előkészítő erőforrás közötti navigáció, és megkérdezhetjük: van-e egyetlen könyv / forrás, amely a legjobban felkészül a technikai kódolási interjúkra?

A legjobb , ebben az esetben természetesen relatív. Ha olyan könyvet keres, amely megtanítja Önt bármilyen kódolási kérdés megoldására, eligazítja Önt, hogyan tervezzen valami olyat, mint az Instagram, amely egymilliárd felhasználónak szól, és elkészíti a szendvicsét, amíg Ön ott van, akkor ez a könyv mindenképpen ugye.

De azért, hogy csiszolja a technikai aprításokat, és megbizonyosodjon arról, hogy felkészült-e arra, hogy egy interjúban szembesüljön a programozási kihívásokkal, ez a könyv a közelébe kerül.

A mai könyvkritika, megyek át részletesen a és a rossz az egyik legkelendőbb könyvet az Amazon technikai kódoló interjúk: Elements of programozása Interjúk (aka EPI , és ez lesz a továbbiakban, mint a többi cikkét).

Miről szól ez a könyv?

Az EPI egy olyan könyv, amely a műszaki cégeknél gyakran feltett technikai szoftvertervezési interjúk előkészítésére összpontosít. Ha szoftvermérnöki pozíciót keres, ennek a könyvnek lesz valami az Ön számára.

Az EPI-t 3 ember írta, akik a világ legismertebb technológiai vállalatai között dolgoztak, mint például a Facebook, a Google, az Uber és a Microsoft. A szerzők nagyon erős technikai háttérrel rendelkeznek, és ezt bizonyítja a könyv tartalmának technikai fókusza is.

Maga a könyv rendkívül technikai jellegű, és mélyen elmélyül az alapvető számítástechnika területén. A technikai kódolási kérdések típusai a karakterlánc-manipulációtól kezdve a gráf-bejárásokig széles skálán mozognak. A könyv konkrét tippeket és trükköket is kínál a kódolási problémák bizonyos típusainak megoldásához, és tartalmaz egy csalólapot, amely segít a technikai kérdésekben.

A jó

Röviden: Az EPI egy rendkívül technikai jellegű könyv, amely jól alkalmazható mindazok számára, akik fel akarnak készülni az adatstruktúrák és algoritmusok körül forgó technikai kódolási kérdésekre.

Azok a dolgok, amelyek különösen tetszettek:

  • sok kérdése van (300+) részletes válaszokkal, összehasonlítva egy másik népszerű könyvvel (Cracking The Coding Interview), amelynek csak 170+
  • 3 különböző változatban érkezik: Java, Python és C ++. Alkalmas azok számára, akik az általuk választott nyelvet akarják használni
  • rendelkezik egy nagyszerű csalólappal (4. fejezet), amely összefoglalja az összes szükséges technikát és adatstruktúrát
  • részletesen lefedi az összes szükséges adatstruktúrát, az algoritmusokat, amelyeket ismernie kell, és a technikákat, amelyeket tudnia kell, egyszerű, érthető formátumban
  • releváns technikai témákat fed le, amelyeket egy kódolási interjú során megkérdezhet, például, hogy mi a TCP / IP, hogyan működik az Internet, és hogyan lehet kapcsolatot rögzíteni a különböző entitások között a séma tervezésében

Ezek azok a legfelső szintű pontok, amelyeket élveztem a könyv kapcsán. Amit nagyon élvezek, az az, hogy a válaszok nagyon- nagyon jól vannak felépítve.

A válaszok gyakran durva erővel / leegyszerűsítve közelítik meg a problémákat. A szerzők ezután konkrét példákat mutatnak be arra vonatkozóan, hogyan lehetne javítani a nyers erő megközelítésén. Minden egyes iterációnál a szerzők rámutatnak, hol vannak a korlátozások, és hogyan lehet megoldani őket inkrementális optimalizálásokkal.

Például az EPI elmagyarázza, hogyan lehet detektálni egy ciklust egy összekapcsolt listában. Az első megközelítés: használjon hash térképet minden bejárt csomópont tárolásához, majd ellenőrizze a hash térképet, hogy látta-e. Ez elvégzi a munkát, bár további helyet igényel (úgynevezett O (N) tér komplexitás és O (N) idő komplexitás).

A könyv ezután rámutat, hogy nincs szükség további helyre, és javasolja, hogy a kapcsolt listában a ciklusok detektálása további hely nélkül történjen, a mutatók helyett.

Ugyanezt a megközelítést alkalmazza szinte az összes kérdés magyarázatában, így mindenki megértheti, hogyan lehet eljutni egy durva megoldástól egy optimalizált megoldásig.

Annak, aki rozsdás, és el akarja kezdeni az interjúkra való felkészülést, az EPI nagyszerű munkát végez - minden fejezet összefoglalja az adatstruktúrát vagy az algoritmust, amelyet megtanul, miért különleges az adatstruktúra, mik az erősségei / gyengeségei az említett adatstruktúra és mit kell tudomásul vennie.

Röviden, az EPI az a jegyzetfüzet, amelyet szerettem volna, ha műszaki interjúkra készültem. Ezt a könyvet adnám egy barátomnak, aki technikai interjúkra készül felkészülni - eltekintve a legjobban eladott interjúk tanfolyamomtól (Acing The Tech Interview), amely minden jelentkezőt felkészít az interjú teljes tapasztalatára az önéletrajz előkészítésétől, a viselkedés kérdéseitől a hogyanig a kódolási problémák kreatív megoldására. Az osztályok gyorsan feltöltődnek, ezért foglalja le ma itt a helyét.

A rossz

Az EPI-nek vannak hátrányai is. Mivel egy nagyon szakszerű könyv, ez azt jelenti, hogy a könyv a kódolási kérdésekre összpontosít.

Ez akaratlanul azt jelenti, hogy a könyv elmarad a technikai interjú folyamat egyéb szempontjait illetően, amelyek vitathatatlanul ugyanolyan fontosak - ajánljon fel egyeztetést, hogyan írjon meggyőző önéletrajzot, mit kell tennie, ha ajánlatot kap, hogyan kell viselkedési kérdések kezelése stb.

Ezenkívül a könyv részletesen bemutatja az adatszerkezeteket és az algoritmusokat, de csak magas szintű áttekintést nyújt, egészen addig a pontig, hogy a kontextus hiánya miatt zavaros, számos más fontos fogalomról, mint például az SQL, a NoSQL, a megfelelő séma egy egyszerű alkalmazáshoz és még sok máshoz.

A könyv egyfajta kiterjed az SQL-tervezésre, elmagyarázva, hogyan kell táblákat felépíteni az entitás-kapcsolatok rögzítésére, de nem magyaráz többet a JOIN-okról, illetve arról, hogyan kell megfelelő módon lekérdezni a táblákat. Szerintem a mi (SQL táblák) megértése ugyanolyan fontos, mint a hogyan (lekérdezések).

Az EPI rendelkezik egy rendszertervezési fejezettel is, de ez a fejezet nem terjed ki az elosztott tervekre. Jobban tetszett volna, ha a könyv részletesebben leírja, hogy mi az elosztott rendszer, vagy hol találhat további információt ezekről.

Ez jó könyv nekem?

Ha van ~ 40 dollár tartalék és nagy étvágyad a tanulásra, akkor azt mondanám.

A könyv átlagosan 36 dollárért kerül eladásra (3 verzió létezik). Ezt a könyvet az Amazon.com magasan értékeli, és mindhárom verzióban átlagosan 4,53 csillag található. A statisztikák a következők:

Az Amazon.com-on:

3 verzió (március 12-én):

  • Python: 169 értékelés 4.3 ave
  • Java: 203 értékelés 4.6 ave
  • C ++: 436 értékelés 4.7 ave

Összességében összesen 808 értékelés készült.

Néhány vélemény:

".. a legjobb algoritmus / adatstruktúra, amit valaha készítettem" "a kód kiváló minőségű, értelmes változóneveket használ" "ez egy kötelező könyv"

Most meg kellene venni?

Úgy gondolom, hogy az EPI az egyik legjobb forrás a technikai kódolási interjúkra való felkészüléshez, senki sem tiltja. A tapasztalati szinttől függetlenül van valami az Ön számára. Különösen szívesen olvasom a könyvet annak világos és tömör magyarázata miatt, és ezt a könyvet referenciaként használom a programozási tanfolyamom során.

Ha az összes adatstruktúrát, algoritmust, amelyet ismernie kell, egyetlen, könnyen olvasható könyvben szeretné, akkor az EPI a könyv az Ön számára.

Elosztott rendszerek tervezéséhez javasoljuk, hogy keressen máshol. Jó kezdet az adatintenzív alkalmazások tervezése.

Szeretem a mélység és a meglátás miatt, és ajánlom sok hallgatónak, akik szintén részt vesznek a tanfolyamaimon.

Források, amelyeket ajánlok

Adatintenzív alkalmazások tervezése - nagyszerű forrás az elosztott rendszerek megismeréséhez és a nagyszabású rendszerek működéséhez.

Acing The Technical Interview - a legkeresettebb személyes edzői tanfolyamom arról, hogyan kell ászni a technikai interjúkkal. Kitérünk az önéletrajz felülvizsgálatára, a technikai kódolási interjúra, viselkedési kérdésekre és egyebekre.

Elosztott rendszerek tervezésével kapcsolatos interjú - személyes edzői tanfolyamom nagyszabású elosztott rendszerek tervezéséről. Tudjon meg többet az olyan funkciók tervezéséről, mint az Instagram Stories, a Groupon, a film streaming webhelyek, például a Netflix.