Com preparar-se per a una entrevista a Google i fallar-la. Dues vegades

Com preparar-se per a una entrevista a Google i fallar-la. Dues vegades

El títol de l'article sembla un fracàs èpic, però en realitat no tot és tan senzill. I en general, aquesta història va acabar molt positivament, encara que no a Google. Però aquest és un tema per a un altre article. En aquest mateix article parlaré de tres coses: com va anar el meu procés de preparació, com es van fer les entrevistes a Google i per què, al meu entendre, no tot està tan clar com podria semblar.

Com va començar tot

Un vespre fred d'hivern xipriota, de sobte se'm va ocórrer que el meu coneixement de la informàtica clàssica estava molt lluny de la mitjana, i calia fer-hi alguna cosa. Si, per cert, algú encara no ha llegit per què el vespre és xipriota i fred, aleshores podeu esbrinar-ho aquí. Després d'una reflexió, es va decidir començar fent un curs en línia sobre algorismes i estructures de dades. D'un dels meus antics col·legues vaig saber parlar del curs de Robert Sedgewick sobre Coursera. El curs consta de dues parts (part de 1 и part de 2). Si de sobte els enllaços canvien, sempre podeu buscar a Google el nom de l'autor. Cada part dura 6 setmanes. Les classes es donen a principi de setmana, i durant la setmana encara cal fer exercicis. La primera part del curs tracta les estructures bàsiques de dades, els tipus bàsics d'ordenació i la complexitat dels algorismes. La segona part ja és més avançada, començant amb gràfics i acabant amb coses com ara Programació lineal i Intractabilitat. Després de pensar en tot l'anterior, vaig arribar a la conclusió que això és exactament el que necessito. Per cert, un lector curiós es pot preguntar, què hi té a veure Google? I de fet, fins aquest moment no hi havia res a veure. Però necessitava un objectiu, ja que estudiar durant 12 setmanes al vespre sense objectiu és una mica difícil. Quin podria ser l'objectiu d'adquirir nous coneixements? Per descomptat, la seva aplicació a la pràctica. A la vida quotidiana això és bastant problemàtic, però durant una entrevista amb una gran empresa és fàcil. Un ràpid Google va demostrar que Google (perdoneu la tautologia) és una de les empreses més grans d'Europa (i jo mirava específicament a Europa) que realitza aquestes entrevistes. És a dir, la seva oficina es troba a Zuric, Suïssa. Així que s'ha decidit: estudiem i fem una entrevista a Google.

Preparant-se per a la primera aproximació

Les 12 setmanes van passar ràpidament i vaig completar els dos cursos. Les meves impressions sobre els cursos són més que positives, i puc recomanar-les a qualsevol persona interessada. M'han agradat els cursos pels següents motius:

  • El professor parla un anglès bastant clar
  • El material està ben estructurat
  • Presentacions magnífiques que mostren l'interior de cada algorisme
  • Selecció competent del material
  • Exercicis interessants
  • Els exercicis es revisen automàticament al lloc, després de la qual cosa es genera un informe

El meu treball als cursos normalment anava així. Vaig escoltar conferències en 1-2 dies. Després van fer una prova ràpida del seu coneixement del material. La resta de la setmana vaig fer l'exercici en diverses iteracions. Després del primer vaig aconseguir el meu 30-70%, els següents van portar el resultat al 97-100%. L'exercici normalment implicava implementar algun algorisme, p. Talla de costures o bzip.

Després d'acabar els cursos, em vaig adonar que molts coneixements ve amb molta pena. Si abans simplement sabia que no sabia res, ara vaig començar a adonar-me que era jo qui no ho sabia.

Com que només era el mes de maig, i vaig programar l'entrevista per a la tardor, vaig decidir continuar la meva formació. Després de revisar els requisits de la plaça, es va decidir anar en dues direccions en paral·lel: continuar estudiant algorismes i fer un curs bàsic d'aprenentatge automàtic. Per al primer objectiu, vaig decidir passar dels cursos a un llibre i vaig triar la monumental obra de Steven Skiena “Algoritmes. El manual de disseny d'algoritmes. No tan monumental com el de Knut, però tot i així. Per al segon gol, vaig tornar a Coursera i em vaig apuntar al curs d'Andrew Ng. Aprenentatge automàtic.

Van passar 3 mesos més i vaig acabar el curs i reservar.

Comencem pel llibre. La lectura va resultar força interessant, encara que no fàcil. En principi, recomanaria el llibre, però no de seguida. En general, el llibre ofereix una visió més detallada del que he après al curs. A més, vaig descobrir (des d'un punt de vista formal) coses com l'heurística i la programació dinàmica. Naturalment, els havia utilitzat abans, però no sabia com es deien. El llibre també conté una sèrie de contes de la vida de l'autor (Història de guerra), que dilueixen una mica el caràcter acadèmic de la presentació. Per cert, la segona meitat del llibre es pot ometre; conté més aviat una descripció dels problemes existents i els mètodes per resoldre'ls. És útil si s'utilitza regularment a la pràctica, en cas contrari s'oblidarà immediatament.

Vaig estar més que satisfet amb el curs. L'autor sap clarament les seves coses i parla d'una manera interessant. A més d'una bona part, és a dir, l'àlgebra lineal i els conceptes bàsics de les xarxes neuronals, vaig recordar de la universitat, així que no vaig experimentar cap dificultat particular. L'estructura del curs és força estàndard. El curs es divideix en setmanes. Cada setmana hi ha conferències barrejades amb proves breus. Després de les conferències, se us lliura una tasca que heu de fer, enviar i es comprovarà automàticament. Breument, la llista de coses que s'imparteixen al curs és la següent:
- funció de cost
- regressió lineal
- descens en desnivell
- escala de característiques
- equació normal
- regressió logística
- classificació multiclasse (un contra tots)
- xarxes neuronals
- retropropagació
- regularització
- biaix/variància
- Corbes d'aprenentatge
— mètriques d'error (precisió, record, F1)
— Màquines vectorials de suport (classificació de marge gran)
—K-significa
—Anàlisi de components principals
- Detecció d'anomalies
— filtratge col·laboratiu (sistema de recomanació)
— estocàstics, mini-batch, descensos de gradient per lots
- aprenentatge en línia
- Reducció del mapa
- Anàlisi del sostre
Després de finalitzar el curs, es va poder comprendre tots aquests temes. Després de 2 anys, gairebé tot es va oblidar de manera natural. El recomano a aquells que no estiguin familiaritzats amb l'aprenentatge automàtic i vulguin entendre bé les coses bàsiques per seguir endavant.

Primera cursa

Ja era setembre i era hora de pensar en una entrevista. Com que la sol·licitud a través del lloc és bastant desastrosa, vaig començar a buscar amics que treballin a Google. L'elecció va caure datacompboy, ja que era l'únic que vaig conèixer directament (encara que no personalment). Va acceptar reenviar el meu currículum, i aviat vaig rebre una carta del reclutador que m'oferia reservar un lloc al seu calendari per a la primera conversa.Un parell de dies després va tenir lloc la trucada. Vam provar de comunicar-nos mitjançant Hangouts, però la qualitat era terrible, així que vam canviar al telèfon. Primer, vam parlar ràpidament de l'estàndard com, per què i per què, i després vam passar a la selecció tècnica. Consistia en una dotzena de preguntes amb l'esperit de "quina és la dificultat d'inserir en un mapa hash", "quins arbres equilibrats coneixeu". No és difícil si tens un coneixement bàsic d'aquestes coses. La projecció va anar bé i a partir dels resultats van decidir organitzar la primera entrevista en una setmana.

L'entrevista també es va fer a través de Hangouts. Primer van parlar de mi durant uns 5 minuts, després van passar al problema. El problema era en els gràfics. Ràpidament em vaig adonar del que calia fer, però vaig triar l'algoritme equivocat. Quan vaig començar a escriure codi em vaig adonar d'això i vaig canviar a una altra opció, que vaig completar. L'entrevistador va fer diverses preguntes sobre la complexitat de l'algorisme i va preguntar si es podia fer més ràpid. D'alguna manera em vaig tornar avorrit i no vaig poder fer-ho. En aquest moment s'havia acabat el temps i ens vam acomiadar. Aleshores, després d'uns 10 minuts, em vaig adonar que en comptes de l'algorisme de Dijkstra que feia servir, en aquest problema en particular podia fer servir la cerca en amplitud i seria més ràpid. Al cap d'un temps, el reclutador va trucar i va dir que l'entrevista en general va anar bé i que s'havia d'organitzar una altra. Ens vam posar d'acord una setmana més.

Aquesta vegada les coses van empitjorar. Si la primera vegada l'entrevistador era amable i sociable, aquesta vegada era una mica ombrívol. No vaig poder esbrinar el problema de seguida, tot i que les idees que em van sorgir podrien, en principi, conduir a la seva solució. Al final, després de diverses indicacions de l'entrevistador, em va arribar la solució. Aquesta vegada va tornar a ser una recerca en amplitud, només des de diversos punts. Vaig escriure les solucions, les vaig complir a temps, però em vaig oblidar dels casos extrems. Al cap d'un temps, el reclutador va trucar i va dir que aquesta vegada l'entrevistador estava descontent, perquè segons la seva opinió necessitava massa pistes (3 o 4 peces) i canviava constantment el codi mentre escrivia. A partir dels resultats de dues entrevistes, es va decidir no anar més enllà, sinó ajornar un any la següent entrevista, si així ho desitjava. Per això ens vam acomiadar.

I d'aquesta història vaig treure diverses conclusions:

  • La teoria és bona, però cal navegar-hi ràpidament
  • La teoria sense pràctica no ajudarà. Hem de resoldre problemes i portar la codificació a l'automatisme.
  • Molt depèn de l'entrevistador. I no es pot fer res al respecte.

Preparant la segona tirada

Després de pensar en la situació, vaig decidir tornar-ho a provar d'aquí a un any. I va editar lleugerament l'objectiu. Si abans l'objectiu principal era estudiar, i una entrevista a Google era com una pastanaga llunyana, ara passar una entrevista era l'objectiu, i estudiar era el mitjà.
Així doncs, es va elaborar un nou pla que incloïa els següents punts:

  • Continuar estudiant teoria llegint llibres i articles.
  • Resoldre problemes algorítmics en la quantitat de 500-1000 peces.
  • Continueu aprenent la teoria mirant vídeos.
  • Continuar estudiant teoria a través de cursos.
  • Estudieu les experiències d'altres persones amb entrevistes a Google.

Vaig completar el pla en un any. A continuació, descriuré què he fet exactament per a cadascun dels punts.

Llibres i articles

Ni tan sols recordo el nombre d'articles que vaig llegir; els vaig llegir tant en rus com en anglès. Probablement el lloc més útil això. Aquí podeu trobar una descripció d'un gran nombre d'algorismes interessants amb exemples de codi.

He llegit 5 ​​llibres: Algoritmes, 4a edició (Sedgewick, Wayne), Introducció als algoritmes 3a edició (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4a edició (Gayle Laakmann), Programming Interviews Exposed 2a edició (Mongan, Suojanen) , Giguere), Elements of Programming Interviews (Aziz, Lee, Prakash). Es poden dividir en 2 categories. El primer inclou llibres de Sedgwick i Corman. Això és una teoria. La resta és la preparació de l'entrevista. Sedgwick explica el mateix al llibre que als seus cursos. Només per escrit. No té gaire sentit llegir-lo amb atenció si has fet el curs, però val la pena, de totes maneres. Si no heu vist el curs, té sentit llegir-lo. Cormen em va semblar massa avorrit. Per ser sincer, em va costar dominar-ho. L'acabo de treure d'allà teoria mestra, i diverses estructures de dades poc utilitzades (munt de Fibonacci, arbre de van Emde Boas, munt de radix).

Val la pena llegir almenys un llibre per preparar una entrevista. Tots estan construïts sobre aproximadament el mateix principi. Descriuen el procés d'entrevista a les grans empreses tecnològiques, donen coses bàsiques d'Informàtica, problemes per a aquestes coses bàsiques, solucions a problemes i anàlisi de solucions. De les tres anteriors, probablement recomanaria Cracking the Coding Interview com a principal, i la resta són opcionals.

Problemes algorítmics

Aquest va ser probablement el punt de preparació més interessant. Per descomptat, pots seure i resoldre problemes estúpidament. Hi ha molts llocs diferents per a això. En vaig utilitzar principalment tres: Hackerrank, CodeChef и LeetCode. A CodeChef, els problemes es divideixen per dificultat, però no per tema. A Hackerrank tant per complexitat com per tema.

Però com de seguida vaig descobrir per mi mateix, hi ha una manera més interessant. I això són concursos (reptes de programació o concursos de programació). Els tres llocs els proporcionen. És cert que hi ha un problema amb LeetCode: una zona horària incòmode. És per això que no vaig participar en aquest lloc. Hackerrank i CodeChef ofereixen un nombre bastant gran de competicions diferents, amb una durada d'1 hora a 10 dies. Els diferents formats tenen regles diferents, però podríem parlar d'això durant molt de temps. El punt principal per què les competicions són bones és la introducció d'un element competitiu (i de nou tautologia) en el procés d'aprenentatge.

En total, vaig participar en 37 competicions a Hackerrank. D'aquests, 32 van ser valorats i 5 van ser patrocinats (fins i tot vaig rebre 25 dòlars en un d'ells) o per diversió. Al rànquing vaig estar en el primer 10% 4 vegades, en el primer 11% 12 vegades i en el primer 5% 25 vegades. Els millors resultats van ser 27/1459 a les 3 hores i 22/9721 a la setmana.

Vaig canviar a CodeChef quan Hackerrank va començar a organitzar competicions amb menys freqüència. En total vaig aconseguir participar en 5 competicions. La millor puntuació va ser 426/5019 en la competició de deu dies.

En total, a les competicions i així, vaig resoldre una mica més de 1000 problemes, que encaixaven en el pla. Ara, malauradament, no hi ha temps lliure per continuar les activitats competitives, de la mateixa manera que no hi ha cap objectiu pel qual es pugui cancel·lar el temps lliure. Però va ser divertit. Recomano que aquells que estiguin interessats en això trobin persones amb idees afins. Junts o en grup és molt més interessant. Em vaig divertir amb això amb un amic, així que potser va anar bé.

Veure vídeo

Després de llegir el llibre de Skiena, em vaig interessar pel que estava fent. Com Sedgwick, és professor universitari. En aquest sentit, es poden trobar vídeos dels seus cursos en línia. Vaig decidir revisar el curs COMP300E - Reptes de programació - 2009 HKUST. No puc dir que m'hagi agradat molt. En primer lloc, la qualitat del vídeo no és gaire bona. En segon lloc, no vaig intentar resoldre jo mateix els problemes tractats al curs. Així que el compromís no era gaire elevat.
A més, mentre resolia problemes, intentava trobar l'algoritme adequat, em vaig trobar amb el vídeo de Tushar Roy. Va treballar a Amazon i ara treballa a Apple. Com més tard vaig descobrir per mi mateix, ho ha fet Canal de YouTube, on publica una anàlisi de diversos algorismes. En el moment d'escriure aquest article, el canal conté 103 vídeos. I he de dir que la seva anàlisi es va fer molt bé. Vaig intentar mirar altres autors, però d'alguna manera no va funcionar. Així que definitivament puc recomanar aquest canal per veure'l.

Fent cursos

Aquí no he fet res especial. He vist un vídeo de Nanodegree per a desenvolupadors d'Android de Google i he fet un curs d'ITMO Com guanyar competicions de codificació: secrets dels campions. Nanodegree és força bo, tot i que, naturalment, no n'he après res nou. El curs d'ITMO és una mica esbiaixat en termes de teoria, però els problemes eren interessants. No recomanaria començar amb ell, però en principi va ser un temps ben aprofitat.

Aprèn de les experiències d'altres persones

Per descomptat, molta gent va intentar entrar a Google. Alguns ho van aconseguir, altres no. Alguns han escrit articles sobre això. De les coses interessants que probablement esmentaré aquest и aquest. En el primer cas, la persona es va preparar una llista del que necessita aprendre per convertir-se en enginyer de programari i entrar a Google. Finalment va acabar a Amazon, però això ja no és tan important. El segon manual va ser escrit per l'enginyer de Google, Larisa Agarkova (Larrr). A més d'aquest document, també podeu llegir-lo el seu blog.

Té sentit llegir les ressenyes de les entrevistes a Glassdoor. Tots són més o menys semblants, però podeu obtenir informació útil.

No proporcionaré enllaços a altres articles petits; els podeu trobar fàcilment a Google.

Segona tirada

I ara ha passat un any. Va resultar ser molt intens pel que fa als estudis. Però em vaig acostar a la nova tardor amb un coneixement teòric molt més profund i desenvolupat habilitats pràctiques. Encara quedaven unes quantes setmanes perquè acabés l'any que em van destinar per preparar-me, quan de sobte va sortir al correu una carta d'un reclutador de Google, en la qual em preguntava si encara tenia ganes de treballar a Google i M'importa parlar amb ell. Naturalment, no m'importava. Vam acordar trucar en una setmana. També em van demanar un currículum actualitzat, al qual vaig afegir una breu descripció del que vaig fer durant l'any a la feina i en general.

Després de comunicar-nos per a tota la vida, vam decidir que d'aquí a una setmana hi hauria una entrevista de Hangout, igual que l'any passat. Va passar una setmana, era el moment de l'entrevista, però l'entrevistador no es va presentar. Van passar 10 minuts, ja començava a posar-me nerviós, quan de sobte algú va irrompre al xat. Com va resultar una mica més tard, el meu entrevistador per algun motiu no va poder aparèixer i se li va trobar urgentment un substitut. La persona no estava una mica preparada tant pel que fa a la configuració de l'ordinador com pel que fa a la realització de l'entrevista. Però després tot va anar bé. Vaig resoldre el problema ràpidament, vaig descriure on eren possibles inconvenients i com es podrien evitar. Vam discutir diverses versions diferents del problema i la complexitat de l'algorisme. Després vam parlar 5 minuts més, l'enginyer ens va explicar les seves impressions de treballar a Munic (aparentment no van trobar cap substitut urgent a Zuric), i després ens vam separar.

El mateix dia, un reclutador es va posar en contacte amb mi i em va dir que l'entrevista va anar bé i que estaven disposats a convidar-me a una entrevista a l'oficina. L'endemà vam trucar a Hangouts i vam parlar dels detalls. Com que necessitava sol·licitar un visat, vam decidir programar una entrevista en un mes.

Mentre preparava els documents, vaig parlar simultàniament de la propera entrevista amb el reclutador. Una entrevista estàndard a Google consta de 4 entrevistes algorítmiques i una entrevista de System Design. Però, com que estava sol·licitant una feina com a desenvolupador d'Android, em van dir que una part de l'entrevista seria específica d'Android. No vaig poder treure'l del reclutador exactament què i quines serien les especificitats. Pel que tinc entès, això es va presentar fa relativament poc i ell mateix no n'era gaire conscient. També em vaig apuntar a dues sessions de formació: com aprovar una entrevista algorítmica i com aprovar una entrevista de disseny de sistemes. Les sessions van ser d'utilitat mitjana. Allà tampoc ningú em podria dir què demanen als desenvolupadors d'Android. Per tant, la meva preparació per aquest mes es va reduir al següent:

  • Comprar un tauler de marcadors i escriure-hi 2-3 dotzenes dels algorismes més populars des de la memòria. 3-5 peces cada dia. En total, cadascun es va escriure diverses vegades.
  • Actualitzeu la memòria de diverses informacions a Android que no feu servir cada dia
  • Mirant uns quants vídeos sobre Big Scale i coses com aquestes

Com ja he dit, al mateix temps estava preparant documents per al viatge. Per començar, em van demanar informació per fer una carta d'invitació. Llavors vaig intentar durant molt de temps esbrinar qui a Xipre emet visats a Suïssa, ja que l'ambaixada de Suïssa no s'ocupa d'això. Com va resultar, el consolat austríac ho està fent. Vaig trucar i vaig demanar cita. Van demanar un munt de documents, però res especialment interessant. Foto, passaport, permís de residència, un munt de certificats diferents i, per descomptat, una carta d'invitació. Mentrestant la carta no va arribar. Al final, vaig anar amb una impressió regular i va funcionar força bé. La carta va arribar 3 dies després i el FedEx xipriota no va poder trobar la meva adreça i vaig haver d'anar a buscar-la jo mateix. Al mateix temps, vaig rebre un paquet de la mateixa FedEx, que tampoc em van poder lliurar, ja que no van trobar l'adreça, i que estava allà des del juny (5 mesos, Karl). Com que no ho sabia, naturalment, no vaig suposar que en tenien. Vaig rebre el meu visat a temps, després em van reservar un hotel i em van oferir opcions de vol. He ajustat les opcions perquè sigui més còmode. Ja no hi havia vols directes, així que vaig acabar volant allà via Atenes i tornada via Viena.

Després de resoldre tots els tràmits amb el viatge, van passar uns quants dies més i, de fet, vaig volar a Zuric. Hi vaig arribar sense incidents. De l'aeroport a la ciutat vaig agafar el tren, ràpid i còmode. Després de passejar una mica per la ciutat, vaig trobar un hotel i vaig registrar-me. Com que l'hotel estava reservat sense menjar, vaig sopar al costat i vaig anar a dormir, perquè el vol era de matí i ja tenia ganes de dormir. L'endemà vaig esmorzar a l'hotel (per diners extra) i vaig anar a l'oficina de Google. Google té diverses oficines a Zuric. La meva entrevista no va ser a la central. I, en general, l'oficina semblava bastant normal, així que no vaig tenir l'oportunitat de mirar totes les llaminadures d'una oficina "normal" de Google. Em vaig registrar amb l'administrador i em vaig asseure a esperar. Al cap d'un temps, el reclutador va sortir i em va explicar el pla del dia, després em va portar a la sala on s'havien de fer les entrevistes. De fet, el pla incloïa 3 entrevistes, dinar i 2 entrevistes més.

Entrevista número u

La primera entrevista va ser només a Android. I no tenia res a veure amb els algorismes. Sorpresa, però. Bé, d'acord, és encara més comú d'aquesta manera. Ens van demanar que fessim un determinat component d'IU. Primer vam parlar de què i com. Es va oferir a fer una solució amb RxJava, va descriure què faria exactament i per què. Van dir que això és sens dubte bo, però fem-ho utilitzant el marc d'Android. I al mateix temps escriurem el codi a la pissarra. I no només un component, sinó tota l'activitat que utilitza aquest component. Això és el que no estava preparat. Una cosa és escriure un algorisme de 30-50 línies a la pissarra i una altra cosa és escriure fideus de codi d'Android, fins i tot amb abreviatures i comentaris amb l'esperit de "bé, no escriuré això, ja que ja és evident". El resultat va ser una mena de vinagreta per a 3 taules. Aquells. Vaig resoldre el problema, però semblava ximple.

Entrevista número dos

Aquesta vegada l'entrevista era sobre algorismes. I hi havia dos entrevistadors. Un és l'entrevistador real i el segon és un jove padawan (entrevistador d'ombra). Calia crear una estructura de dades amb certes propietats. Primer, vam parlar del problema com de costum. Vaig fer diferents preguntes, va respondre l'entrevistador. Després d'un temps, se'ls va demanar que escrivissin a la pissarra diversos mètodes de l'estructura inventada. Aquesta vegada vaig tenir més o menys èxit, encara que amb alguns errors menors, que vaig corregir a instàncies de l'entrevistador.

Entrevista número tres

Aquesta vegada System Design, que de sobte també va resultar ser Android. Calia desenvolupar una aplicació amb certes funcionalitats. Hem comentat els requisits per a l'aplicació, el servidor i el protocol de comunicació. A continuació, vaig començar a descriure quins components o biblioteques faria servir per construir l'aplicació. I després, en esmentar Job Scheduler, hi va haver certa confusió. La qüestió és que mai el vaig utilitzar a la pràctica, ja que en el moment del seu llançament acabava de canviar a aplicacions de suport on no hi havia tasques per al seu ús. El mateix va passar en desenvolupar-ne els posteriors. És a dir, en teoria, sé què és aquesta cosa, quan i com s'utilitza, però no tinc experiència en utilitzar-la. I a l'entrevistador sembla que no li agradava gaire. Llavors em van demanar que escrivia un codi. Sí, quan es desenvolupa una aplicació, cal escriure codi immediatament. De nou el codi d'Android al tauler. Va tornar a fer por.

Dinar

Se suposava que havia de venir una altra persona, però no ho va fer. I Google s'equivoca. Com a resultat, vaig anar a dinar amb l'entrevistadora anterior, la seva col·lega, i una mica més tard es va incorporar la següent entrevistadora. El dinar va ser bastant decent. De nou, com que aquesta no és l'oficina principal de Zuric, el menjador semblava bastant normal, tot i que molt agradable.

Entrevista número quatre

Finalment, els algorismes en estat pur. Vaig resoldre el primer problema de manera bastant ràpida i immediatament eficaç, tot i que em vaig perdre un cas extrem, però quan l'entrevistador va indicar (va donar aquest mateix cas), vaig trobar el problema i el vaig corregir. Per descomptat, vaig haver d'escriure el codi a la pissarra. Aleshores es va donar una tasca semblant, però més difícil. Per això, vaig trobar un parell de solucions no òptimes i gairebé vaig trobar l'òptima, 5-10 minuts no van ser suficients per acabar el pensament. Bé, no vaig tenir temps d'escriure el codi.

Entrevista número cinc

I de nou entrevista per Android. Em pregunto per què vaig estudiar algorismes tot l'any?
Al principi hi havia unes quantes preguntes senzilles. Llavors l'entrevistador va escriure codi a la pissarra i va demanar que hi trobés problemes. Ho vaig trobar, ho va explicar, ho va arreglar. Es va discutir. I llavors van començar algunes preguntes inesperades amb l'esperit de "què fa el mètode Y a la classe X", "què hi ha dins del mètode Y", "què fa la classe Z". Per descomptat, vaig respondre alguna cosa, però després vaig dir que no m'he trobat amb això recentment a la meva feina i, naturalment, no recordo qui està fent què i com en detall. Després d'això, l'entrevistador em va preguntar què estava fent ara. I les preguntes anaven sobre aquest tema. Ja he contestat molt millor aquí.

Després d'acabar l'última entrevista, em van agafar el passi, em van desitjar molta sort i em van enviar el camí. Vaig passejar una mica per la ciutat, vaig sopar i vaig anar a l'hotel, on vaig anar a dormir, ja que el vol tornava a ser de bon matí. L'endemà vaig arribar segur a Xipre. A petició del reclutador, vaig escriure comentaris sobre l'entrevista i vaig omplir un formulari en un servei especial per retornar els diners gastats. De totes les despeses, Google paga directament només les entrades. L'hotel, el menjar i els viatges els paga el candidat. Després omplim el formulari, adjuntem els rebuts i l'enviem a una oficina especial. Ho processen i transfereixen diners al compte amb força rapidesa.

Va trigar una setmana i mitja a processar els resultats de l'entrevista. Després d'això, em van informar que estava "una mica per sota de la barra". És a dir, em vaig quedar una mica curt. Més concretament, 2 entrevistes van sortir bé, 2 una mica no tan bé i el Disseny del sistema no gaire bé. Ara, si almenys 3 haguessin anat bé, hauríem pogut competir, sinó no hi ha possibilitat. Es van oferir a tornar un any més.

Al principi, és clar, estava molest, perquè s'havia fet molt d'esforç en la preparació, i en el moment de l'entrevista ja estava pensant en marxar de Xipre. Unir-se a Google i traslladar-se a Suïssa semblava una gran opció.

Conclusió

I aquí arribem a la part final de l'article. Sí, he fallat l'entrevista de Google dues vegades. És trist. Probablement seria interessant treballar-hi. Però, podeu mirar l'assumpte des de l'altra banda.

  • En un any i mig, vaig aprendre una gran quantitat de coses relacionades amb el desenvolupament de programari.
  • Em vaig divertir molt participant en concursos de programació.
  • Vaig anar a Zuric un parell de dies. Quan hi tornaré?
  • Vaig tenir una interessant experiència d'entrevista en una de les empreses de TI més grans del món.

Així, tot el que va passar al llarg d'aquest any i mig es pot considerar simplement formació, o formació. I els resultats d'aquesta formació es van fer notar. La meva idea de marxar de Xipre va madurar (a causa d'algunes circumstàncies familiars), vaig superar amb èxit diverses entrevistes amb una altra empresa coneguda i em vaig mudar després de 8 mesos. Però aquesta és una història completament diferent. Tanmateix, crec que encara hauria d'agrair a Google tant per l'any i mig que vaig treballar amb mi mateix com per 2 dies interessants a Zuric.

Què puc dir finalment? Si treballes en informàtica, prepara't per a entrevistes a Google (Amazon, Microsoft, Apple, etc.). Potser algun dia hi aniràs per arribar-hi. Encara que no ho vulguis, creu-me, aquesta preparació no et farà pitjor. En el moment en què t'adones que pots (encara que només sigui amb sort) obtenir una entrevista amb una d'aquestes empreses, t'obriran molts més camins que abans de començar la teva preparació. I tot el que necessites al llarg del camí és propòsit, persistència i temps. Et desitjo èxit :)

Font: www.habr.com

Afegeix comentari