Varalka za pripravnika: korak po korak rješenja za probleme Google intervjua

Varalka za pripravnika: korak po korak rješenja za probleme Google intervjua

Prošle godine sam se zadnjih par mjeseci pripremao za intervju za praksu u Googleu (Google Internship). Sve je prošlo dobro: dobio sam i posao i veliko iskustvo.

Sada, dva mjeseca nakon stažiranja, želim podijeliti dokument koji sam koristio za pripremu intervjua. Za mene je to bilo nešto poput varalice prije ispita. Ali sam proces stvaranja dokumenta i neprestano provjeravanje korak po korak pomogao mi je da zapamtim sve najvažnije.

Vjerujem da svatko može uspješno intervjuirati u velikim tehnološkim tvrtkama, samo je potrebno neko vrijeme da shvatite kako ti intervjui funkcioniraju i pripremite se za njih.

Moja varalica bit će vam dovoljna da se pripremite za svaki tehnički intervju, bilo da se radi o Googleu, startupu ili vašem prvom stažiranju. Pomoći će vam da se osjećate samopouzdanije i tijekom pripreme i tijekom samog intervjua.

Preporučujemo besplatne intenzivne tečajeve programiranja za početnike:
Osnove Jave u samo 3 dana — 8.–10. kolovoza;
Pisanje prvog modela strojnog učenja — 12.–14. kolovoza;
Razvoj Messengera u Pythonu — 15. kolovoza–17

Varalica za tehnički intervju

Sjedišta

kolica

Na ovom resursu možete vježbati intervjuiranje. Sudionici naizmjenično intervjuiraju jedni druge (postoje audio i video kanali) i mogu koristiti zajednički uređivač koda. Najvjerojatnije vam prvi takvi intervjui neće biti laki i osjećat ćete se neugodno. Ali što više budete vježbali, to ćete biti sigurniji da ćete ih položiti, a pravi će se intervju nakon toga činiti laganim.

Kodni signal

Dobra pitanja iz stvarnih intervjua na Facebooku, Googleu, Microsoftu itd. Preporučujem korištenje ove stranice zajedno s resursima o vježbanju kodiranja, uključujući učenje o algoritamskoj složenosti.

knjige

Cracking the Coding Interview

Moji omiljeni dijelovi su Mreža za pripremu intervjua (stranica 32), odjeljak o ponašanju na intervjuu i Pitanja za intervju: Strukture podataka (stranice 88–107). Ako se dosad niste susreli s izrazom "algoritamska složenost", sada je vrijeme; knjiga pruža izvrstan uvod u temu.

Što učiniti na intervjuu?

  • Ostanite otvoreni za komunikaciju i odgovorite iskreno. Kada razmišljate o pitanju, razmišljajte naglas, opišite svoje misli;
  • Dodajte malo humora svojoj komunikaciji, ne bojte se šaliti. Pokušajte uživati ​​u komunikaciji.;
  • Zapišite važne podatke.;
  • Postavljajte pitanja i pokušajte koristiti ono što ste naučili od ispitivača.

Intervju korak po korak

Ovdje je kontrolni popis za pripremu za odgovor na intervju. Nije potrebno koristiti sve točke, preskočite one koje vam se čine nepotrebnim. Glavna stvar je koristiti zdrav razum. Čak i ako niste došli do samog kraja popisa, neće se dogoditi ništa loše.

  1. Pročitajte pitanje.
  2. Raščlanite sve podatke, i ulazne i izlazne, i obratite pozornost na nuspojave.
  3. Pojasnite bit zadatka i izrazite svoje pretpostavke kako bi ispitivač razumio vaš tok misli. Na primjer, kolike će količine podataka biti i tko će biti korisnik.
  4. Pronađite primjer i predočite ga ispitivaču kako biste bili sigurni da ste ispravno razumjeli zadatak. Nemojte se bojati potrošiti vrijeme na udubljivanje u uvjete problema. Što ga bolje razumijete, brže ćete pronaći optimalno rješenje.
  5. Razviti algoritam. Pokušajte riješiti sličan, ali manje složen problem. Zapišite svoje misli, pogledajte primjere u svom nacrtu.
  6. Prođite kroz svoj algoritam s primjerima kako biste bili sigurni da kôd radi ispravno. Provjerite sve kritične i rubne slučajeve.
  7. Procijenite složenost algoritma u smislu vremena i memorije.
  8. Ako ste uspjeli smisliti učinkovitije rješenje problema, vratite se na točku 4.
  9. Napišite rješenje pomoću odabranog algoritma. Razdvojite problem na nekoliko metoda ako je to prikladno u određenom slučaju.
  10. Provjerite kod za pogreške.
  11. Razmotrite kako implementacija algoritma obrađuje kritične i rubne slučajeve.
  12. Provjerite implementaciju pomoću primjera, pregledajte kôd za pogreške.
  13. Nakon što ste sigurni da kod radi ispravno, provjerite njegovu čistoću i stil.

To je sve!

Izvor: www.habr.com