Nola prestatu elkarrizketa bat Googlen eta huts egin. Bi aldiz

Nola prestatu elkarrizketa bat Googlen eta huts egin. Bi aldiz

Artikuluaren izenburuak huts epikoa dirudi, baina errealitatean dena ez da hain erraza. Eta, oro har, istorio hau oso modu positiboan amaitu zen, nahiz eta Googlen ez. Baina hau beste artikulu baterako gaia da. Artikulu honetan bertan, hiru gauzari buruz hitz egingo dut: nola joan zen nire prestaketa prozesua, nola egin ziren Google-n elkarrizketak, eta zergatik, nire ustez, dena ez dagoela dirudien bezain argi.

Nola hasi zen dena

Zipreko neguko arratsalde hotz batean, pentsatu nuen bat-batean Informatika klasikoari buruzko nire ezagutza bataz bestetik oso urrun zegoela, eta zerbait egin behar zela. Bide batez, norbaitek oraindik irakurri ez badu zergatik den arratsaldea zipretarra eta hotza, orduan jakin dezakezu Hemen. Zenbait gogoeta egin ondoren, algoritmoei eta datu-egiturei buruzko lineako ikastaro bat egiten hastea erabaki zen. Nire lankide ohietako batek Robert Sedgewickek Coursera-ri buruzko ikastaroaren berri izan nuen. Ikastaroak bi zati ditu (1 zatia ΠΈ 2 zatia). Bat-batean estekak aldatzen badira, beti dezakezu Google egilearen izena. Zati bakoitzak 6 aste irauten du. Hitzaldiak aste hasieran ematen dira, eta astean zehar oraindik ariketak egin behar dituzu. Ikastaroaren lehen zatian oinarrizko datuen egiturak, oinarrizko ordenamendu motak eta algoritmoen konplexutasuna lantzen dira. Bigarren zatia jada aurreratuagoa da, grafikoekin hasi eta Programazio Lineala eta Trataezina bezalako gauzekin amaituz. Aurreko guztia pentsatu ondoren, hauxe dela behar dudana ondorioztatu nuen. Bide batez, irakurle jakintsu batek galdetu dezake, zer du Google-k horrekin? Eta, egia esan, momentu honetara arte ez zuen zerikusirik izan horrekin. Baina helburu bat behar nuen, arratsaldez 12 astez helbururik gabe ikastea zaila baita. Zein izan daiteke ezagutza berriak eskuratzearen helburua? Jakina, haien aplikazioa praktikan. Eguneroko bizitzan hori nahiko problematikoa da, baina enpresa handi bati egindako elkarrizketa batean erraza da. Google azkar batek erakutsi zuen Google (barkatu tautologia) horrelako elkarrizketak egiten dituen Europako enpresa handienetako bat dela (eta Europara bereziki aztertzen ari nintzen). Hain zuzen ere, haien bulegoa Zurichen (Suitza) dago. Beraz, erabaki da: ikas dezagun eta goazen elkarrizketa batera Google-n.

Lehen hurbilketa prestatzen

12 asteak azkar pasatu ziren eta bi ikastaroak burutu nituen. Ikastaroei buruz ditudan inpresioak positiboak baino gehiago dira, eta interesa duen edonori gomenda diezazkioket. Ikastaroak gustatu zitzaizkidan arrazoi hauengatik:

  • Irakasleak ingeles nahiko argi hitz egiten du
  • Materiala ondo egituratuta dago
  • Algoritmo bakoitzaren barnealdea erakusten duten aurkezpen zoragarriak
  • Materiala aukeratzeko eskumena
  • Ariketa interesgarriak
  • Ariketak automatikoki egiaztatzen dira gunean, eta ondoren txosten bat sortzen da

Ikastaroetan nire lana normalean horrela izaten zen. 1-2 egunetan hitzaldiak entzun nituen. Ondoren, materialaren ezagutzaren proba azkar bat egin zuten. Gainontzeko astean ariketa hainbat iteraziotan egin nuen. Lehenengoaren ondoren nire %30-70 lortu nuen, ondorengoek %97-100era ekarri zuten emaitza. Ariketak normalean algoritmoren bat inplementatzen zuen, adibidez. Jostura taila edo bzip.

Ikastaroak amaituta, jakintza asko pena askorekin datozela konturatu nintzen. Lehen besterik ez banekien ezer ez nekiela, orain konturatzen hasi nintzen ni nintzela ez nekiena.

Maiatza baino ez zenez, eta udazkenerako elkarrizketa programatu nuenez, ikasketak jarraitzea erabaki nuen. Lanposturako baldintzak aztertu ondoren, paraleloki bi norabidetan joatea erabaki zen: algoritmoak ikasten jarraitu eta ikaskuntza automatikoaren oinarrizko ikastaro bat egitea. Lehenengo helbururako, ikastaroetatik liburu batera pasatzea erabaki nuen eta Steven Skienaren β€œAlgoritmos. Algoritmoen Diseinuaren Eskuliburua. Ez Knuten bezain monumentala, baina hala ere. Bigarren helburua lortzeko, Courserara itzuli eta Andrew Ng-en ikastaroan izena eman nuen. Makina ikastea.

Beste 3 hilabete pasa ziren eta ikastaroa eta liburua amaitu nuen.

Has gaitezen liburutik. Irakurketa nahiko interesgarria izan da, nahiz eta erraza ez izan. Printzipioz, liburua gomendatuko nuke, baina ez berehala. Orokorrean, liburuak ikastaroan ikasitakoa sakonago ikusten du. Gainera, (ikuspegi formaletik) heuristika eta programazio dinamikoa bezalako gauzak aurkitu nituen. Berez, aurretik erabiliak nituen, baina ez nekien nola deitzen ziren. Liburuak egilearen bizitzako hainbat istorio ere biltzen ditu (Gerra Istorioa), aurkezpenaren izaera akademikoa zertxobait diluitzen dutenak. Bide batez, liburuaren bigarren erdia alde batera utzi daiteke; lehendik dauden arazoen deskribapena eta haiek konpontzeko metodoak baino gehiago ditu. Praktikan aldizka erabiltzen bada erabilgarria da, bestela berehala ahaztuko da.

Ikastaroarekin baino gusturago geratu nintzen. Egileak argi eta garbi ezagutzen ditu bere gauzak eta modu interesgarri batean hitz egiten du. Gainera, dezente, hots, aljebra lineala eta sare neuronalen oinarriak, unibertsitatetik gogoratu nintzen, beraz, ez nuen zailtasun berezirik bizi. Ikastaroaren egitura nahiko estandarra da. Ikastaroa astetan banatuta dago. Astero proba laburrekin nahastutako hitzaldiak izaten dira. Hitzaldien ondoren, egin, bidali eta automatikoki egiaztatuko da egin behar duzun lan bat ematen zaizu. Laburbilduz, ikastaroan irakasten diren gauzen zerrenda honako hau da:
- kostu-funtzioa
- erregresio lineala
- desnibel jaitsiera
- Ezaugarrien eskalatzea
- ekuazio normala
- Erregresio logistikoa
- Klase anitzeko sailkapena (bat vs guztiak)
β€” Sare neuronalak
- atzeko hedapena
-erregularizazioa
β€” alborapena/bariantza
β€” Ikasketa kurbak
- erroreen neurketak (zehaztasuna, gogoratzea, F1)
β€” Laguntza bektore-makinak (marjina handiko sailkapena)
- K-esan nahi du
β€”Osagai nagusien analisia
- anomaliak hautematea
β€” lankidetza-iragazkia (sistema gomendagarria)
β€” Estokastikoak, mini-loteak, lotekako jaitsierak
- Internet bidezko ikaskuntza
- mapa murriztea
- Sabaiaren azterketa
Ikastaroa amaitu ondoren, gai horien guztien ulermena izan zen. 2 urteren buruan, ia dena naturalki ahaztu zen. Ikaskuntza automatikoa ezagutzen ez dutenei eta aurrera egiteko oinarrizko gauzak ondo ulertu nahi dituztenei gomendatzen diet.

Lehenengo korrika

Iraila zen jada eta elkarrizketa bat pentsatzeko garaia zen. Gunearen bidez eskatzea nahiko negargarria denez, Googlen lan egiten duten lagunen bila hasi nintzen. Aukeran erori zen datacompboy, bera zenez zuzenean ezagutzen nuen bakarra (pertsonalki ez bazen ere). Nire curriculuma bidaltzea onartu zuen, eta laster jaso nuen kontratatzailearen eskutitz bat bere egutegian zirrikitua lehen elkarrizketarako erreserbatzeko eskaintzeko.Egun pare bat geroago egin zen deia. Hangouts bidez komunikatzen saiatu ginen, baina kalitatea izugarria zen, beraz, telefonora aldatu ginen. Lehenik eta behin, nola, zergatik eta zergatik estandarrari buruz azkar eztabaidatu genuen eta, ondoren, emanaldia teknikora pasatu ginen. Dozena bat galderaz osatuta zegoen, "zer da hash mapa batean txertatzeko zailtasuna", "zer zuhaitz orekatu ezagutzen dituzun" izpirituan. Ez da zaila gauza hauen oinarrizko ezagutza baduzu. Emanaldia ondo joan zen eta emaitzen arabera, astebete barru lehen elkarrizketa antolatzea erabaki zuten.

Elkarrizketa Hangouts bidez ere egin da. Lehenengo nitaz hitz egin zuten 5 bat minutuz, gero arazora pasa ziren. Arazoa grafikoetan zegoen. Azkar konturatu nintzen zer egin behar zen, baina oker algoritmoa aukeratu nuen. Kodea idazten hasi nintzenean honetaz konturatu nintzen eta beste aukera batera pasatu nintzen, osatu nuen. Elkarrizketatzaileak hainbat galdera egin zituen algoritmoaren konplexutasunari buruz eta azkarrago egin zitekeen galdetu zuen. Nolabait aspertu nintzen eta ezin izan nuen egin. Une honetan, denbora pasa zen eta agur esan genuen. Orduan, 10 minutu inguru igaro ondoren, konturatu nintzen nik erabili nuen Dijkstra algoritmoaren ordez, arazo zehatz honetan zabalera-lehenengo bilaketa erabil nezakeela eta azkarragoa izango zela. Denbora pixka bat igaro ondoren, kontratatzaileak deitu zuen eta elkarrizketa orokorrean ondo joan zela eta beste bat antolatu behar zela esan zuen. Beste aste batean adostu genuen.

Oraingoan gauzak okerrera egin zuten. Lehen aldian elkarrizketatzailea jatorra eta jatorra bazen, oraingoan goibel samarra zen. Ezin nuen arazoa berehala asmatu, nahiz eta bururatu zitzaizkidan ideiek, printzipioz, konponbidera eraman zezakeen. Azkenean, elkarrizketatzailearen hainbat galderen ostean, irtenbidea etorri zitzaidan. Oraingoan zabalera-lehenengo bilaketa izan da berriro, hainbat puntutatik bakarrik. Irtenbideak idatzi nituen, garaiz ezagutu nituen, baina ertzeko kasuak ahaztu nituen. Denbora pixka bat igaro ondoren, kontratatzaileak deitu zuen eta oraingoan elkarrizketatzailea ez zela gustura geratu esan zuen, bere ustez aholku gehiegi behar nituen (3 edo 4 pieza) eta etengabe aldatzen nuen kodea idaztean. Bi elkarrizketen emaitzak ikusita, urrunago ez joatea erabaki zen, hurrengo elkarrizketa urtebete atzeratzea baizik, hala nahi banuen. Horregatik esan genuen agur.

Eta istorio honetatik hainbat ondorio atera nituen:

  • Teoria ona da, baina azkar nabigatu behar duzu
  • Praktikarik gabeko teoriak ez du lagunduko. Arazoak konpondu eta kodeketa automatismora eraman behar dugu.
  • Elkarrizketatzailearen araberakoa da asko. Eta ezin da ezer egin horri buruz.

Bigarren lasterketarako prestatzen

Egoera pentsatu ondoren, urtebete barru berriro saiatzea erabaki nuen. Eta apur bat editatu helburua. Lehen helburu nagusia ikastea bazen, eta Google-n elkarrizketa bat urrutiko azenario bat bezalakoa bazen, orain elkarrizketa bat gainditzea zen helburua, eta ikastea zen bitartekoa.
Beraz, plan berri bat garatu zen, zeinak puntu hauek biltzen zituen:

  • Jarraitu teoria ikasten liburuak eta artikuluak irakurriz.
  • 500-1000 piezako problema algoritmikoak ebatzi.
  • Jarraitu teoria ikasten bideoak ikusiz.
  • Ikastaroen bidez teoria ikasten jarraitu.
  • Aztertu besteen esperientziak Google-ko elkarrizketekin.

Urtebete barru amaitu nuen plana. Jarraian, puntu bakoitzeko zehazki zer egin nuen deskribatuko dut.

Liburuak eta artikuluak

Irakurri ditudan artikulu kopurua ere ez dut gogoratzen; errusieraz zein ingelesez irakurtzen ditut. Ziurrenik gunerik erabilgarriena hau. Hemen algoritmo interesgarri askoren deskribapena aurki dezakezu kode-adibideekin.

5 liburu irakurri ditut: Algoritmoak, 4. edizioa (Sedgewick, Wayne), Introduction to Algorithms 3. edizioa (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4. edizioa (Gayle Laakmann), Programming Interviews Exposed 2. edizioa (Mongan, Suojanen) , Giguere), Elementuak Programazio Elkarrizketak (Aziz, Lee, Prakash). 2 kategoriatan banatu daitezke. Lehenengoak Sedgwick eta Cormanen liburuak biltzen ditu. Hau teoria bat da. Gainerakoa elkarrizketarako prestaketa da. Sedgwick-ek bere ikastaroetan gauza bera kontatzen du liburuan. Idatziz besterik ez. Ikastaroa egin baduzu arretaz irakurtzeak ez du balio handirik, baina merezi du, hala ere, gainbegiratzea. Ikastaroa ikusi ez baduzu, zentzuzkoa da irakurtzea. Cormen aspergarriegia iruditu zitzaidan. Egia esateko, kosta egin zitzaidan menderatzea. Handik atera besterik ez dut teoria maisua, eta gutxitan erabiltzen diren hainbat datu-egitura (Fibonacci heap, van Emde Boas zuhaitza, radix heap).

Merezi du gutxienez liburu bat irakurtzea elkarrizketa bat prestatzeko. Guztiak printzipio berdinean eraikita daude. Enpresa teknologiko handietan elkarrizketa prozesua deskribatzen dute, Informatikatik oinarrizko gauzak ematen dituzte, oinarrizko gauza horientzako arazoak, arazoen konponbideak eta konponbideen azterketa. Goiko hiruretatik, ziurrenik Cracking the Coding Interview gomendatuko nuke nagusi gisa, eta gainerakoak aukerakoak dira.

Arazo algoritmikoak

Hau izan zen ziurrenik prestatzeko punturik interesgarriena. Noski, eseri eta arazoak ergelki konpon ditzakezu. Horretarako hainbat gune daude. Batez ere hiru erabili ditut: Hackerrank, CodeChef ΠΈ LeetCode. CodeChef-en arazoak zailtasunaren arabera banatzen dira, baina ez gaiaren arabera. Hackerrank-en bai konplexutasunaren eta gaiaren arabera.

Baina neure buruari berehala jakin nuenez, badago modu interesgarriago bat. Eta hauek lehiaketak dira (programazio erronkak edo programazio lehiaketak). Hiru guneek ematen dituzte. Egia da LeetCode-rekin arazo bat dagoela - ordu-eremu desegokia. Horregatik ez dut gune honetan parte hartu. Hackerrank-ek eta CodeChef-ek lehiaketa ezberdinen kopuru nahiko handia eskaintzen dute, ordu 1etik 10 egunera bitartekoa. Formatu ezberdinek arau desberdinak dituzte, baina horretaz denbora luzez hitz egin genezake. Lehiaketak onak izatearen arrazoi nagusia ikaskuntza-prozesuan lehiakorra (eta berriro tautologia) elementu bat sartzea da.

Guztira, Hackerrank-en 37 lehiaketetan parte hartu nuen. Horietatik 32 baloratu ziren, eta 5 babestuak izan ziren (25 dolar jaso nituen horietako batean) edo ondo pasatzeko. Sailkapenean 10 aldiz egon nintzen lehen %4an, 11 aldiz lehen %12an eta 5 aldiz lehen %25ean. Emaitza onenak 27/1459 izan ziren 3 orduetan eta 22/9721 astean.

CodeChef-era aldatu nintzen Hackerrank lehiaketak gutxiagotan antolatzen hasi zenean. Guztira 5 lehiaketetan parte hartzea lortu nuen. Puntuazio onena 426/5019 izan zen hamar eguneko lehiaketan.

Guztira, lehiaketetan eta horrelaxe, 1000 arazo baino apur bat gehiago konpondu nituen, planera sartzen direnak. Orain, zoritxarrez, ez dago jarduera lehiakorrekin jarraitzeko denbora librerik, denbora librea kendu ahal izateko helbururik ez dagoen bezala. Baina dibertigarria izan zen. Honetan interesa dutenei iritzi bereko jendea aurkitzea gomendatzen diet. Elkarrekin edo taldean askoz interesgarriagoa da. Honekin ondo pasatu nuen lagun batekin, beraz, agian ondo atera zen.

Ikusi bideoa

Skienaren liburua irakurri ondoren, egiten zuena interesatu zitzaidan. Sedgwick bezala, unibertsitateko irakaslea da. Ildo horretatik, bere ikastaroen bideoak aurki daitezke sarean. Ikastaroa berrikustea erabaki nuen COMP300E - Programazio Erronkak - 2009 HKUST. Ezin dut esan asko gustatu zitzaidanik. Lehenik eta behin, bideoaren kalitatea ez da oso ona. Bigarrenik, ez nintzen ikastaroan eztabaidatutako arazoak neuk konpontzen saiatu. Beraz, konpromisoa ez zen oso handia.
Gainera, arazoak konpontzen, algoritmo egokia aurkitu nahian, Tushar Royren bideoarekin egin nuen topo. Amazonen lan egin zuen eta orain Applen egiten du lan. Gerora neure kabuz jakin nuenez, badu YouTube kanala, non hainbat algoritmoren analisia argitaratzen duen. Idazteko unean, kanalak 103 bideo ditu. Eta bere analisia oso ondo egin zuela esan behar dut. Beste egile batzuk ikusten saiatu nintzen, baina nolabait ez zuen funtzionatu. Beraz, behin betiko gomenda dezaket kanal hau ikusteko.

Ikastaroak egitea

Hemen ez nuen ezer berezirik egin. Google-ren Android Developer Nanodegree-ren bideo bat ikusi eta ITMOren ikastaro bat hartu Nola irabazi kodeketa lehiaketak: Txapeldunen sekretuak. Nanogradua nahiko ona da, nahiz eta berez ez nuen ezer berririk ikasi. ITMOren ikastaroa apur bat okertuta dago teoria aldetik, baina arazoak interesgarriak ziren. Ez nuke berarekin hastea gomendatuko, baina printzipioz ondo erabilitako denbora izan zen.

Ikasi besteen esperientzietatik

Jakina, jende asko saiatu zen Googlen sartzen. Batzuk sartu ziren, beste batzuk ez. Batzuek horri buruzko artikuluak idatzi dituzte. Ziurrenik aipatuko ditudan gauza interesgarrietatik hau ΠΈ hau. Lehenengo kasuan, pertsonak beretzat prestatu zuen software-ingeniari izateko eta Googlen sartzeko ikasi behar zuenaren zerrenda. Azkenean Amazonen amaitu zen, baina hori jada ez da horren garrantzitsua. Bigarren eskuliburua Google ingeniariak idatzi zuen, Larisa Agarkova (Larrr). Dokumentu honetaz gain, irakurri ere egin dezakezu bere bloga.

Zentzuzkoa da Glassdoor-en elkarrizketen iritziak irakurtzea. Guztiak gutxi gorabehera antzekoak dira, baina informazio erabilgarria lor dezakezu.

Ez dut beste artikulu txiki batzuetarako estekarik emango; Google-n erraz aurki ditzakezu.

Bigarren korrika

Eta orain urtebete pasa da. Ikasketei dagokienez, oso bizia suertatu zen. Baina udazken berrira ezagutza teoriko askoz sakonagoekin eta trebetasun praktikoak garatuta heldu nintzen. Oraindik aste batzuk falta zitzaizkidan prestatzeko urte amaierarako, bat-batean Google-ko erreklutatzaile baten gutun bat bidali zen postara, non galdetu zidan ea oraindik Googlen lan egiteko gogorik ote nuen eta Berarekin hitz egitea gustatzen zait. Berez, ez zitzaidan axola. Astebete barru deitzea adostu genuen. Curriculum eguneratua ere eskatu zidaten, eta horri urtean zehar lanean eta orokorrean egindakoaren deskribapen laburra gehitu nion.

Bizitza osorako komunikatu ondoren, astebete barru Hangout-eko elkarrizketa bat izango zela erabaki genuen, iaz bezala. Aste bat pasa zen, elkarrizketarako ordua iritsi zen, baina elkarrizketatzailea ez zen agertu. 10 minutu pasa ziren, urduritzen hasia nintzen jada, bat-batean norbait txatean sartu zenean. Pixka bat beranduago atera zenez, nire elkarrizketatzailea arrazoiren batengatik ezin izan zen agertu eta ordezko bat aurkitu zioten urgentziaz. Pertsona zertxobait prestatu gabe zegoen bai ordenagailua konfiguratzeko eta baita elkarrizketa egiteko ere. Baina gero dena ondo atera zen. Arazoa azkar konpondu nuen, akatsak non zeuden eta nola saihes zitezkeen deskribatu nuen. Arazoaren hainbat bertsio eta algoritmoaren konplexutasuna eztabaidatu dugu. Gero beste 5 minutuz hitz egin genuen, ingeniariak Munichen lan egitearen inpresioak kontatu zizkigun (antza ez zuten Zurichen premiazko ordezkorik aurkitu), eta orduan banandu ginen.

Egun berean, kontratatzailea nirekin harremanetan jarri zen eta esan zuen elkarrizketa ondo joan zela eta prest zeudela bulegoan elkarrizketa batera gonbidatzeko. Hurrengo egunean Hangouts bidez deitu genuen eta xehetasunak eztabaidatu genituen. Bisa eskatu behar nuenez, hilabete barru elkarrizketa bat antolatzea erabaki genuen.

Dokumentuak prestatzen ari nintzela, aldi berean eztabaidatu nuen kontratatzailearekin hurrengo elkarrizketaz. Google-ko elkarrizketa estandarrak 4 elkarrizketa algoritmikok eta System Design elkarrizketa batek osatzen dute. Baina, Android garatzaile gisa lan bat eskatzen ari nintzenez, elkarrizketaren zati bat Android espezifikoa izango zela esan zidaten. Ezin nion kontratatzaileari kendu zehatz-mehatz zer eta zeintzuk izango ziren. Nik ulertzen dudanez, duela gutxi aurkeztu zen hau eta bera ez zegoen oso jakitun. Bi prestakuntza-saiotan ere izena eman nuen: elkarrizketa algoritmiko bat nola gainditu eta System Design elkarrizketa bat nola gainditu. Saioek batez besteko erabilgarritasuna izan zuten. Han ere inork ezin zidan esan zer galdetzen dieten Android garatzaileei. Hori dela eta, hilabete honetarako nire prestaketa honako hau izan zen:

  • Errotulatzaile-taula bat erostea eta memoriatik 2-3 dozena algoritmo ezagunenak idaztea. 3-5 pieza egunero. Guztira, bakoitza hainbat aldiz idatzi zen.
  • Freskatu zure memoria egunero erabiltzen ez dituzun Android-en
  • Big Scale eta horrelako gauzei buruzko bideo batzuk ikusten

Esan bezala, aldi berean bidaiarako dokumentuak prestatzen ari nintzen. Hasteko, informazioa eskatu zidaten gonbidapen gutuna egiteko. Gero, denbora luzez saiatu nintzen jakiteko Zipren nork ematen dizkion bisa Suitzari, Suitzako enbaxadak ez baitu horri aurre egiten. Gertatu zenez, Austriako kontsulatua egiten ari da. Deitu eta hitzordua jarri nuen. Dokumentu mordoa eskatu zuten, baina ezer interesgarririk. Argazkia, pasaportea, bizileku baimena, ziurtagiri ezberdin mordoa eta, nola ez, gonbidapen gutuna. Bitartean gutuna ez zen iritsi. Azkenean, ohiko inprimaketa batekin joan nintzen eta nahiko ondo funtzionatu zuen. Gutuna bera 3 egun beranduago iritsi zen, eta Zipreko FedEx-ek ezin izan zuen nire helbidea aurkitu eta nik neuk hartzera joan behar izan nuen. Aldi berean, FedEx bereko pakete bat jaso nuen, beraiek ere ezin izan zidaten entregatu, ez baitzuten helbidea aurkitu, eta ekainetik (5 hilabete, Karl) etzanda zegoena. Ez nekienez, jakina, ez nuen suposatzen zutenik. Bisa garaiz jaso nuen, ondoren hotel bat erreserbatu zidaten eta hegaldi aukerak eskaini zizkidaten. Aukerak egokitu ditut erosoagoa izan dadin. Jada ez zegoen zuzeneko hegaldirik, beraz, azkenean Atenasetik eta itzulera Vienatik joan nintzen.

Bidaiarekin izapide guztiak konpondu ondoren, egun batzuk pasa ziren eta Zurichera hegazkin egin nuen. istilurik gabe iritsi zen. Aireportutik hirira trena hartu nuen - azkar eta eroso. Hirian apur bat ibili ondoren, hotel bat aurkitu nuen eta check-in egin nuen. Hotela janaririk gabe erreserbatuta zegoenez, ondoan afaldu eta ohera joan nintzen, hegaldia goizean zelako eta dagoeneko lo egin nahi nuelako. Hurrengo egunean hotelean gosaldu nuen (diru gehiagoren truke) eta Google-ren bulegora joan nintzen. Googlek hainbat bulego ditu Zurichen. Nire elkarrizketa ez zen zentralean izan. Eta, oro har, bulegoak nahiko arrunta zirudien, beraz, ez nuen aukerarik izan Google bulego "normal" baten ontasun guztiak ikusteko. Administratzailearekin erregistratu nintzen eta itxaroten eseri nintzen. Denbora pixka bat igaro ondoren, kontratatzailea atera zen eta eguneko plana kontatu zidan, eta ondoren, elkarrizketak egin behar ziren gelara eraman ninduen. Izan ere, planak 3 elkarrizketa, bazkaria eta beste 2 elkarrizketa barne hartzen zituen.

Lehenengo elkarrizketa

Lehenengo elkarrizketa Android-en izan zen. Eta ez zuen zerikusirik algoritmoekin. Sorpresa, ordea. Tira, ados, are ohikoagoa da horrela. UI osagai jakin bat egiteko eskatu ziguten. Lehenik eta behin zer eta nola eztabaidatu genuen. RxJava erabiliz irtenbide bat egitea eskaini zuen, zer egingo zuen eta zergatik deskribatu zuen. Hau ona dela esan zuten, baina egin dezagun Android esparrua erabiliz. Eta aldi berean kodea idatziko dugu arbelean. Eta ez osagai bat bakarrik, osagai hori erabiltzen duen Jarduera osoa baizik. Horretarako prest ez nengoen. Gauza bat da arbelean 30-50 lerroko algoritmo bat idaztea, eta beste gauza bat Android kodearen fideoak idaztea, nahiz eta laburdurak eta iruzkinak izan "beno, ez dut hori idatziko, jada agerikoa baita". Emaitza 3 oholentzako ozpin-ozpin moduko bat izan zen. Horiek. Arazoa konpondu nuen, baina mutu itxura zuen.

Bigarren zenbakiko elkarrizketa

Oraingoan elkarrizketa algoritmoei buruzkoa izan da. Eta bi elkarrizketatzaile zeuden. Bata benetako elkarrizketatzailea da, eta bigarrena padawan gazte bat (itzal elkarrizketatzailea). Beharrezkoa zen zenbait propietate dituen datu-egitura bat egitea. Lehenik eta behin, arazoaz eztabaidatu genuen ohi bezala. Galdera desberdinak egin nituen, erantzun zidan elkarrizketatzaileak. Denbora pasa ondoren, arbelean asmatutako egituraren hainbat metodo idazteko eskatu zieten. Oraingoan arrakasta gehiago edo gutxiago izan nuen, akats txiki batzuekin bada ere, elkarrizketatzaileak eskatuta zuzendu nituenak.

Hirugarren elkarrizketa

Oraingoan System Design, bat-batean Android ere bihurtu zen. Funtzionalitate jakin batekin aplikazio bat garatzea beharrezkoa zen. Aplikazioaren, zerbitzariaren eta komunikazio-protokoloaren baldintzak eztabaidatu ditugu. Jarraian, aplikazioa eraikitzerakoan zer osagai edo liburutegi erabiliko nituen deskribatzen hasi nintzen. Eta gero, Job Scheduler aipatzean, nahasmena sortu zen. Kontua da inoiz ez nuela praktikan erabili, kaleratu zen unean bere erabilerarako zereginik ez zegoen aplikazio bateragarrietara aldatu nintzen eta. Gauza bera gertatu zen ondorengoak garatzerakoan. Hau da, teorian badakit zer den gauza hau, noiz eta nola erabiltzen den, baina ez daukat erabileran esperientziarik. Eta elkarrizketatzaileari ez omen zitzaion asko gustatu. Orduan kode bat idazteko eskatu zidaten. Bai, aplikazio bat garatzerakoan berehala idatzi behar duzu kodea. Berriro Android kodea arbelean. Berriro beldurgarria izan zen.

Bazkaria

Beste pertsona bat etorri behar zen, baina ez. Eta Googlek akatsak egiten ditu. Ondorioz, aurreko elkarrizketatzailearekin, bere lankidearekin, bazkaltzera joan nintzen eta pixka bat beranduago hurrengo elkarrizketatzailea sartu zen. Bazkaria nahiko duina izan zen. Berriz ere, hau Zuricheko bulego nagusia ez denez, jangela nahiko arrunta zen, oso polita izan arren.

Laugarren elkarrizketa

Azkenik, algoritmoak bere forma garbienean. Lehen arazoa nahiko azkar eta berehala eraginkortasunez konpondu nuen, nahiz eta ertz-kasu bat galdu nuen, baina elkarrizketatzaileak eskatuta (bere kasu ertz hau eman zuen) arazoa aurkitu eta zuzendu nuen. Noski, kodea idatzi behar nuen arbelean. Orduan, antzeko zeregin bat eman zen, baina zailagoa. Horretarako, ezin hobeak ez diren irtenbide pare bat aurkitu nituen eta ia optimoa aurkitu nuen, 5-10 minutu ez ziren nahikoa pentsamendua amaitzeko. Beno, ez nuen denborarik izan horren kodea idazteko.

Bosteko elkarrizketa

Eta berriro Android elkarrizketa. Galdetzen dut zergatik ikasi nuen algoritmoak urte osoan?
Hasieran galdera sinple batzuk zeuden. Orduan elkarrizketatzaileak kodea idatzi zuen arbelean eta bertan arazoak aurkitzeko eskatu zuen. Aurkitu, azaldu, konpondu. Eztabaidatu. Eta orduan ustekabeko galdera batzuk hasi ziren "zer egiten du Y metodoak X klasean", "zer dago Y metodoaren barruan", "zer egiten du Z klaseak". Noski, zerbait erantzun nion, baina gero esan nuen azkenaldian ez dudala horrelakorik topatu nire lanean eta, berez, ez dudala gogoratzen nork zer eta nola egiten duen zehatz-mehatz. Horren ostean, elkarrizketatzaileak orain zertan ari nintzen galdetu zuen. Eta galderak gai honen inguruan joan ziren. Dagoeneko askoz hobeto erantzun dut hemen.

Azken elkarrizketa amaitu eta gero, pasabidea hartu, zorte ona opa didate eta bidetik bidali naute. Hirian apur bat ibili nintzen, afaldu eta hotelera joan nintzen, han oheratu nintzen, hegaldia berriz goizean goiz baitzen. Hurrengo egunean onik heldu nintzen Ziprera. Kontratatzaileak eskatuta, elkarrizketari buruzko iritzia idatzi eta zerbitzu berezi batean inprimaki bat bete nuen gastatutako dirua itzultzeko. Gastu guztien artean, Google-k zuzenean ordaintzen ditu sarrerak soilik. Hotela, janaria eta bidaia hautagaiak ordaintzen ditu. Ondoren, formularioa bete, ordainagiriak erantsi eta bulego berezi batera bidaliko dugu. Hau prozesatzen dute eta dirua kontura transferitzen dute nahiko azkar.

Aste eta erdi behar izan da elkarrizketaren emaitzak prozesatzeko. Horren ostean, "barren azpitik pixka bat azpitik" nengoela jakinarazi zidaten. Hau da, pixka bat motz geratu naiz. Zehatzago esanda, 2 elkarrizketa ondo atera ziren, 2 apur bat ez hain ondo, eta System Design ez oso ondo. Orain, gutxienez 3 ondo atera izan balira, orduan lehiatu ahal izango ginateke, bestela ez dago aukerarik. Beste urte batean itzultzea proposatu zuten.

Hasieran, noski, atsekabetuta nengoen, esfortzu handia egin baitzen prestaketan, eta elkarrizketa egin zenerako jada pentsatzen nengoen Zipre uztea. Googlen sartu eta Suitzara joatea aukera bikaina iruditu zitzaidan.

Ondorioa

Eta hemen artikuluaren azken zatira iritsiko gara. Bai, bi aldiz huts egin nuen Google-ren elkarrizketa. Tristea da. Ziurrenik interesgarria izango litzateke bertan lan egitea. Baina, beste alde batetik begiratu dezakezu gaia.

  • Urte eta erdian, software garapenarekin lotutako gauza mordoa ikasi nuen.
  • Oso ondo pasatu nuen programazio lehiaketetan parte hartzen.
  • Zurichera joan nintzen pare bat egunez. Noiz joango naiz berriro hara?
  • Elkarrizketa esperientzia interesgarria izan nuen munduko IT enpresa handienetako batean.

Hortaz, urte eta erdi hauetan gertatutako guztia entrenamendutzat edo prestakuntzatzat har daiteke besterik gabe. Eta formakuntza horren emaitzak bere burua nabaritu zuen. Zipre uzteko ideia helduta (familiako egoera batzuengatik), beste enpresa ezagun batekin hainbat elkarrizketa arrakastaz gainditu eta 8 hilabeteren buruan mugitu nintzen. Baina hori guztiz bestelako istorio bat da. Hala ere, uste dut oraindik Google-ri eskerrak eman behar dizkiodala bai neure buruan lan egin dudan urte eta erdiagatik, bai Zurichen 2 egun interesgarriengatik.

Zer esan dezaket azkenean? Informatikan lan egiten baduzu, prestatu Google-n (Amazon, Microsoft, Apple, etab.) elkarrizketak egiteko. Agian noizbait bertara joango zara bertara heltzera. Nahi ez baduzu ere, sinets iezadazu, horrelako prestaketak ez zaitu okerrago egingo. Enpresa horietako batekin elkarrizketa bat lor dezakezula (zortearekin bada ere) konturatzen zaren momentuan, prestatzen hasi baino lehen baino bide gehiago irekiko zaizkizu. Eta bidean behar duzun guztia helburua, iraunkortasuna eta denbora da. Arrakasta opa dizut :)

Iturria: www.habr.com

Gehitu iruzkin berria