Geriausia knyga, skirta techniniam kodavimui Interviu rengimas

Techninio kodavimo interviu yra labai sudėtingas - nepasiruošusiems beveik panašios į viktorinas. Kartais gali būti nelengva užduotis naršyti internete visus prieinamus techninio kodavimo paruošimo išteklius, ir galima paklausti: ar yra viena knyga / šaltinis, kuris geriausiai pasirengia techninio kodavimo interviu?

Geriausia , žinoma, šiuo atveju yra santykinis. Jei ieškote knygos, kuri išmokys jus išspręsti bet kokį kodavimo klausimą, nurodys, kaip sukurti kažką panašaus į „Instagram“, kuris pritaikytas milijardui vartotojų, ir paruošti jūsų sumuštinį, kol jūs esate, tada ši knyga tikrai ar ne.

Tačiau norint nušlifuoti techninius gabalėlius ir įsitikinti, ar esate gerai pasirengę susidurti su programavimo iššūkiais interviu, ši knyga priartėjo prie jos.

Šiandienos knygos apžvalgoje, aš einu per į detales į gėrį ir blogai vieną iš geriausiai parduodamų knygų apie Amazon dėl techninių kodavimo interviu: elementais Programavimas Interviu (dar žinomas kaip EKI , ir tai bus nurodyta kaip tokia poilsio šio straipsnio).

Apie ką ši knyga?

EPI yra knyga, kurioje daugiausia dėmesio skiriama pasirengimui techninės programinės įrangos inžinerijos interviu klausimams, kurie dažniausiai užduodami technologijų įmonėms. Jei ieškote programinės įrangos inžinieriaus pareigų, ši knyga jums bus kažkas.

EPI parašė 3 žmonės, dirbę keliose žinomiausiose technologijų kompanijose pasaulyje, pavyzdžiui, „Facebook“, „Google“, „Uber“ ir „Microsoft“. Autoriai turi labai tvirtą techninį pagrindą, ir tai liudija techninis dėmesys knygos turinyje.

Pati knyga yra labai techninio pobūdžio ir gilinasi į pagrindinius kompiuterijos mokslus. Techninio kodavimo klausimų tipai labai įvairūs, pradedant manipuliavimu stygomis ir pereinant grafikus. Knygoje taip pat pateikiami konkretūs patarimai ir gudrybės, kaip išspręsti tam tikrų tipų kodavimo problemas, ir yra cheatsheet, kad padėtų tūzo techninius klausimus.

Geras

Trumpai tariant: EPI yra labai techninė knyga, kuri puikiai tinka visiems, norintiems pasirengti techninio kodavimo klausimams, kurie sukasi aplink duomenų struktūras ir algoritmus.

Dalykai, kurie man ypač patiko:

  • turi daug klausimų (300 ir daugiau) su išsamiais atsakymais, palyginti su kita populiariąja knyga („Cracking The Coding Interview“), kurioje yra tik 170 ir daugiau
  • yra 3 skirtingos versijos: „Java“, „Python“ ir „C ++“. Tinka žmonėms, norintiems naudoti pasirinktą kalbą
  • turi puikų cheatsheet (4 skyrius), kuriame apibendrinami visi jums reikalingi metodai ir duomenų struktūros
  • išsamiai aprašo kiekvieną jums reikalingą duomenų struktūrą, algoritmus, kuriuos turėtumėte žinoti, ir metodus, kuriuos turėtumėte žinoti paprastu, suprantamu formatu
  • apima atitinkamas technines temas, kurių galite paprašyti per kodavimo interviu, pvz., kas yra TCP / IP, kaip veikia internetas ir kaip užfiksuoti ryšius tarp skirtingų subjektų kuriant schemą

Tai yra keletas aukščiausio lygio taškų, kurie man patiko knygoje. Man labai patinka tai, kad atsakymai yra labai, labai gerai sukonstruoti.

Atsakymuose į problemas dažnai žiūrima grubiai / supaprastintai. Tada autoriai pateikia konkrečių pavyzdžių, kaip galite pagerinti požiūrį į grubią jėgą. Kiekvienos kartojimo metu autoriai nurodo, kur yra apribojimai ir kaip juos galite išspręsti taikydami laipsniškas optimizacijas.

Pavyzdžiui, EPI paaiškinama, kaip aptikti ciklą susietame sąraše. Pirmasis būdas: naudokite maišos žemėlapį, kad išsaugotumėte kiekvieną mazgą, kurį pervažiavote, tada patikrinkite pagal maišos žemėlapį, kad pamatytumėte, ar jį matėte. Tai atlieka darbą, nors ir užima papildomą erdvę (vadinamasis O (N) erdvės sudėtingumas ir O (N) laiko sudėtingumas).

Tuomet knygoje pabrėžiama, kad papildomos vietos nereikia, ir siūlo, kad ciklus aptikti susietame sąraše galima be papildomos vietos, vietoj to manipuliuojant rodyklėmis.

Taikant tą patį metodą reikia paaiškinti beveik visus klausimus, todėl kiekvienas gali suprasti, kaip nuo apytikslio sprendimo pereiti prie optimizuoto.

Tiems, kurie yra surūdiję ir nori pradėti ruoštis interviu, EPI atlieka puikų darbą - kiekvienas skyrius pradedamas nuo duomenų struktūros ar algoritmo, kurį sužinosite, santraukos, kodėl duomenų struktūra yra ypatinga, kokios yra stipriosios ir silpnosios pusės minėta duomenų struktūra ir tai, į ką reikia atkreipti dėmesį.

Trumpai tariant, EPI yra užrašų knygelė, kurios norėjau turėti rengdamasis techniniams interviu. Tai knyga, kurią padovanosiu draugui, norinčiam pasirengti techniniams pokalbiams, išskyrus mano perkamiausius interviu kursus („Acing The Tech Interview“), kuris paruošia bet kurį kandidatą visam interviu darbui nuo pasirengimo atnaujinimo, elgesio klausimų iki to, kaip kūrybiškai spręsti kodavimo problemas. Užsiėmimai užpildomi greitai, todėl užsisakykite savo lizdą čia jau šiandien.

Blogas

EPI turi ir minusų. Tai labai techninė knyga, o tai reiškia, kad knyga daugiausia dėmesio skiria kodavimo klausimams.

Tai netyčia reiškia, kad knygai trūksta kitų techninio pokalbio proceso aspektų, kurie, be abejo, yra tokie pat svarbūs - pasiūlykite derybas, kaip parašyti įtikinamą gyvenimo aprašymą, ką daryti, kai gaunate pasiūlymą, kaip elgsenos klausimus ir kt.

Be to, knygoje išsamiai aprašomos duomenų struktūros ir algoritmai, tačiau pateikiama tik aukšto lygio apžvalga, kuri klaidina dėl kitų svarbių sąvokų, tokių kaip SQL, NoSQL, kaip sukurti tinkamos paprastos programos schemos ir dar daugiau.

Knygos rūšis apima SQL dizainą, paaiškindama, kaip struktūrizuoti lenteles, kad būtų užfiksuoti subjektų santykiai, tačiau daugiau nepaaiškinama apie JOIN ar kaip tinkamai pateikti užklausą lentelėse. Manau, kad suprasti (SQL lentelės) yra taip pat svarbu, kaip ir kaip (užklausos).

EPI taip pat yra skyrius apie sistemų dizainą, tačiau skyrius neapima paskirstytų dizainų. Man patiktų geriau, jei knygoje būtų išsamiau aprašyta, kas yra paskirstytos sistemos arba kur rasti daugiau informacijos apie jas.

Ar tai gera knyga man?

Jei turite ~ 40 USD atsargų ir didelį norą mokytis, aš taip sakyčiau.

Knyga vidutiniškai parduodama už 36 USD (yra 3 versijos). Ši knyga yra gerai įvertinta „Amazon.com“, vidutiniškai visose 3 versijose - 4,53 žvaigždutės. Statistika yra tokia:

„Amazon.com“:

3 versijos (kovo 12 d.):

  • „Python“: 169 įvertinimai 4.3 pr
  • „Java“: 203 įvertinimai 4.6 pr
  • C ++: 436 įvertinimai 4,7 pr

Iš viso buvo 808 apžvalgos.

Kai kurie atsiliepimai:

„.. geriausias mano kada nors panaudotas algoritmas / duomenų struktūra“ „kodas yra aukštos kokybės, naudojant prasmingus kintamųjų pavadinimus“ „tai yra knyga, kurią būtina turėti“

Dabar turėtumėte jį nusipirkti?

Manau, kad EPI yra vienas iš geriausių šaltinių pasiruošti techninio kodavimo interviu, bet nė vienas. Nepriklausomai nuo jūsų patirties lygio, jums yra kažkas. Man ypač patinka skaityti knygą dėl aiškių ir glaustų paaiškinimų, todėl šią knygą naudoju kaip nuorodą programavimo kurse.

Jei norite, kad visos duomenų struktūros, algoritmai, kuriuos turite žinoti, būtų vienoje lengvai skaitomoje knygoje, tada EPI yra jums skirta knyga.

Dėl paskirstytų sistemų dizaino rekomenduoju ieškoti kitur. Gera pradžia yra duomenų intensyvių programų kūrimas.

Man tai patinka už gilumą ir įžvalgas, ir aš rekomenduoju tai daugeliui studentų, kurie taip pat lanko mano kursus.

Ištekliai, kuriuos aš rekomenduoju

Duomenų intensyvių programų kūrimas - puikus šaltinis norint sužinoti apie paskirstytas sistemas ir kaip veikia didelio masto sistemos.

„Acing The Technical Interview“ - mano geriausiai parduodami asmeninio trenerio kursai apie tai, kaip išprovokuoti techninius interviu. Mes apžvelgiame atnaujinimo apžvalgą, techninio kodavimo interviu, elgesio klausimus ir dar daugiau.

Dalijimasis paskirstytų sistemų projektavimo interviu - mano asmeninis kurso kursas kuriant didelio masto paskirstytas sistemas. Sužinokite apie tai, kaip kurti tokias funkcijas kaip „Instagram Stories“, „Groupon“, filmų srautinio perdavimo svetaines, pvz., „Netflix“.