Cum funcționează interviul telefonic la Google: un cont de primă mână de la un candidat pentru postul de CTO. Cum să te pregătești pentru un interviu la Google și să eșuezi. De două ori

Interviul la Google este un proces care este legendar pentru întrebările sale incredibile și numărul nesfârșit de ele.

Google este o companie care caută nu numai angajați inteligenți, ci și creativi, așa că un viitor membru al echipei trebuie să aibă următoarele:

  1. Trebuie să fii foarte bun la programare.
  2. Candidatul trebuie să fie ușor de învățat. Și nu este vorba despre asta dezvoltare intelectuală, ci despre capacitatea de a procesa informații noi aproape instantaneu și de a le aplica cu același succes.
  3. Calitățile de conducere sunt ceva căruia Google îi acordă o atenție deosebită. Însă compania vede leadership-ul într-o perspectivă diferită, banală, neobișnuită pentru noi: leadership-ul este hotărârea de a interveni cu soluția ta în momentul în care echipa se confruntă cu o problemă și, poate, nici măcar nu este conștientă de aceasta.
  4. Umilință intelectuală – Trebuie să fii dispus să înveți din greșelile tale și să nu te agăți de ceea ce știi deja. Adică nu trebuie să simți că ai atins deja maximul.

Cum funcționează un interviu la Google?

Un interviu cu o companie este în mai multe etape - managerii pot trece prin până la șase etape ale interviului. Interviul poate avea loc fie personal, fie de la distanță prin Google Hangouts.

Întregul interviu este împărțit în două părți:

  1. Interviu cu întrebări generale (despre experiența de muncă, convingerile de viață etc.)
  2. Interviu cu soluții la sarcini practice și probleme abstracte (mai ales dacă aplici pentru un post de specialist tehnic).

Interviurile Google folosesc o mulțime de întrebări standard care sunt repetate iar și iar. Puteți găsi online liste întregi cu astfel de întrebări.

Întrebări neașteptate de la Google

  • Elaborați un plan de evacuare pentru San Francisco.

Fiți pregătiți pentru întrebări ca acestea, deoarece acestea sunt concepute pentru a afla cum abordați problemele. Puteți răspunde ușor și ironic, de exemplu: „Ce fel de dezastru plănuim tu și cu mine?”

  • Câte mingi de golf poți încăpea într-un autobuz școlar?

Această întrebare este concepută pentru a determina modul în care abordați problemele. Aici nu trebuie atât de mult să exprimați cifra exactă, ci mai degrabă să vă exprimați gândurile cu privire la procesul de numărare în sine.

  • Explicați nepotului dvs. de 7 ani ce este o bază de date.

Această întrebare vă va ajuta probabil să înțelegeți cât de bine poate solicitanul să explice idei complexe în termeni simpli.

Fii original, umil și plin de resurse și, bineînțeles, folosește-ți bine cunoștințele.

În timpul interviurilor la Google, solicitanților de locuri de muncă li se pun în mod obișnuit întrebări teribil de dificile, care literalmente le uluit mințile. Încearcă să le răspunzi și tu.

Câți bani v-ar costa să curățați toate ferestrele din Seattle? Aceasta este una dintre întrebările la care trebuie să fii viclean și să dai cel mai simplu răspuns. Ei bine, să spunem 10 USD pe fereastră.

Câți acordatori de pian există în lume? Totul depinde de necesitatea serviciilor de ajustatori. Dacă un pian trebuie acordat o dată pe săptămână și durează o oră, iar tunerul lucrează 8 ore pe zi timp de 5 zile pe săptămână, atunci el poate acorda 40 de piane în fiecare săptămână. Răspuns: un tuner la fiecare 40 de piane.


De ce acoperi trapa de canalizare rundă? Forma rotundă a capacului asigură că capacul în sine nu va cădea în trapă în timpul instalării sau demontării sale (un capac dreptunghiular se potrivește cu ușurință în corpul trapei în diagonală).

Poți elabora un plan de evacuare a San Francisco? O altă întrebare ciudată. Și totul pentru a afla ce va oferi solicitantul ca soluție la problemă. Ar fi frumos să răspundem la întrebare cu o întrebare: „Ce dezastru este planificat pentru astăzi?”


De câte ori pe zi se încrucișează acerile ceasului? Răspuns: de 22 de ori
00:00
1:05
2:11
3:16
4:22
5:27
6:33
7:38
8:44
9:49
10:55
12:00
13:05
14:11
15:16 16:22
17:27
18:33
19:38
20:44
21:49
22:55

Trebuie să verifici dacă Bob a notat corect numărul tău de telefon... ... dar nu-l poți întreba direct. Trebuie să-i scrii o notă și să i-o dai lui Eve, care i-o va duce lui Bob și îi va aduce înapoi un răspuns de la el. Ce vei scrie într-o notă, astfel încât Bob să înțeleagă ce vrei de la el, iar Eve să nu poată afla numărul tău de telefon?
Deoarece doar „înregistrați”, nota îi cere pur și simplu să vă sune la o anumită oră. Dacă sună, înseamnă că are numărul tău înregistrat corect.
Prea uşor? Puteți răspunde în alt mod: trebuie să utilizați o sumă de control. În notă, cere-i lui Bob să adună toate cifrele numărului tău de telefon și să scrie rezultatul pe o bucată de hârtie. Când Eve își aduce răspunsul, va trebui doar să verificați suma primită.


Ești căpitanul unei nave de pirați... ...și echipajul tău va vota cum să împartă aurul furat. Dacă mai puțin de jumătate dintre pirați sunt de acord cu tine, vei muri. Cum împărțiți aurul astfel încât să obțineți o parte bună din pradă, dar să rămâneți în viață?
Răspuns: Este necesar să împărțiți prada în mod egal între 51% din întreaga echipă.

Ai 8 bile de aceeași dimensiune... ... 7 dintre ele au aceeași greutate, iar una cântărește puțin mai mult decât restul. Puteți găsi mingea care este mai grea decât celelalte folosind cântarul doar de două ori?
Luați 6 din cele 8 bile și puneți 3 pe fiecare cântar.
Dacă nu există nicio minge grea în acest grup, atunci niciun bol nu va depăși. Acum tot ce trebuie să faceți este să cântăriți cele 2 bile rămase și să rezolvați problema.
Dacă unul dintre bolurile cu 3 bile îl depășește pe celălalt, aceasta înseamnă că bila grea se află în acest bol. Luați 3 bile din bolul supraponderal și puneți două dintre ele pe cântar. Dacă unul dintre ei depășește, va fi mingea pe care o căutați. Dacă cântăresc la fel, atunci bila pe care ai pus-o deoparte este bila grea pe care trebuia să o găsești.

Poți explica în trei propoziții ce este o bază de date nepotului tău de 8 ani? Esența întrebării este de a verifica dacă solicitantul este capabil să vorbească despre concepte complexe în într-un limbaj simplu. Răspunsul ar putea fi: „O bază de date este un computer care își amintește o mulțime de informații despre diferite lucruri. Oamenii îl folosesc dacă cineva are nevoie de aceste informații. Acum du-te să te joci afară.”

Ai fost redus la dimensiunea unui nichel... ...și masa ta a fost redusă proporțional cu densitatea ta inițială. Ai fost apoi aruncat într-un borcan de blender gol. Cuțitele vor începe să se miște după 60 de secunde. Care sunt acțiunile tale?
Această întrebare evaluează inițiativa solicitantului. Cel mai bun lucru cu care poți veni într-o astfel de situație este să nu stai cu mâna în blender, ci să încerci să spargi motorul electric.

Giganții IT din ziua de azi sunt renumiti pentru abordarea lor non-standard de organizare a procesului de lucru. Corporațiile creează condiții ideale pentru angajații lor, motivându-i din toate punctele de vedere. Dar cum să selectezi o echipă receptivă formată exclusiv din „ taxat» profesionisti? Aceasta este principala provocare a departamentelor de HR și iată cum se confruntă cu aceasta.

Cu ceva timp în urmă, întrebările în format „creințe” erau foarte populare - puzzle-uri logice, adesea lipsite de sens la prima vedere. Nu aveau nicio relevanță pentru viitoarea poziție și rareori aveau nevoie de abilități specializate. Mai mult, multe întrebări pur și simplu nu exista un răspuns clar.

Atunci de ce să-i întrebi?

Pentru a testa modul în care o persoană va gândi situatii non-standard. Nu te poți închide și pune la îndoială caracterul adecvat al intervievatorului la aceste întrebări trebuie să se răspundă într-un mod nebanal, dar logic. Doar un alt test, dar de data aceasta pentru gândire modelată.

În plus, aceste întrebări conduc adesea o persoană la stres, iar capacitatea de a depăși această stare este o abilitate foarte utilă.

Toate marile corporații au adoptat această tehnică, dar, probabil, jocurile de creiere au fost cel mai des întâlnite de către candidații pentru posturi vacante la Google Inc.

Cele mai sălbatice întrebări de interviu Google

Aceasta este o repovestire gratuită a celor care au fost intervievați. Compania nu publică niciodată lista originală de întrebări.

1. Gândiți-vă la cât mai multe moduri de a găsi un ac într-un car de fân.


Denumirea funcției: 08.05.2014

Cum să răspund: sunt în mod clar interesați de cât de departe va ajunge imaginația ta. Prin urmare, opțiuni evidente precum „arde fânul” sau „obține un magnet puternic” nu vor funcționa. Dă frâu liber imaginației tale.

2. Câte tunsori se fac în America pe parcursul anului?


Denumirea funcției: angajat al departamentului comercial 08.05.2014

Cum să răspund:începe prin a calcula cererea consumatorilor. Mărimea populației SUA? Câți dintre ei merg la coafor? Cât de des se tund oamenii? Apoi rezumați statisticile aproximative pentru anul.

3. Moneda a fost aruncată de 1000 de ori și a venit cu capul de 560 de ori. Crezi că moneda este „corectă”? Dacă din 10 aruncări ar fi șase capete?


Denumirea funcției: Analist Cantitativ - 12.09.2015

Cum să răspund: Această întrebare nu este despre ingeniozitate, ci despre cunoașterea teoriei probabilităților. Poate fi calculat folosind distribuția binomială sau testul chi-pătrat. Există și alte moduri de a testa „echitatea”. O problemă destul de logică, mai ales dacă vă amintiți pentru ce poziție a fost interviul.

4. Aveți un serviciu de livrare de alimente 24 de ore pe zi. De câte camioane veți avea nevoie pentru a rula fără probleme?


Denumirea funcției: Product Manager - 11/05/2015

Cum să răspund: Puteți estima aria de acoperire aproximativă a serviciului dvs., puteți căuta pe Google ce distanțe există și vă gândiți la timpul minim și maxim de procesare pentru o comandă. Și puteți observa că nu se știe în ce stare se află compania. Dacă serviciul tocmai s-a deschis, atunci va fi suficient un camion, cu achiziționarea altora ulterioare după cum este necesar.

5. Câte mingi de tenis pot încăpea într-un avion?


Denumirea funcției: stagiar - 12.08.2015

Cum să răspund: aici, fie vă bazați pe volumul unor Boening și calculați câte bile standard să „vărsați” în el, fie gândiți-vă la modul în care vor fi încărcate bilele. In ce ambalaj? Paleți sau containere?

6. Cum să rezolvi cea mai mare problemă a umanității cu un miliard de dolari și o navă spațială?


Denumirea funcției: administrator baze de date - 14.12.2015

Cum să răspund: omorâți două păsări dintr-o singură lovitură: aflați care problemă este cea mai importantă în opinia dvs. și cât de departe sunteți dispus să mergeți pentru a o rezolva. Vei trimite toți oamenii bolnavi în spațiu? Sau veți începe cercetări la scară largă?

7. Dacă ți-ai putea aminti doar o singură propoziție, care ar fi ea?


Denumirea funcției: 08.12.2015

Cum să răspund: tot ceea ce. Dacă doar asta te caracterizează din partea câștigătoare. O replică dintr-o melodie, un film, o carte - nu contează, dar fii pregătit să explici de ce.

8. Descrieți un serviciu care vă ajută să călătoriți în viitor.


Denumirea funcției: designer interfață interactivă - 23.12.2015

Cum să răspund: includ scriitori de science fiction. Imaginați-vă că acest lucru este pe cale să se întâmple. Cum va fi implementată o astfel de „peeping” în viitor? Aplicația de știri pe smartphone-ul tău? ochelari 3D? Sau călătorii fizice printr-un fel de capsulă? Orice gând poate fi dezvoltat.

9. Când se va uda complet trotuarul în ploaie dacă lățimea trotuarului este de 1 metru și diametrul căderii este de 1 cm?


Denumirea funcției: inginer software - 01.06.2016

Cum să răspund: La prima vedere, totul este simplu, dar în realitate există mulți alți factori. Picăturile pot cădea în același loc sau se pot suprapune. Punctul umed din ele nu este întotdeauna egal cu diametrul lor. Cu cât iei în calcul mai mulți factori neevidenți, cu atât șansele de succes sunt mai mari. Desigur, va trebui să scrieți un program.

10. Dacă eliminați reclamele de pe YouTube, cum să o generați bani?


Denumirea funcției: Consultant departament comercial - 15.01.2016

Cum să răspund: veniți cu mai multe moduri, de exemplu, un abonament plătit la un serviciu sau crearea de canale TOP pentru bani. Băieții de la departamentul comercial sunt cei care lucrează direct cu toate produsele de publicitate Google, așa că fiți pregătiți să dați răspunsul dumneavoastră detaliat, cu calculul beneficiilor.

11. Câți oameni conduc mașini în orașul tău? Calcula.


Denumirea funcției: dezvoltator - 09.03.2016

Cum să răspund: veniți cu câteva date inițiale. Estimați populația orașului și numărul mediu de persoane dintr-o familie. Atunci gândește-te câte familii își pot permite o mașină? Ce zici de doi? Trei sau mai multe?

12. Câte mașini sunt pe autostrada 101 între San Francisco și Mountain View?


Denumirea funcției: Product Manager - 01/04/2018

Cum să răspund: Să presupunem că lungimea acestei autostrăzi este de aproximativ 65 de kilometri, drumul este cu patru benzi. Ia lungime medie mașini. Și rețineți că atunci când conduceți cu viteză, există decalaje mari între mașini.

13. Câți tehnicieni de reparare a pianelor sunt în Statele Unite?


Denumirea funcției: Product Manager - 01/04/2018

Cum să răspund: precum si intrebarea cu coaforul. Calculați cererea aproximativă pentru acest serviciu și obțineți cel puțin un număr aproximativ de specialiști.

14. Câte mingi de golf pot încăpea într-un autobuz școlar?


Denumirea funcției: Product Manager - 01/04/2018

Cum să răspund: A existat deja o întrebare similară mai sus despre mingi de tenisși avioane. În ciuda dimensiunii mai mici a autobuzului și a mingilor de golf, această problemă este rezolvată folosind același algoritm.

15. Câți oameni lucrează la Google în întreaga lume?


Denumirea funcției: Product Manager - 01/04/2018

Cum să răspund: Luați ca bază venitul anual al Google și imaginați-vă cât de mult plătesc costurile angajaților. În zece ori? De treizeci de ori? Faceți calculul.

16. Câte computere deține Google?


Denumirea funcției: Product Manager - 01/04/2018

Cum să răspund: Vă rugăm să clarificați despre ce computere vorbiți. Dacă este vorba despre cele personale, atunci trebuie să calculați mai întâi numărul de angajați Google (întrebarea de mai sus). Dacă vorbim de servere, începeți de la cantitatea aproximativă de date care este stocată acolo.

17. Google dorește să dezvoltați o mașină de tuns iarba robotizată. Cum vei proceda?


Denumirea funcției: Product Manager - 01/08/2018

Cum să răspund: Este mai probabil să fie interesați de pașii implicați în dezvoltarea produsului decât de modul în care funcționează mașina de tuns iarba robotizată. Determinați publicul țintă, bugetul, funcțiile. Propune un design și un mecanism de promovare a produsului.

18. Proiectați un automat (echipament de vending) pentru nevăzători.


Denumirea funcției: Product Manager - 01.11.2018

Cum să răspund: nevoie aici mișto idee: un dispozitiv cu control vocal, senzori sau butoane tactile. Apoi puteți proceda în același mod ca și în întrebarea despre mașina de tuns iarba robotizată, descriind toate etapele ulterioare de dezvoltare a acestui produs.

19. Câtă memorie este necesară pentru a salva toate imaginile de pe Google Maps?


Denumirea funcției: Product Manager - 01.11.2018

Cum să răspund: Va trebui să numărați mult, iar numerele ies literalmente din aer. Cât cântărește o fotografie în Google Maps? Ce zici de o imagine panoramică? Plus grafică însoțitoare. Acum calculați aria aproximativă glob. Câți au fost deja filmați de sateliții Google? Câte obiecte sunt cu o fotografie atașată? Dar atracțiile? Numărați tot ce vă puteți aminti.

20. Cum îți poți da seama câți instalatori lucrează în San Francisco?


Denumirea funcției: 18.01.2018

Cum să răspund: Aceasta este o altă variantă a întrebării despre tunsori sau despre un specialist în repararea pianelor. Se rezolvă ca o copie carbon, doar cu date inițiale diferite. Ia-le, din nou, din capul tău.

21. Dacă ați avea sarcina de a angaja oameni, ce site ar fi cel mai potrivit?


Denumirea funcției: Analist Departament Securitate - 18.01.2018

Cum să răspund: Gândiți-vă unde există o mare probabilitate de a angaja personal profesionist? La bursele de muncă? Pe rețelele sociale? sau pe site-uri specializate precum Linkedin? Nu uitați să clarificați pentru ce posturi sunt angajați angajații, altfel ar putea avea sens să înmânați pliante în fața institutului.

22. Cum să îmbunătățiți interfața cu utilizatorul YouTube? (din punct de vedere publicitar)


Denumirea funcției: Analist Departament Securitate - 18.01.2018

Cum să răspund: Imaginați-vă că YouTube a obținut publicitate discretă, care nu este vizibilă pentru utilizator. Unde ar fi amplasate blocurile de sponsorizare? În ce moment și pentru cât timp vor fi afișate?

Și cum să te pregătești pentru asta?

În mare, deja nu este nevoie. În urmă cu câțiva ani, Laszlo Bock, vicepreședinte senior al resurselor umane la Google, a spus că aceste întrebări nu sunt cel mai important factor într-un interviu. Da, și dacă analizezi cele mai recente

După cum se poate observa din nota de mai sus, departamentul de resurse umane al Google are un simț al umorului – și îl arată în întrebările interviului atunci când selectează candidații pentru posturi „foarte inteligente”. Răspunsurile la acestea sunt ambigue și pot varia, fără a repeta neapărat opinia editorilor Vesti.Ekonomika. Cererea de originalitate, productivitate și viteza de gândire este de înțeles atunci când vine vorba de dezvoltări inovatoare și de scara planetară a utilizării acestora.

Între timp, aceste întrebări sunt adresate în principal unor abilități precum calcule și logică abstractă (pentru a folosi terminologia metodelor inteligente de diagnosticare ale laboratorului nostru). Mediul real de afaceri impune, printre altele, dezvoltarea memoriei, erudiției, vocabularului, procesării informațiilor și gândirii spațiale - desigur, în grade diferite, dar în testul nostru Business IQ acestea pot fi analizate în cadrul unui singur profil de respondent și sarcinile sale fac ecou metodologia Google, fiind o reflectare a realității organizaționale moderne.

Site editorial

Dacă în Rusia majoritatea solicitanților de locuri de muncă ar dori să lucreze la Gazprom, atunci în lume de câțiva ani Google conduce un astfel de rating. Selecția de noi angajați pentru o companie inovatoare este destul de strictă; Se pregătesc pentru interviu cu câteva luni înainte, de parcă ar fi fost un examen foarte dificil.

Iată câteva fapte. Google preferă să recruteze angajați de la absolvenți ai opt universități private americane (Ivy League): Universitatea Brown, Harvard, Princeton, Universitatea din Pennsylvania, Colegiul Dartmouth, Universitatea Yale, Universitatea Columbia, Universitatea Cornell.

Reprezentanții companiei nu ascund faptul că notele primite în timpul instruirii sunt importante pentru ei, chiar dacă solicitantul are deja peste treizeci de ani. Și un ultim lucru: Google caută oameni care doresc să schimbe lumea.

Mai jos sunt 15 întrebări care vi s-ar putea adresa dacă ați fi intervievat la biroul Google.

1. Câte mingi de golf pot încăpea într-un autobuz școlar?

Aceasta este una dintre întrebările pe care și le pun companiile pentru a vedea cum caută solicitantul o soluție la o problemă. Un solicitant a avut un răspuns bun: „Mi-am imaginat un autobuz școlar standard care are 8 picioare lățime, 6 picioare înălțime și 20 de picioare lungime: acestea sunt dimensiuni aproximative bazate pe observațiile mele în timp ce stau în trafic pentru perioade lungi de timp în spatele unui autobuz școlar. înseamnă 960 de picioare cubi, 1.728 de inci cubi la un picior cubi, ceea ce înseamnă aproximativ 1,6 milioane de inci cubi. Am calculat că volumul mingii de golf este de aproximativ 2,5 inci cubi (4/3 * pi * 0,85), deoarece raza lui. Mingea este de 0,85 inchi Împărțirea a 1,6 milioane la 2,5 inci cubi înseamnă 660 de mii de mingi de golf. spatiu liber. Și am rotunjit valoarea la 500 de mii de bile.”

2. Câți bani v-ar costa să curățați toate geamurile din Seattle?

Poziție: Manager de produs

Aceasta este una dintre acele întrebări în care trebuie să vă apelați la ingeniozitate pentru a ajuta și pentru a oferi cel mai simplu răspuns. Am răspunde: „10 USD pe fereastră”.

3. Într-o țară în care oamenii vor doar să aibă copii băieți, fiecare familie continuă să aibă copii până când se naște un băiat. Dacă au o fată, mai au un copil. Dacă e băiat, se opresc. Care este raportul dintre băieți și fete într-o astfel de țară?

Poziție: Manager de produs

Răspunsul la această întrebare a stârnit discuții aprinse, drept urmare am ajuns la următoarea soluție. Imaginează-ți că sunt 10 familii cu 10 copii: 5 fete, 5 băieți (10 în total). În continuare, 5 cupluri care au fete vor mai aduce pe lume cinci copii. Jumătate (2,5) vor fi fete, jumătate (2,5) băieți. Adăugăm 2,5 băieți celor 5 deja născuți și 2,5 fete celor 5 existenți (în total 15 copii, dintre care 7,5 băieți și 7,5 fete). Acum 2,5 cupluri cu fete trebuie să nască 2,5 copii. Jumătate (1,25) vor fi băieți și jumătate (1,25) vor fi fete. Adăugăm 1,25 băieți celor 7,5 deja existente și 1,25 fete celor 7,5. (Sunt în total 17,5 copii, dintre care 8,75 băieți și 8,75 fete.) Și așa mai departe, aderând la principiul 50/50.

4. Câți acordatori de pian există în lume?

Poziție: Manager de produs

Noi i-am răspunde: „Câte cere piața. Să presupunem că un pian trebuie acordat o dată pe săptămână și durează o oră, iar tunerul funcționează 8 ore pe zi timp de 5 zile pe săptămână. Asta ar însemna că 40 de piane necesită săptămânal. Răspunsul nostru: unul la fiecare 40 de piane”.

5. De ce capacul gurii este rotund?

Poziție: dezvoltator software

Răspuns. Pentru ca acesta să nu cadă în interiorul trapei la instalare sau demontare (capacul dreptunghiular se potrivește cu ușurință în corpul trapei în diagonală).

6. Elaborați un plan de evacuare pentru San Francisco.

Poziție: Manager de produs

Răspuns. Din nou, se uită la modul în care solicitantul abordează rezolvarea problemei. Ne-am începe răspunsul cu întrebarea: „Ce dezastru este planificat astăzi?”

7. De câte ori pe zi coincid acele ceasului în aceeași poziție?

Poziție: Manager de produs

Răspuns. de 22 de ori. De la WikiRăspunsuri: 00:00, 1:05, 2:11, 3:16, 4:22, 5:27, 6:33, 7:38, 8:44, 9:49, 10:55, 12:00 , 13:05, 14:11, 15:16, 16:22, 17:27, 18:33,19:38, 20:44, 21:49, 22:55

8. Explicați semnificația expresiei Dead beef (la propriu: carne moartă)

Poziție: dezvoltator software

Răspuns. DEADBEEF este o valoare hexazecimală care a fost folosită pentru depanare în zilele mainframe-urilor mari, deoarece acest marker era foarte ușor de găsit în depozitele hexazecimale. Majoritatea oamenilor cu experiență în computere ar fi trebuit să vadă asta cel puțin la cursurile de limbaj de asamblare, motiv pentru care Google se așteaptă ca un dezvoltator de software să știe despre asta. 0xDEADBEAF (dead beef) a fost folosit de IBM RS/6000, Mac OS pe sisteme PowerPC pe 32 de biți și Commodore Amiga ca valoare magică pentru depanare. Pe Solaris de la Sun Microsystem, acest lucru însemna memorie kernel liberă. Pe OpenVMS care rulează pe procesoare Alpha, DEAD_BEEF poate fi văzut apăsând CTRL-T.

9. Bărbatul și-a condus mașina spre hotel, dar nu a reușit. Ce s-a întâmplat?

Poziție: dezvoltator software

Răspuns. S-a blocat pe bordură. (Neplăcut, nu?)

10. Trebuie să verifici dacă prietenul tău Bob are numărul tău de telefon înregistrat corect sau nu. Dar nu poți să-l întrebi direct despre asta. Trebuie să scrieți o întrebare pe o foaie de hârtie și să i-o dați Evei, care i-o va duce lui Bob și apoi să îi aducă înapoi răspunsul. Ce ar trebui să scrieți pe o foaie de hârtie (fără întrebare directă) pentru ca Bob să înțeleagă mesajul și Eve să nu poată afla numărul dvs. de telefon?

Poziție: dezvoltator software

Răspuns. Deoarece doar testezi, roagă-l să sune la o anumită oră. Dacă nu face asta, înseamnă că nu are numărul tău. Prea uşor? Un alt răspuns posibil: „În acest caz, trebuie să utilizați o sumă de control Rugați-l pe Bob să adune toate numerele din numărul dvs. și să scrie rezultatul pe foaie, apoi să vi-l returneze.”

11. Ești căpitanul unei nave de pirați, iar echipajul tău va vota cum să împarți aurul furat. Dacă mai puțin de jumătate dintre pirați sunt de acord cu tine, vei muri. Cum împărțiți aurul astfel încât să obțineți o parte bună din pradă, dar să rămâneți în viață?

Post: director tehnic

Răspuns. Este necesar să împărțiți prada în mod egal între 51% din întreaga echipă.

12. Ai 8 bile de aceeași dimensiune. 7 dintre ele au aceeași greutate, iar unul cântărește puțin mai mult decât restul. Găsiți mingea care este mai grea decât celelalte folosind o cântar și doar două cântăriri?

Poziție: Manager de produs

Răspuns. Luați 6 din cele 8 bile și puneți câte 3 pe fiecare parte a cântarului. Dacă mingea grea nu se află în acest grup de bile, mai ai 2 de pus pe cântar și de a rezolva problema. Dacă mingea grea se află în primul grup de 6 bile, luați-le pe cele 3 care au fost cântărite în timpul primei cântăriri. Dintre acestea trei, pune două pe cântar. Dacă unul depășește, atunci ați găsit-o. Dacă cântăresc la fel, atunci mingea ta este cea pe care ai pus-o deoparte.

13. Ai 2 ouă și acces la o clădire de 100 de etaje. Ouăle pot fi fie foarte puternice, fie foarte fragile, ceea ce înseamnă că se pot sparge dacă scapă de la primul etaj, sau nu se sparg chiar dacă sunt aruncate de la etajul 100. Ambele ouă sunt exact la fel. Trebuie să aflați care etaj al acestei clădiri va fi cel mai înalt pentru a păstra integritatea ouălor atunci când cad din ea. Întrebare: Câte încercări trebuie să faci pentru a afla cel mai înalt etaj? Și nu poți sparge decât două ouă.

Poziție: Manager de produs

Răspuns: Cea mai mare cantitateîncercări – de 14 ori. În loc să spargeți etajele 10 la un moment dat, începeți de la 14, apoi mai urcați 13 etaje, apoi 12, apoi 11, apoi 10, 9, 8, 7, 6, 5, 4, până când ajungeți, veți ajunge la 99. Dacă oul s-a spart la etajul 100, ar fi 12 încercări (sau 11 dacă presupunem că oul se sparge la etajul 100). Să presupunem, de exemplu, că am aflat că etajul 49 este cel mai înalt etaj unde oul nu s-a spart, atunci încercările noastre sunt: ​​14, 27, 39, 50 (oul s-a spart la etajul 50) plus 40, 41, 42, 43, 44, 45, 46, 47, 48 și 49 etaje - un total de 14 încercări.

14. Explicați ce este o bază de date în trei propoziții, astfel încât nepotul dvs. de 8 ani să poată înțelege

Poziție: Manager de produs

Răspuns. Scopul principal al acestei întrebări este de a evalua capacitatea solicitantului de a explica o idee complexă în cuvinte simple. Iată încercarea noastră: „O bază de date este o mașină care își amintește o mulțime de informații despre lucruri diferite. Oamenii o folosesc pentru a-și aminti acele informații atunci când au nevoie. Hai să ne jucăm”.

15. Ai fost micșorat la dimensiunea unui nichel și masa ta a fost redusă proporțional pentru a se potrivi cu densitatea ta. Ești aruncat într-un pahar de blender gol. Cuțitele vor începe să se miște după 60 de secunde. Ce să fac?

Poziție: Manager de produs

Răspuns. Această întrebare evaluează creativitatea solicitantului. Am încerca să spargem motorul electric.

După finalizarea cursurilor, mi-am dat seama că multe cunoștințe vin cu multă durere. Dacă mai devreme știam pur și simplu că nu știu nimic, acum am început să-mi dau seama că eu am fost cel care nu știam.

Întrucât era abia mai și am programat interviul pentru toamnă, am decis să-mi continui studiile. După revizuirea cerințelor pentru postul vacant, s-a decis să mergem în două direcții în paralel: să continuați studierea algoritmilor și să urmați un curs de bază de învățare automată. Pentru primul obiectiv, am decis să trec de la cursuri la o carte și am ales lucrarea monumentală a lui Steven Skiena „Algoritmi. Manualul de proiectare a algoritmului. Nu la fel de monumental ca al lui Knut, dar totuși. Pentru al doilea obiectiv, m-am întors la Coursera și m-am înscris la cursul de Machine Learning al lui Andrew Ng.

Au mai trecut 3 luni si am terminat cursul si cartea.

Să începem cu cartea. Lectura s-a dovedit a fi destul de interesantă, deși nu ușoară. În principiu, aș recomanda cartea, dar nu imediat. În general, cartea oferă o privire mai detaliată asupra a ceea ce am învățat la curs. În plus, am descoperit (din punct de vedere formal) lucruri precum euristica și programarea dinamică. Desigur, le mai folosisem, dar nu știam cum se numesc. Cartea conține și o serie de povești din viața autorului (Povestea războiului), care diluează oarecum caracterul academic al prezentării. Apropo, a doua jumătate a cărții poate fi omisă, conține mai degrabă o descriere a problemelor existente și a metodelor de rezolvare a acestora. Este util dacă este folosit în mod regulat în practică, altfel va fi uitat imediat.

Am fost mai mult decât mulțumit de curs. Autorul își știe clar lucrurile și vorbește într-un mod interesant. În plus, mi-am amintit de la universitate, și anume algebra liniară și elementele de bază ale rețelelor neuronale, așa că nu am întâmpinat dificultăți deosebite. Structura cursului este destul de standard. Cursul este împărțit în săptămâni. În fiecare săptămână au loc prelegeri amestecate cu teste scurte. După cursuri, vi se dă o temă pe care trebuie să o faceți, să o trimiteți și aceasta va fi verificată automat. Pe scurt, lista lucrurilor predate în cadrul cursului este următoarea:
- functia de cost
- regresie liniară
- coborâre în gradient
- scalarea caracteristicilor
- ecuația normală
- regresie logistică
- clasificare multiclasă (unu vs toți)
- rețele neuronale
-repropagare
- regularizare
- părtinire/varianță
- curbe de învățare
- metrici de eroare (precizie, rechemare, F1)
- Suport Vector Machines (clasificare cu marjă mare)
- K-înseamnă
-Analiza componentelor principale
- detectarea anomaliilor
- filtrare colaborativă (sistem de recomandare)
- coborari stocastice, mini-batch, batch gradient
- invatare online
- reducerea hărții
- analiza plafonului
După finalizarea cursului, a fost prezentă o înțelegere a tuturor acestor subiecte. După 2 ani, aproape totul a fost uitat în mod natural. Îl recomand celor care nu sunt familiarizați cu învățarea automată și doresc să înțeleagă bine lucrurile de bază pentru a merge mai departe.

Prima alergare

Era deja septembrie și era timpul să ne gândim la un interviu. Deoarece aplicarea prin site este destul de dezastruoasă, am început să caut prieteni care lucrează la Google. Alegerea a căzut pe , deoarece el era singurul pe care îl cunoșteam direct (chiar dacă nu personal). A fost de acord să-mi trimită CV-ul și, în curând, am primit o scrisoare de la recrutor care se oferea să-i rezerv un loc în calendarul său pentru prima conversație Câteva zile mai târziu, a avut loc apelul. Am încercat să comunicăm prin Hangouts, dar calitatea a fost teribilă, așa că am trecut la telefon. Mai întâi, am discutat rapid despre standardul cum, de ce și de ce, apoi am trecut la screeningul tehnic. A constat dintr-o duzină de întrebări în spiritul „care este dificultatea de a introduce într-o hartă hash”, „ce copaci echilibrați cunoașteți”. Nu este dificil dacă ai cunoștințe de bază despre aceste lucruri. Screening-ul a decurs bine și pe baza rezultatelor au decis să organizeze primul interviu într-o săptămână.

Interviul a avut loc și prin Hangouts. Mai întâi au vorbit despre mine vreo 5 minute, apoi au trecut la problemă. Problema era pe grafice. Mi-am dat repede seama ce trebuie făcut, dar am ales algoritmul greșit. Când am început să scriu cod, mi-am dat seama de asta și am trecut la o altă opțiune, pe care am completat-o. Intervievatorul a pus mai multe întrebări despre complexitatea algoritmului și a întrebat dacă se poate face mai rapid. Am devenit cumva plictisitor și nu am putut. În acest moment, timpul a trecut și ne-am luat la revedere. Apoi, după aproximativ 10 minute, mi-am dat seama că în loc de algoritmul Dijkstra pe care l-am folosit, în această problemă anume aș putea folosi căutarea pe lățime, și ar fi mai rapid. După ceva timp, recrutorul a sunat și a spus că interviul a decurs bine și că ar trebui organizat altul. Ne-am convenit pentru încă o săptămână.

De data asta lucrurile s-au înrăutățit. Dacă prima dată intervievatorul a fost prietenos și sociabil, de data aceasta a fost oarecum posomorât. Nu mi-am putut da seama imediat de problema, deși ideile cu care mi-am venit ar putea, în principiu, să ducă la rezolvarea ei. Până la urmă, după mai multe îndemnuri de la intervievator, mi-a venit soluția. De data aceasta s-a dovedit a fi din nou o căutare pe lățime, doar din mai multe puncte. Am scris soluțiile, le-am întâlnit la timp, dar am uitat de cazurile marginale. După ceva timp, recrutorul a sunat și a spus că de data aceasta intervievatorul a fost nemulțumit, pentru că după părerea lui aveam nevoie de prea multe indicii (3 sau 4 bucăți) și am schimbat constant codul în timp ce scriam. Pe baza rezultatelor a două interviuri, s-a decis să nu merg mai departe, ci să amân următorul interviu cu un an, dacă îmi doresc acest lucru. De aceea ne-am luat rămas bun.

Și din această poveste am tras câteva concluzii:

  • Teoria este bună, dar trebuie să o navigați rapid
  • Teoria fără practică nu va ajuta. Trebuie să rezolvăm probleme și să aducem codificarea la automatitate.
  • Multe depind de intervievator. Și nu se poate face nimic în privința asta.

Pregătirea pentru a doua cursă

După ce m-am gândit la situație, am decis să încerc din nou peste un an. Și ușor editat obiectivul. Dacă înainte scopul principal era studiul, iar un interviu la Google era ca un morcov îndepărtat, acum trecerea unui interviu era scopul, iar studiul era mijlocul.
Astfel, a fost elaborat un nou plan, care a inclus următoarele puncte:
  • Continuați să studiați teoria citind cărți și articole.
  • Rezolvați probleme algoritmice în cantitate de 500-1000 de bucăți.
  • Continuați să învățați teoria urmărind videoclipuri.
  • Continuați să studiați teoria prin cursuri.
  • Studiați experiențele altor persoane cu interviuri la Google.
Am finalizat planul într-un an. În continuare voi descrie ce am făcut exact pentru fiecare dintre puncte.

Cărți și articole

Nici nu-mi amintesc numărul de articole pe care le-am citit atât în ​​rusă, cât și în engleză. Probabil cel mai util site Aceasta. Aici puteți găsi o descriere a unui număr mare de algoritmi interesanți cu exemple de cod.

Am citit 5 cărți: Algoritmi, ediția a 4-a (Sedgewick, Wayne), Introducere în algoritmi ediția a 3-a (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview ediția a 4-a (Gayle Laakmann), Interviuri de programare expuse ediția a 2-a (Mongan, Suojanen) , Giguere), Elemente de programare a interviurilor (Aziz, Lee, Prakash). Ele pot fi împărțite în 2 categorii. Prima include cărți de Sedgwick și Corman. Aceasta este o teorie. Restul este pregătirea pentru interviu. Sedgwick spune despre același lucru în carte ca și în cursurile sale. Doar în scris. Nu prea are rost să-l citiți cu atenție dacă ați urmat cursul, dar oricum merită să-l citiți. Dacă nu ați urmărit cursul, este logic să îl citiți. Cormen mi s-a părut prea plictisitor. Sincer să fiu, mi-a fost greu să-l stăpânesc. Tocmai l-am scos de acolo teoria maestru, și mai multe structuri de date rar utilizate (heap Fibonacci, arbore van Emde Boas, heap radix).

Merită să citești măcar o carte pentru a te pregăti pentru un interviu. Toate sunt construite pe aproximativ același principiu. Ei descriu procesul de interviu în marile companii de tehnologie, oferă lucruri de bază din Informatică, probleme pentru aceste lucruri de bază, soluții la probleme și analiza soluțiilor. Dintre cele trei de mai sus, probabil că aș recomanda Cracking the Coding Interview ca principală, iar restul sunt opționale.

Probleme algoritmice

Acesta a fost probabil cel mai interesant punct de pregătire. Poți, desigur, să te așezi și să rezolvi problemele prost. Există multe site-uri diferite pentru asta. Am folosit în principal trei: Hackerrank , CodeChefŞi LeetCode. Pe CodeChef, problemele sunt împărțite după dificultate, dar nu după subiect. Pe Hackerrank atât după complexitate, cât și după subiect.

Dar, după cum am aflat imediat pentru mine, sunt mai multe mod interesant. Și acestea sunt competiții (provocări de programare sau concursuri de programare). Toate cele trei site-uri le oferă. Adevărat, există o problemă cu LeetCode - un fus orar incomod. De aceea nu am participat pe acest site. Hackerrank și CodeChef oferă un număr destul de mare de competiții diferite, cu o durată de la 1 oră la 10 zile. În diferite formate reguli diferite, ei bine, da, pot vorbi despre asta mult timp. Principalul motiv pentru care competițiile sunt bune este introducerea unui element competitiv (și din nou tautologic) în procesul de învățare.

În total, am participat la 37 de competiții pe Hackerrank. Dintre acestea, 32 au fost evaluate, iar 5 au fost fie sponsorizate (am primit chiar 25 de dolari într-una dintre ele), fie pentru distracție. În clasament am fost în top 4% de 10 ori, în top 12% de 11 ori și în top 25% de 5 ori. Cele mai bune rezultate au fost 27/1459 în 3 ore și 22/9721 în săptămână.

Am trecut la CodeChef când Hackerrank a început să găzduiască competiții mai rar. În total am reușit să particip la 5 competiții. Cel mai bun scor a fost 426/5019 în competiția de zece zile.

În total, la concursuri și chiar așa, am rezolvat puțin mai mult de 1000 de probleme, care se încadrau în plan. Acum, din păcate, nu există timp liber pentru a continua activitățile competitive, la fel cum nu există niciun obiectiv pentru care timpul liber să poată fi anulat. Dar a fost distractiv. Recomand celor care sunt interesați de acest lucru să găsească oameni cu gânduri asemănătoare. Împreună sau în grup este mult mai interesant. M-am distrat cu asta cu un prieten, așa că poate a mers bine.

Urmăriți videoclipul

După ce am citit cartea lui Skiena, am devenit interesat de ceea ce făcea el. La fel ca Sedgwick, este profesor universitar. În acest sens, videoclipurile cursurilor sale pot fi găsite online. Am decis să revizuiesc cursul COMP300E - Provocări de programare - 2009 HKUST. Nu pot spune că mi-a plăcut foarte mult. În primul rând, calitatea video nu este foarte bună. În al doilea rând, nu am încercat să rezolv singur problemele discutate la curs. Deci logodna nu a fost foarte mare.
De asemenea, rezolvând probleme, încercând să găsesc algoritmul potrivit, am dat peste videoclipul lui Tushar Roy. A lucrat la Amazon și acum lucrează la Apple. După cum am aflat mai târziu pentru mine, el a făcut-o canal YouTube, unde postează o analiză a diverșilor algoritmi. La momentul scrierii, canalul conține 103 videoclipuri. Și trebuie să spun că analiza lui a fost făcută foarte bine. Am încercat să urmăresc alți autori, dar cumva nu a funcționat. Așa că pot recomanda cu siguranță acest canal pentru vizionare.

Urmează cursuri

Nu am făcut nimic special aici. Am vizionat un videoclip de la Google Android Developer Nanodegree și am urmat un curs de la ITMO How to Win Coding Competitions: Secrets of Champions. Nanodegree este destul de bun, deși în mod natural nu am învățat nimic nou de acolo. Cursul de la ITMO este puțin înghesuit ca teorie, dar problemele au fost interesante. Nu aș recomanda să începeți cu el, dar în principiu a fost timp bine petrecut.

Învață din experiențele altora

Desigur, mulți oameni au încercat să intre în Google. Unii au intrat, alții nu. Unii au scris articole despre asta. Dintre lucrurile interesante, probabil îl voi menționa pe acesta și pe acesta. În primul caz, persoana și-a pregătit pentru sine o listă cu ceea ce trebuie să învețe pentru a deveni inginer software și a intra în Google. În cele din urmă a ajuns în Amazon, dar asta nu mai este atât de important. Al doilea manual a fost scris de inginerul Google, Larisa Agarkova (). Pe lângă acest document, puteți citi și blogul ei.

A doua cursă

Și acum a trecut un an. S-a dovedit a fi foarte intens din punct de vedere al studiilor. Dar am abordat noua toamnă cu mult mai adânc cunoștințe teoreticeși abilități practice dovedite. Au mai rămas câteva săptămâni până la sfârșitul anului care mi-au fost alocat pentru pregătire, când dintr-o dată a picat pe e-mail o scrisoare a unui recrutor de la Google, în care mă întreba dacă mai am dorința de a lucra la Google și Mă deranjează să vorbesc cu el. Desigur, nu m-a deranjat. Am fost de acord să sunăm într-o săptămână. Mi-au cerut și un CV actualizat, la care am atașat scurtă descriere ce am făcut pe parcursul anului la serviciu și în general.

După ce am comunicat pe viață, am decis ca într-o săptămână să fie un interviu Hangout, la fel ca anul trecut. A trecut o săptămână, a venit vremea interviului, dar intervievatorul nu s-a prezentat. Au trecut 10 minute, deja începeam să devin nervos, când deodată cineva a izbucnit în chat. După cum sa dovedit puțin mai târziu, din anumite motive intervievatorul meu nu a putut apărea și i s-a găsit urgent un înlocuitor. Persoana a fost oarecum nepregătită atât în ​​ceea ce privește configurarea computerului, cât și în ceea ce privește desfășurarea interviului. Dar apoi totul a mers bine. Am rezolvat problema rapid, am descris unde erau posibile capcane și cum puteau fi ocolite. Am discutat mai multe opțiuni diferite sarcini, complexitatea algoritmului. Apoi am vorbit încă 5 minute, inginerul ne-a spus impresiile sale de a lucra la München (se pare că nu au găsit un înlocuitor urgent la Zurich), apoi ne-am despărțit.

În aceeași zi, recrutorul m-a contactat și mi-a spus că interviul a decurs bine și că sunt gata să mă invite la un interviu în birou. A doua zi am sunat prin Hangouts și am discutat detaliile. Deoarece trebuia să aplic pentru o viză, am decis să programăm un interviu într-o lună.

În timp ce pregăteam documentele, am discutat simultan despre viitorul interviu cu recrutorul. Un interviu standard la Google constă din 4 interviuri algoritmice și un interviu System Design. Dar, din moment ce aplicam pentru un loc de muncă ca dezvoltator Android, mi s-a spus că o parte a interviului va fi cu specificul Android. Nu am putut să-l scot de la recrutor exact ce și care ar fi specificul. Din câte am înțeles, acest lucru a fost introdus relativ recent și el însuși nu era prea conștient. De asemenea, m-am înscris la două sesiuni de instruire: cum să promovez un interviu algoritmic și cum să trec un interviu pentru proiectarea sistemului. Sesiunile au fost de o utilitate medie. Nici acolo nimeni nu mi-a putut spune ce întreabă dezvoltatorii Android. Prin urmare, pregătirea mea pentru această lună s-a rezumat la următoarele:

  • Achizitie tabla de marcareși scrierea din memorie a 2-3 zeci dintre cei mai populari algoritmi. 3-5 bucăți în fiecare zi. În total, fiecare a fost scris de mai multe ori.
  • Reîmprospătează-ți memoria cu diverse informații pe Android pe care nu le folosești în fiecare zi
  • Vizionează câteva videoclipuri despre Big Scale și chestii de genul ăsta
După cum am mai spus, în același timp pregăteam documente pentru călătorie. Pentru început, mi-au cerut informații pentru a face o scrisoare de invitație. Apoi am încercat multă vreme să aflu cine în Cipru eliberează vize pentru Elveția, deoarece ambasada Elveției nu se ocupă de asta. După cum sa dovedit, consulatul austriac face acest lucru. Am sunat si am facut o programare. Au cerut o grămadă de documente, dar nimic deosebit de interesant. Fotografie, pașaport, permis de ședere, o grămadă de certificate diferite și, bineînțeles, o scrisoare de invitație. Între timp scrisoarea nu a sosit. În cele din urmă, am mers cu o imprimare obișnuită și a funcționat destul de bine. Scrisoarea în sine a sosit 3 zile mai târziu, iar FedEx cipriot nu a reușit să-mi găsească adresa și a trebuit să o iau eu. În același timp, am primit un colet de la același FedEx, pe care nici ei nu mi l-au putut livra, deoarece nu au găsit adresa și care zăcea acolo din iunie (5 luni, Karl, de când nu am găsit-o). știu despre asta, ceea ce este firesc și nu am presupus că au primit viza la timp, după care mi-au rezervat un hotel și mi-au oferit opțiuni de zbor pentru a fi mai convenabil, și nu mai erau zboruri directe la final am zburat acolo prin Atena și înapoi prin Viena.

După ce s-au rezolvat toate formalitățile cu călătoria, au mai trecut câteva zile și chiar am zburat la Zurich. Am ajuns acolo fără incidente. De la aeroport la oraș am luat trenul - rapid și convenabil. După ce m-am plimbat puțin prin oraș, am găsit un hotel și m-am cazat. Deoarece hotelul era rezervat fără mâncare, am luat cina alături și m-am culcat, pentru că zborul era dimineața și deja îmi doream să dorm. A doua zi am luat micul dejun la hotel (pentru bani in plus) si am mers la biroul Google. Google are mai multe birouri în Zurich. Interviul meu nu a fost la cel central. Și, în general, biroul arăta destul de obișnuit, așa că nu am avut ocazia să mă uit la toate bunătățile unui birou Google „normal”. M-am înregistrat la administrator și m-am așezat să aștept. După ceva timp, recrutorul a ieșit și mi-a spus planul zilei, după care m-a dus în camera unde urmau să aibă loc interviurile. De fapt, planul a inclus 3 interviuri, prânz și încă 2 interviuri.

Interviul numărul unu

Primul interviu a fost doar pe Android. Și nu a avut nicio legătură cu algoritmii. Surpriză, totuși. Ei bine, bine, este și mai frecvent în acest fel. Ni s-a cerut să facem o anumită componentă a UI. Mai întâi am discutat despre ce și cum. S-a oferit să facă o soluție folosind RxJava, a descris exact ce ar face și de ce. Ei au spus că acest lucru este cu siguranță bun, dar să o facem folosind framework-ul Android. Și în același timp vom scrie codul pe tablă. Și nu doar o componentă, ci întreaga Activitate care utilizează această componentă. Pentru asta nu eram pregătit. Una este să scrii un algoritm de 30-50 de linii pe tablă și alta este să scrii tăiței de cod Android, chiar și cu abrevieri și comentarii în spiritul „ei bine, nu voi scrie asta, deoarece este deja evident”. Rezultatul a fost un fel de vinegretă pentru 3 plăci. Aceste. Am rezolvat problema, dar părea prost.

Interviul numărul doi

De data aceasta interviul a fost despre algoritmi. Și au fost doi intervievatori. Unul este intervievatorul propriu-zis, iar al doilea este un tânăr padawan (intervievatorul din umbră). A fost necesar să se vină cu o structură de date cu anumite proprietăți. În primul rând, am discutat problema ca de obicei. Am pus diferite întrebări, a răspuns intervievatorul. După ceva timp, li s-a cerut să scrie pe tablă mai multe metode ale structurii inventate. De data aceasta am avut mai mult sau mai puțin succes, deși cu câteva erori minore, pe care le-am corectat la îndemnul intervievatorului.

Interviul numărul trei

De data aceasta System Design, care s-a dovedit brusc a fi și Android. A fost necesară dezvoltarea unei aplicații cu anumite funcționalități. Am discutat despre cerințele pentru aplicație, server și protocolul de comunicare. Apoi, am început să descriu ce componente sau biblioteci aș folosi atunci când construiesc aplicația. Și apoi, când am menționat Job Scheduler, a existat o confuzie. Ideea este că nu l-am folosit niciodată în practică, deoarece la momentul lansării sale tocmai treceam la aplicații de suport în care nu existau sarcini pentru utilizarea sa. Același lucru s-a întâmplat la dezvoltarea celor ulterioare. Adică, în teorie, știu ce este acest lucru, când și cum este folosit, dar nu am experiență în folosirea lui. Iar intervievatorului nu părea să-i placă prea mult. Apoi mi-au cerut să scriu un cod. Da, atunci când dezvoltați o aplicație trebuie imediat să scrieți cod. Din nou cod Android pe placă. S-a dovedit din nou înfricoșător.

Cină

Trebuia să vină o altă persoană, dar nu a venit. Și Google face greșeli. Drept urmare, m-am dus la prânz cu intervievatorul precedent, colegul ei, iar puțin mai târziu s-a alăturat următorul intervievator. Prânzul a fost destul de decent. Din nou, din moment ce acesta nu este biroul principal din Zurich, sala de mese arăta destul de obișnuită, deși foarte drăguță.

Interviul numărul patru

În cele din urmă, algoritmii în forma lor cea mai pură. Am rezolvat prima problemă destul de repede și imediat eficient, deși am ratat un caz marginal, dar la solicitarea intervievatorului (a dat chiar acest caz marginal) am găsit problema și am corectat-o. Desigur, a trebuit să scriu codul pe tablă. Apoi a fost dată o sarcină similară, dar mai dificilă. Pentru asta, am găsit câteva soluții neoptimale și aproape am găsit-o pe cea optimă, 5-10 minute nu au fost suficiente pentru a termina gândul. Ei bine, nu am avut timp să scriu codul pentru el.

Interviul numărul cinci

Și din nou interviu Android. Mă întreb de ce am studiat algoritmi tot anul?
La început au fost câteva întrebări simple. Apoi intervievatorul a scris cod pe tablă și a cerut să găsească probleme în el. L-am găsit, l-am explicat, l-am reparat. Discutat. Și apoi au început câteva întrebări neașteptate în spiritul „ce face metoda Y în clasa X”, „ce este în interiorul metodei Y”, „ce face clasa Z”. Desigur, am răspuns ceva, dar apoi am spus că nu am întâlnit asta în munca mea recent și, firește, nu-mi amintesc cine face ce și cum în detaliu. După aceea, intervievatorul a întrebat ce fac acum. Și întrebările au mers pe această temă. Am raspuns deja mult mai bine aici.

După încheierea ultimului interviu, mi-au luat permisul, mi-au urat succes și m-au trimis pe drum. M-am plimbat puțin prin oraș, am luat cina și m-am dus la hotel, unde m-am culcat, deoarece zborul era din nou dimineața devreme. A doua zi am ajuns cu bine în Cipru. La solicitarea recrutorului, am scris feedback la interviu și am completat un formular într-un serviciu special pentru a returna banii cheltuiți. Dintre toate cheltuielile, Google plătește direct doar biletele. Hotelul, mâncarea și călătoria sunt plătite de candidat. Apoi completăm formularul, atașăm chitanțele și îl trimitem la un birou special. Ei procesează acest lucru și transferă bani în cont destul de repede.

A durat o săptămână și jumătate pentru a procesa rezultatele interviului. După care am fost informat că sunt „puțin sub bară”. Adică am rămas puțin scurt. Ca să fiu mai specific, 2 interviuri au mers bine, 2 puțin nu atât de bine și System Design nu foarte bine. Acum, dacă măcar 3 ar fi mers bine, atunci am fi putut concura, altfel nu avem nicio șansă. S-au oferit să revină peste un an.

La început, bineînțeles, am fost supărat, pentru că s-au depus mult efort pentru pregătire, iar la momentul interviului mă gândeam deja să plec din Cipru. Să te înscrii la Google și să te muți în Elveția mi s-a părut o opțiune grozavă.

Concluzie

Și aici ajungem la partea finală a articolului. Da, am picat interviul Google de două ori. E trist. Probabil că ar fi interesant să lucrezi acolo. Dar, puteți privi problema din cealaltă parte.
  • Într-un an și jumătate, am învățat o mulțime de lucruri legate de dezvoltarea de software.
  • M-am distrat foarte mult participând la concursuri de programare.
  • Am fost la Zurich pentru câteva zile. Când voi merge din nou acolo?
  • Am avut o experiență interesantă de interviu la una dintre cele mai mari companii IT din lume.
Astfel, tot ce s-a întâmplat în acest an și jumătate poate fi considerat pur și simplu antrenament, sau antrenament. Și rezultatele acestui antrenament s-au făcut simțite. Ideea mea de a pleca din Cipru s-a maturizat (din cauza unor circumstante familiale), am trecut cu succes de mai multe interviuri cu un alt firma cunoscutași s-a mutat 8 luni mai târziu. Dar asta este o cu totul altă poveste. Cu toate acestea, cred că ar trebui să-i mulțumesc în continuare Google atât pentru acest an și jumătate la care am lucrat singur, cât și pentru 2 zile interesante în Zurich.

Ce pot sa spun pana la urma? Dacă lucrezi în IT, pregătește-te pentru interviuri la Google (Amazon, Microsoft, Apple etc.). Poate că într-o zi vei merge acolo să ajungi acolo. Chiar dacă nu vrei, crede-mă, o astfel de pregătire nu te va face mai rău. În momentul în care îți dai seama că poți (chiar și numai cu noroc) să obții un interviu cu una dintre aceste companii, ți se vor deschide mult mai multe drumuri decât înainte de a-ți începe pregătirea. Și tot ce ai nevoie pe parcurs este scop, persistență și timp. iti doresc succes :)