Raksta virsraksts izklausÄs pÄc episkÄ faila, bet patiesÄ«bÄ viss nav tik vienkÄrÅ”i. Un vispÄr Å”is stÄsts beidzÄs ļoti pozitÄ«vi, kaut arÄ« ne Google. Bet Ŕī ir cita raksta tÄma. Å ajÄ paÅ”Ä rakstÄ es runÄÅ”u par trim lietÄm: kÄ noritÄja mans sagatavoÅ”anÄs process, kÄ notika intervijas Google un kÄpÄc, manuprÄt, viss nav tik skaidrs, kÄ varÄtu Ŕķist.
KÄ tas viss sÄkÄs
KÄdÄ aukstÄ Kipras ziemas vakarÄ man pÄkÅ”Åi ienÄca prÄtÄ doma, ka manas zinÄÅ”anas klasiskajÄ datorzinÄtnÄ ir ļoti tÄlu no pat vidÄjÄm un kaut kas ir jÄdara lietas labÄ. Ja, starp citu, kÄds vÄl nav lasÄ«jis, kÄpÄc vakars ir Kipras un auksts, tad par to var uzzinÄt
GatavoÅ”anÄs pirmajai pieejai
12 nedÄļas pagÄja Ätri, un es pabeidzu abus kursus. Mani iespaidi par kursiem ir vairÄk nekÄ pozitÄ«vi, un varu ieteikt tos ikvienam interesentam. Kursi man patika Å”Ädu iemeslu dÄļ:
- Lektore runÄ diezgan skaidri angļu valodÄ
- MateriÄls ir labi strukturÄts
- Lieliskas prezentÄcijas, kas parÄda katra algoritma iekÅ”pusi
- Kompetenta materiÄla izvÄle
- Interesanti vingrinÄjumi
- VietnÄ tiek automÄtiski pÄrbaudÄ«ti vingrinÄjumi, pÄc tam tiek Ä£enerÄta atskaite
Mans darbs kursos parasti ritÄja Å”Ädi. NoklausÄ«jos lekcijas 1-2 dienÄs. PÄc tam viÅi Ätri pÄrbaudÄ«ja savas zinÄÅ”anas par materiÄlu. AtlikuÅ”ajÄ nedÄÄ¼Ä vingrinÄjumu veicu vairÄkÄs atkÄrtojumos. PÄc pirmÄs saÅÄmu savus 30-70%, nÄkamie rezultÄtu atnesa uz 97-100%. VingrinÄjums parasti ietvÄra kÄda algoritma ievieÅ”anu, piem.
PÄc kursu pabeigÅ”anas sapratu, ka daudz zinÄÅ”anu nÄk ar lielu bÄdu. Ja agrÄk es vienkÄrÅ”i zinÄju, ka neko nezinu, tad tagad sÄku saprast, ka es nezinu.
TÄ kÄ bija tikai maijs un interviju ieplÄnoju rudenÄ«, nolÄmu turpinÄt izglÄ«tÄ«bu. PÄrskatot prasÄ«bas vakancei, tika nolemts paralÄli iet divos virzienos: turpinÄt apgÅ«t algoritmus un apgÅ«t maŔīnmÄcÄ«bas pamatkursu. Pirmajam mÄrÄ·im nolÄmu pÄriet no kursiem uz grÄmatu un izvÄlÄjos StÄ«vena Skiena monumentÄlo darbu āAlgoritmi. Algoritmu projektÄÅ”anas rokasgrÄmata. Ne tik monumentÄls kÄ Knutam, bet tomÄr. Lai gÅ«tu otros vÄrtus, es atgriezos Coursera un pierakstÄ«jos EndrjÅ« Nga kursÄ.
PagÄja vÄl 3 mÄneÅ”i, un es pabeidzu kursu un grÄmatu.
SÄksim ar grÄmatu. LasÄ«Å”ana izvÄrtÄs diezgan interesanta, lai arÄ« ne viegla. PrincipÄ grÄmatu ieteiktu, bet ne uzreiz. KopumÄ grÄmata sniedz padziļinÄtu ieskatu kursÄ apgÅ«tajÄ. TurklÄt es atklÄju (no formÄlÄ viedokļa) tÄdas lietas kÄ heiristika un dinamiskÄ programmÄÅ”ana. Protams, es tos izmantoju iepriekÅ”, bet nezinÄju, kÄ tos sauc. GrÄmatÄ ir arÄ« vairÄki pasakas no autora dzÄ«ves (Kara stÄsts), kas nedaudz mazina prezentÄcijas akadÄmisko raksturu. Starp citu, grÄmatas otro pusi var izlaist, tÄ drÄ«zÄk satur esoÅ”o problÄmu un to risinÄÅ”anas metožu aprakstu. Tas ir noderÄ«gi, ja to regulÄri lieto praksÄ, pretÄjÄ gadÄ«jumÄ tas nekavÄjoties tiks aizmirsts.
Es biju vairÄk nekÄ apmierinÄts ar kursu. Autors skaidri zina savas lietas un runÄ interesanti. TurklÄt diezgan daudz no tÄ, proti, lineÄrÄ algebra un neironu tÄ«klu pamati, es atcerÄjos no universitÄtes, tÄpÄc man nebija Ä«paÅ”as grÅ«tÄ«bas. Kursa struktÅ«ra ir diezgan standarta. Kurss ir sadalÄ«ts nedÄļÄs. Katru nedÄļu notiek lekcijas, kas sajauktas ar Ä«siem kontroldarbiem. PÄc lekcijÄm jums tiek dots uzdevums, kas jums jÄizdara, jÄiesniedz, un tas tiks automÄtiski pÄrbaudÄ«ts. ÄŖsumÄ kursÄ apgÅ«stamo lietu saraksts ir Å”Äds:
- izmaksu funkcija
- lineÄrÄ regresija
- gradienta nolaiÅ”anÄs
- funkciju mÄrogoÅ”ana
- normÄls vienÄdojums
- loÄ£istiskÄ regresija
ā vairÄku klaÅ”u klasifikÄcija (viens pret visiem)
ā neironu tÄ«kli
- pavairoŔana atpakaļ
- regulÄcija
ā neobjektivitÄte/dispersija
ā mÄcÄ«Å”anÄs lÄ«knes
ā kļūdu metrika (precizitÄte, atsaukÅ”ana, F1)
ā Atbalstiet vektora maŔīnas (lielas piemales klasifikÄcija)
ā K-nozÄ«mÄ
āGalveno komponentu analÄ«ze
- anomÄliju noteikÅ”ana
ā sadarbÄ«bas filtrÄÅ”ana (ieteicÄju sistÄma)
ā stohastiskÄ, mini-partiju, partijas gradienta nolaiÅ”anÄs
ā tieÅ”saistes mÄcÄ«bas
- kartes samazinÄÅ”ana
- griestu analīze
PÄc kursa pabeigÅ”anas radÄs izpratne par visÄm Ŕīm tÄmÄm. PÄc 2 gadiem gandrÄ«z viss tika dabiski aizmirsts. Es iesaku to tiem, kuri nav pazÄ«stami ar maŔīnmÄcÄ«bu un vÄlas iegÅ«t labu izpratni par pamata lietÄm, lai turpinÄtu.
Pirmais skrÄjiens
Bija jau septembris un laiks domÄt par interviju. TÄ kÄ pieteikÅ”anÄs caur vietni ir diezgan postoÅ”a, es sÄku meklÄt draugus, kas strÄdÄ Google. IzvÄle iekrita
Intervija notika arÄ«, izmantojot Hangouts. Vispirms viÅi runÄja par mani apmÄram 5 minÅ«tes, pÄc tam pÄrgÄja pie problÄmas. ProblÄma bija grafikos. Ätri sapratu, kas jÄdara, taÄu izvÄlÄjos nepareizo algoritmu. Kad sÄku rakstÄ«t kodu, es to sapratu un pÄrgÄju uz citu opciju, kuru pabeidzu. IntervÄtÄjs uzdeva vairÄkus jautÄjumus par algoritma sarežģītÄ«bu un jautÄja, vai to varÄtu izdarÄ«t ÄtrÄk. Es kaut kÄ kļuvu truls un nevarÄju to izdarÄ«t. Å ajÄ brÄ«dÄ« laiks bija beidzies, un mÄs atvadÄ«jÄmies. PÄc aptuveni 10 minÅ«tÄm man sapratu, ka Dijkstra algoritma vietÄ, ko izmantoju, Å”ajÄ konkrÄtajÄ uzdevumÄ es varÄtu izmantot meklÄÅ”anu pÄc platuma, un tas bÅ«tu ÄtrÄk. PÄc kÄda laika vervÄtÄjs piezvanÄ«ja un teica, ka intervija kopumÄ noritÄja labi un ka jÄorganizÄ vÄl viena. VienojÄmies par vÄl vienu nedÄļu.
Å oreiz lietas kļuva sliktÄkas. Ja pirmajÄ reizÄ intervÄtÄjs bija draudzÄ«gs un sabiedrisks, tad Å”oreiz viÅÅ” bija nedaudz drÅ«ms. Es nevarÄju uzreiz izdomÄt problÄmu, lai gan idejas, kuras radu, principÄ varÄtu novest pie tÄs risinÄjuma. BeigÄs pÄc vairÄkiem intervÄtÄja pamudinÄjumiem risinÄjums man radÄs. Å oreiz tÄ atkal izrÄdÄ«jÄs platuma meklÄÅ”ana, tikai no vairÄkiem punktiem. Es uzrakstÄ«ju risinÄjumus, satiku tos laikÄ, bet aizmirsu par malÄm. PÄc kÄda laika vervÄtÄjs piezvanÄ«ja un teica, ka Å”oreiz intervÄtÄjs ir neapmierinÄts, jo pÄc viÅa domÄm man vajadzÄja pÄrÄk daudz mÄjienu (3 vai 4 gab.) un rakstot nemitÄ«gi mainÄ«ju kodu. Balstoties uz divu interviju rezultÄtiem, tika nolemts tÄlÄk neiet, bet nÄkamo interviju atlikt uz gadu, ja es to vÄlos. TÄpÄc mÄs atvadÄ«jÄmies.
Un no Ŕī stÄsta es izdarÄ«ju vairÄkus secinÄjumus:
- Teorija ir laba, bet jums ir Ätri jÄorientÄjas tajÄ
- Teorija bez prakses nepalÄ«dzÄs. Mums ir jÄatrisina problÄmas un kodÄÅ”ana jÄkļūst automÄtiskai.
- Daudz kas ir atkarÄ«gs no intervÄtÄja. Un tur neko nevar darÄ«t.
GatavoÅ”anÄs otrajam braucienam
ApdomÄjot situÄciju, nolÄmu pÄc gada mÄÄ£inÄt vÄlreiz. Un nedaudz rediÄ£Äja vÄrtus. Ja agrÄk galvenais mÄrÄ·is bija mÄcÄ«ties, un intervija Google bija kÄ tÄls burkÄns, tad tagad mÄrÄ·is bija intervijas nokÄrtoÅ”ana, bet lÄ«dzeklis ā studijas.
TÄtad tika izstrÄdÄts jauns plÄns, kurÄ bija iekļauti Å”Ädi punkti:
- Turpiniet studÄt teoriju, lasot grÄmatas un rakstus.
- Atrisiniet algoritmiskÄs problÄmas 500-1000 gabalu apjomÄ.
- Turpiniet apgūt teoriju, skatoties video.
- Turpiniet apgūt teoriju kursos.
- IzpÄtiet citu cilvÄku pieredzi intervijÄs Google tÄ«klÄ.
PlÄnu izpildÄ«ju gada laikÄ. TÄlÄk es aprakstÄ«Å”u, ko tieÅ”i es izdarÄ«ju katram no punktiem.
GrÄmatas un raksti
Pat neatceros izlasÄ«to rakstu skaitu, lasu gan krieviski, gan angliski. IespÄjams, visnoderÄ«gÄkÄ vietne
IzlasÄ«ju 5 grÄmatas: Algoritmi, 4. izdevums (Sedgewick, Wayne), Introduction to Algorithms 3rd Edition (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4. izdevums (Gayle Laakmann), Programming Interviews Exposed 2. edition (Mongan, Suojanen). , Giguere), ProgrammÄÅ”anas interviju elementi (Aziz, Lee, Prakash). Tos var iedalÄ«t 2 kategorijÄs. PirmajÄ ir iekļautas Sedžvika un Kormena grÄmatas. TÄ ir teorija. PÄrÄjais ir gatavoÅ”anÄs intervijai. Sedžviks grÄmatÄ stÄsta par to paÅ”u, ko savos kursos. Tikai rakstiski. Nav lielas jÄgas to rÅ«pÄ«gi lasÄ«t, ja esat apguvis kursu, taÄu jebkurÄ gadÄ«jumÄ ir vÄrts to izlasÄ«t. Ja neesi noskatÄ«jies kursu, ir jÄga to izlasÄ«t. Kormens man Ŕķita pÄrÄk garlaicÄ«gs. GodÄ«gi sakot, man bija grÅ«ti to apgÅ«t. Es tikko to izÅÄmu no turienes
Ir vÄrts izlasÄ«t vismaz vienu grÄmatu, lai sagatavotos intervijai. Tie visi ir veidoti pÄc aptuveni tÄda paÅ”a principa. ViÅi apraksta intervijas procesu lielos tehnoloÄ£iju uzÅÄmumos, sniedz pamatlietas no datorzinÄtnes, problÄmas Ŕīm pamatlietÄm, problÄmu risinÄjumus un risinÄjumu analÄ«zi. No trim iepriekÅ”minÄtajiem es droÅ”i vien ieteiktu Cracking the Coding Interview kÄ galveno, un pÄrÄjÄs nav obligÄtas.
AlgoritmiskÄs problÄmas
Tas, iespÄjams, bija interesantÄkais sagatavoÅ”anÄs punkts. Var, protams, apsÄsties un stulbi risinÄt problÄmas. Å im nolÅ«kam ir daudz dažÄdu vietÅu. Es galvenokÄrt izmantoju trÄ«s:
Bet, kÄ es uzreiz noskaidroju pats, ir interesantÄks veids. Un tie ir konkursi (programmÄÅ”anas izaicinÄjumi vai programmÄÅ”anas konkursi). Visas trÄ«s vietnes tos nodroÅ”ina. Tiesa, ir problÄma ar LeetCode ā neÄrtÄ laika josla. TÄpÄc es nepiedalÄ«jos Å”ajÄ vietnÄ. Hackerrank un CodeChef nodroÅ”ina diezgan lielu skaitu dažÄdu sacensÄ«bu, kas ilgst no 1 stundas lÄ«dz 10 dienÄm. DažÄdiem formÄtiem ir atŔķirÄ«gi noteikumi, taÄu mÄs par to varÄtu runÄt ilgi. Galvenais, kÄpÄc konkursi ir labi, ir konkursa (un atkal tautoloÄ£ijas) elementa ievieÅ”ana mÄcÄ«bu procesÄ.
Pavisam Hackerrank piedalÄ«jos 37 sacensÄ«bÄs. No tiem 32 bija vÄrtÄjamie, un 5 bija vai nu sponsorÄti (vienÄ no tiem es pat saÅÄmu 25 USD), vai arÄ« izklaidei. ReitingÄ 10 reizes biju 4% topÄ, 11 reizes - 12% un 5 reizes - 25%. LabÄkie rezultÄti bija 27/1459 3 stundu laikÄ un 22/9721 nedÄļÄ.
Es pÄrgÄju uz CodeChef, kad Hackerrank sÄka retÄk rÄ«kot sacensÄ«bas. KopumÄ izdevÄs piedalÄ«ties 5 konkursos. Desmit dienu sacensÄ«bÄs labÄkais rÄdÄ«tÄjs bija 426/5019.
KopumÄ sacensÄ«bÄs un tÄ vien atrisinÄju nedaudz vairÄk kÄ 1000 uzdevumus, kas iekļÄvÄs plÄnÄ. Tagad diemžÄl nav brÄ«va laika, lai turpinÄtu konkurÄtspÄjÄ«gas aktivitÄtes, tÄpat kÄ nav mÄrÄ·a, kuram brÄ«vo laiku varÄtu norakstÄ«t. Bet tas bija jautri. Iesaku tiem, kam tas interesÄ, atrast domubiedrus. KopÄ vai grupÄ ir daudz interesantÄk. Man tas bija jautri ar draugu, tÄpÄc varbÅ«t tas izdevÄs labi.
Skatīt videoklipu
PÄc Skienas grÄmatas izlasÄ«Å”anas man radÄs interese par to, ko viÅÅ” dara. TÄpat kÄ Sedžviks, viÅÅ” ir universitÄtes profesors. Å ajÄ sakarÄ tieÅ”saistÄ var atrast viÅa kursu video. Es nolÄmu pÄrskatÄ«t kursu
TÄpat, risinot problÄmas, mÄÄ£inot atrast pareizo algoritmu, uzgÄju TuÅ”ara Roja video. ViÅÅ” strÄdÄja Amazon un tagad strÄdÄ Apple. KÄ vÄlÄk pats noskaidroju, viÅÅ” to ir izdarÄ«jis
Apgūstot kursus
Es Å”eit neko Ä«paÅ”u nedarÄ«ju. NoskatÄ«jos videoklipu no Google Android izstrÄdÄtÄja Nanodegree un apmeklÄja ITMO kursu
MÄcieties no citu cilvÄku pieredzes
Protams, daudzi cilvÄki mÄÄ£inÄja iekļūt Google. Daži iekļuva, daži nÄ. Daži par to ir rakstÄ«juÅ”i rakstus. No interesantajÄm lietÄm es droÅ”i vien pieminÄÅ”u
Ir jÄga lasÄ«t pÄrskatus par intervijÄm vietnÄ Glassdoor. Tie visi ir vairÄk vai mazÄk lÄ«dzÄ«gi, taÄu jÅ«s varat iegÅ«t kÄdu noderÄ«gu informÄciju.
Es nesniegÅ”u saites uz citiem maziem rakstiem; jÅ«s varat tos viegli atrast Google tÄ«klÄ.
Otrais brauciens
Un tagad ir pagÄjis gads. MÄcÄ«bu ziÅÄ tas izrÄdÄ«jÄs ļoti intensÄ«vs. Bet jaunajam rudenim piegÄju ar daudz dziļÄkÄm teorÄtiskÄm zinÄÅ”anÄm un attÄ«stÄ«tÄm praktiskÄm iemaÅÄm. VÄl bija atlikuÅ”as dažas nedÄļas lÄ«dz man atvÄlÄtÄ gada beigÄm, lai sagatavotos, kad pÄkÅ”Åi pa pastu nonÄca Google vervÄtÄja vÄstule, kurÄ viÅÅ” man jautÄja, vai man joprojÄm ir vÄlme strÄdÄt Google un vai Man ir prÄtÄ runÄt ar viÅu. Dabiski, ka man nebija iebildumu. VienojÄmies, ka zvanÄ«sim pÄc nedÄļas. ViÅi man arÄ« prasÄ«ja atjauninÄtu CV, kam pievienoju Ä«su aprakstu par gada laikÄ darbÄ un kopumÄ paveikto.
Sazinoties uz mūžu, nolÄmÄm, ka pÄc nedÄļas bÅ«s Hangout intervija, tÄpat kÄ pagÄjuÅ”ajÄ gadÄ. PagÄja nedÄļa, bija laiks intervijai, bet intervÄtÄjs neieradÄs. PagÄja 10 minÅ«tes, es jau sÄku nervozÄt, kad pÄkÅ”Åi kÄds ielauzÄs ÄatÄ. KÄ izrÄdÄ«jÄs nedaudz vÄlÄk, mans intervÄtÄjs nez kÄpÄc nevarÄja ierasties un viÅam steidzami tika atrasts aizstÄjÄjs. Persona bija zinÄmÄ mÄrÄ nesagatavota gan datora uzstÄdÄ«Å”anas, gan intervijas veikÅ”anas ziÅÄ. Bet tad viss gÄja labi. Es Ätri atrisinÄju problÄmu, aprakstÄ«ju, kur ir iespÄjamas nepilnÄ«bas un kÄ tÄs var apiet. MÄs apspriedÄm vairÄkas dažÄdas problÄmas versijas un algoritma sarežģītÄ«bu. PÄc tam mÄs runÄjÄm vÄl 5 minÅ«tes, inženieris pastÄstÄ«ja savus iespaidus par darbu MinhenÄ (acÄ«mredzot CÄ«rihÄ viÅi neatrada steidzamu aizstÄjÄju), un tad mÄs ŔķīrÄmies.
TajÄ paÅ”Ä dienÄ ar mani sazinÄjÄs vervÄtÄjs un teica, ka intervija noritÄja labi un viÅi ir gatavi uzaicinÄt mani uz interviju birojÄ. NÄkamajÄ dienÄ mÄs piezvanÄ«jÄm, izmantojot Hangouts, un apspriedÄm sÄ«kÄku informÄciju. TÄ kÄ man vajadzÄja pieteikties vÄ«zai, nolÄmÄm interviju ieplÄnot pÄc mÄneÅ”a.
KamÄr gatavoju dokumentus, vienlaikus pÄrrunÄju gaidÄmo interviju ar vervÄtÄju. Standarta intervija Google sastÄv no 4 algoritmiskÄm intervijÄm un vienas sistÄmas dizaina intervijas. TaÄu, tÄ kÄ es pieteicos kÄ Android izstrÄdÄtÄjs, man teica, ka daļa no intervijas bÅ«s saistÄ«ta ar Android. Es nevarÄju to izkratÄ«t no vervÄtÄja, kas tieÅ”i un kÄda bÅ«tu specifika. Cik saprotu, tas tika ieviests salÄ«dzinoÅ”i nesen un viÅÅ” pats nebija Ä«paÅ”i informÄts. Es arÄ« biju reÄ£istrÄts divÄm apmÄcÄ«bÄm: kÄ nokÄrtot algoritmisko interviju un kÄ nokÄrtot sistÄmas dizaina interviju. Sesijas bija vidÄji noderÄ«gas. ArÄ« tur neviens nevarÄja man pateikt, ko viÅi jautÄ Android izstrÄdÄtÄjiem. TÄpÄc mana gatavoÅ”anÄs Å”im mÄnesim izvÄrtÄs Å”Ädi:
- IegÄdÄjieties marÄ·ieru dÄli un no atmiÅas ierakstiet uz tÄ 2-3 desmitus populÄrÄko algoritmu. 3-5 gabali katru dienu. KopumÄ katrs tika rakstÄ«ts vairÄkas reizes.
- Atsvaidziniet atmiÅu ar dažÄdu informÄciju Android ierÄ«cÄ, ko neizmantojat katru dienu
- Skatos dažus videoklipus par Big Scale un tamlÄ«dzÄ«gÄm lietÄm
KÄ jau teicu, paralÄli gatavoju dokumentus braucienam. SÄkumÄ viÅi man lÅ«dza informÄciju, lai izveidotu ielÅ«guma vÄstuli. Tad es ilgu laiku mÄÄ£inÄju noskaidrot, kurÅ” KiprÄ izsniedz vÄ«zas uz Å veici, jo Å veices vÄstniecÄ«ba ar to nenodarbojas. KÄ izrÄdÄ«jÄs, to dara Austrijas konsulÄts. PiezvanÄ«ju un sarunÄju tikÅ”anos. ViÅi prasÄ«ja daudz dokumentu, bet nekÄ Ä«paÅ”i interesanta. Foto, pase, uzturÄÅ”anÄs atļauja, kaudze dažÄdu apliecÄ«bu un, protams, uzaicinÄjuma vÄstule. TikmÄr vÄstule nesanÄca. Galu galÄ es gÄju ar parasto izdruku, un tÄ strÄdÄja diezgan labi. Pati vÄstule pienÄca 3 dienas vÄlÄk, un Kipras FedEx nevarÄja atrast manu adresi, un man paÅ”am vajadzÄja to saÅemt. TajÄ paÅ”Ä laikÄ es saÅÄmu paku no tÄ paÅ”a FedEx, kuru viÅi arÄ« nevarÄja man piegÄdÄt, jo viÅi neatrada adresi, un kas tur gulÄja kopÅ” jÅ«nija (5 mÄneÅ”i, KÄrlis). TÄ kÄ es par to nezinÄju, es, protams, nedomÄju, ka viÅiem tas ir. VÄ«zu saÅÄmu laicÄ«gi, pÄc tam man rezervÄja viesnÄ«cu un piedÄvÄja lidojumu iespÄjas. Esmu pielÄgojis opcijas, lai padarÄ«tu to ÄrtÄku. TieÅ”o lidojumu vairs nebija, tÄpÄc es beidzu lidot uz turieni caur AtÄnÄm un atpakaļ caur VÄ«ni.
Kad visas formalitÄtes ar braucienu bija nokÄrtotas, pagÄja vÄl dažas dienas un es tieÅ”Äm aizlidoju uz CÄ«rihi. Nokļuva bez starpgadÄ«jumiem. No lidostas uz pilsÄtu braucu ar vilcienu ā Ätri un Ärti. Nedaudz pastaigÄjies pa pilsÄtu, atradu viesnÄ«cu un iereÄ£istrÄjos. TÄ kÄ viesnÄ«ca bija rezervÄta bez ÄÅ”anas, vakariÅoju blakus un devos gulÄt, jo lidojums bija no rÄ«ta un jau gribÄjÄs gulÄt. NÄkamajÄ dienÄ brokastoju viesnÄ«cÄ (par papildus naudu) un devos uz Google biroju. Google ir vairÄki biroji CÄ«rihÄ. Mana intervija nebija centrÄlÄ. Un vispÄr birojs izskatÄ«jÄs diezgan parasts, tÄpÄc man nebija iespÄjas apskatÄ«t visus āparastÄā Google biroja labumus. PiereÄ£istrÄjos pie administratora un apsÄdos gaidÄ«t. PÄc kÄda laika iznÄca vervÄtÄjs un izstÄstÄ«ja Ŕīs dienas plÄnu, pÄc tam aizveda mani uz telpu, kur bija jÄnotiek intervijÄm. PatiesÄ«bÄ plÄnÄ bija 3 intervijas, pusdienas un vÄl 2 intervijas.
Intervija numur viens
PirmÄ intervija bija tikai operÄtÄjsistÄmÄ Android. Un tam nebija nekÄda sakara ar algoritmiem. PÄrsteigums tomÄr. Nu, labi, Å”ÄdÄ veidÄ tas ir vÄl izplatÄ«tÄks. Mums tika lÅ«gts izveidot noteiktu lietotÄja interfeisa komponentu. Vispirms pÄrrunÄjÄm, kas un kÄ. ViÅÅ” piedÄvÄja izveidot risinÄjumu, izmantojot RxJava, aprakstÄ«ja, ko tieÅ”i viÅÅ” darÄ«s un kÄpÄc. ViÅi teica, ka tas noteikti ir labi, bet darÄ«sim to, izmantojot Android sistÄmu. Un tajÄ paÅ”Ä laikÄ mÄs uzrakstÄ«sim kodu uz tÄfeles. Un ne tikai komponents, bet visa darbÄ«ba, kas izmanto Å”o komponentu. Tas ir tas, kam es nebiju gatavs. Viena lieta ir uzrakstÄ«t uz tÄfeles 30ā50 rindiÅu algoritmu un cita lieta ir uzrakstÄ«t Android koda nÅ«deles, pat ar saÄ«sinÄjumiem un komentÄriem garÄ ānu, es to nerakstÄ«Å”u, jo tas jau ir acÄ«mredzamsā. RezultÄts bija kaut kÄds vinegrets 3 dÄļiem. Tie. Es atrisinÄju problÄmu, bet tas izskatÄ«jÄs stulbi.
Intervija numur divi
Å oreiz intervija bija par algoritmiem. Un bija divi intervÄtÄji. Viens ir faktiskais intervÄtÄjs, bet otrs ir jauns padawan (Änu intervÄtÄjs). Bija jÄizdomÄ datu struktÅ«ra ar noteiktÄm Ä«paŔībÄm. PirmkÄrt, mÄs kÄ parasti apspriedÄm problÄmu. Uzdevu dažÄdus jautÄjumus, intervÄtÄjs atbildÄja. PÄc kÄda laika viÅiem tika lÅ«gts uz tÄfeles uzrakstÄ«t vairÄkas izgudrotÄs struktÅ«ras metodes. Å oreiz man izdevÄs vairÄk vai mazÄk, lai gan ar dažÄm nelielÄm kļūdÄm, kuras izlaboju pÄc intervÄtÄja pamudinÄjuma.
Intervija numur trīs
Å oreiz System Design, kas pÄkÅ”Åi izrÄdÄ«jÄs arÄ« Android. Bija nepiecieÅ”ams izstrÄdÄt aplikÄciju ar noteiktu funkcionalitÄti. MÄs apspriedÄm prasÄ«bas lietojumprogrammai, serverim un sakaru protokolam. TÄlÄk es sÄku aprakstÄ«t, kÄdus komponentus vai bibliotÄkas izmantoÅ”u, veidojot lietojumprogrammu. Un tad, pieminot Darba plÄnotÄju, radÄs neskaidrÄ«bas. Lieta ir tÄda, ka es to nekad neizmantoju praksÄ, jo tÄs izlaiÅ”anas brÄ«dÄ« es tikko biju pÄrgÄjis uz atbalsta lietojumprogrammÄm, kurÄs nebija uzdevumu tÄs lietoÅ”anai. Tas pats notika, izstrÄdÄjot nÄkamos. Tas ir, teorÄtiski es zinu, kas Ŕī ir, kad un kÄ to lieto, bet man nav pieredzes tÄs lietoÅ”anÄ. Un izskatÄ«jÄs, ka intervÄtÄjam tas Ä«paÅ”i nepatika. Tad viÅi man lÅ«dza uzrakstÄ«t kodu. JÄ, izstrÄdÄjot lietojumprogrammu, jums nekavÄjoties jÄraksta kods. Atkal Android kods uz tÄfeles. Tas atkal izrÄdÄ«jÄs biedÄjoÅ”i.
Pusdienas
Bija paredzÄts, ka nÄks citai personai, bet viÅÅ” to nedarÄ«ja. Un Google pieļauj kļūdas. RezultÄtÄ es devos pusdienÄs pie iepriekÅ”ÄjÄs intervÄtÄjas, viÅas kolÄÄ£es, un nedaudz vÄlÄk pievienojÄs nÄkamais intervÄtÄjs. Pusdienas bija diezgan pieklÄjÄ«gas. Atkal, tÄ kÄ Å”is nav CÄ«rihes galvenais birojs, Ädamistaba izskatÄ«jÄs diezgan parasta, lai gan ļoti jauka.
Intervija numur ceturtÄ
Visbeidzot, algoritmi to tÄ«rÄkajÄ formÄ. Pirmo problÄmu atrisinÄju diezgan Ätri un uzreiz efektÄ«vi, lai gan vienu malas gadÄ«jumu palaidu garÄm, bet pÄc intervÄtÄja uzvednes (viÅÅ” iedeva tieÅ”i Å”o malas gadÄ«jumu) problÄmu atradu un izlaboju. Protams, man bija jÄuzraksta kods uz tÄfeles. Tad tika dots lÄ«dzÄ«gs uzdevums, bet grÅ«tÄks. Tam atradu pÄris neoptimÄlus risinÄjumus un gandrÄ«z atradu optimÄlo, ar 5-10 minÅ«tÄm nepietika, lai domu pabeigtu. Nu, man nebija laika uzrakstÄ«t kodu.
Intervija numur pieci
Un atkal Android intervija. Interesanti, kÄpÄc es visu gadu mÄcÄ«jos algoritmus?
SÄkumÄ bija daži vienkÄrÅ”i jautÄjumi. Tad intervÄtÄjs uzrakstÄ«ja kodu uz tÄfeles un lÅ«dza atrast tajÄ problÄmas. Atrada, paskaidroja, salaboja. Apsprieda. Un tad sÄkÄs daži negaidÄ«ti jautÄjumi garÄ āko dara Y metode klasÄ Xā, ākas ir Y metodÄā, āko dara Z klaseā. Protams, es kaut ko atbildÄju, bet tad teicu, ka savÄ darbÄ ar to pÄdÄjÄ laikÄ neesmu saskÄries un, protams, neatceros sÄ«kÄk, kurÅ” ko un kÄ dara. PÄc tam intervÄtÄjs jautÄja, ko es tagad daru. Un jautÄjumi gÄja par Å”o tÄmu. Te jau atbildÄju daudz labÄk.
PÄc pÄdÄjÄs intervijas beigÄm viÅi paÅÄma manu caurlaidi, novÄlÄja veiksmi un aizsÅ«tÄ«ja mani ceļÄ. Nedaudz pastaigÄju pa pilsÄtu, paÄdu vakariÅas un devos uz viesnÄ«cu, kur devos gulÄt, jo lidojums atkal bija agrÄ rÄ«tÄ. NÄkamajÄ dienÄ es droÅ”i ierados KiprÄ. PÄc vervÄtÄja lÅ«guma uzrakstÄ«ju atsauksmi par interviju un speciÄlÄ dienestÄ aizpildÄ«ju veidlapu, lai atgrieztu iztÄrÄto naudu. No visiem izdevumiem Google tieÅ”i maksÄ tikai par biļetÄm. ViesnÄ«cu, pÄrtiku un ceļojumus apmaksÄ kandidÄts. PÄc tam aizpildÄm veidlapu, pievienojam Äekus un nosÅ«tÄm uz speciÄlu biroju. ViÅi to apstrÄdÄ un diezgan Ätri pÄrskaita naudu uz kontu.
Intervijas rezultÄtu apstrÄde aizÅÄma pusotru nedÄļu. PÄc tam es tiku informÄts, ka esmu "nedaudz zem joslas". Tas ir, man nedaudz pietrÅ«ka. KonkrÄtÄk, 2 intervijas izdevÄs labi, 2 nedaudz ne tik labi, un sistÄmas dizains ne pÄrÄk labi. Tagad, ja vismaz 3 bÅ«tu gÄjis labi, tad mÄs bÅ«tu varÄjuÅ”i konkurÄt, citÄdi nav izredžu. ViÅi piedÄvÄja atgriezties pÄc gada.
SÄkumÄ, protams, biju sarÅ«gtinÄts, jo lielas pÅ«les bija veltÄ«tas gatavoÅ”anai, un intervijas brÄ«dÄ« jau domÄju par aizbraukÅ”anu no Kipras. PievienoÅ”anÄs Google un pÄrcelÅ”anÄs uz Å veici Ŕķita lieliska iespÄja.
SecinÄjums
Un Å”eit mÄs nonÄkam pie raksta beigu daļas. JÄ, Google intervija man neizdevÄs divas reizes. Tas ir skumji. DroÅ”i vien bÅ«tu interesanti tur strÄdÄt. TaÄu uz Å”o lietu var paskatÄ«ties no otras puses.
- Pusotra gada laikÄ es uzzinÄju ļoti daudz lietu, kas saistÄ«tas ar programmatÅ«ras izstrÄdi.
- Man bija ļoti jautri piedalÄ«ties programmÄÅ”anas konkursos.
- Es devos uz CÄ«rihi uz pÄris dienÄm. Kad es tur atkal doÅ”os?
- Man bija interesanta intervijas pieredze vienÄ no lielÄkajiem IT uzÅÄmumiem pasaulÄ.
TÄdÄjÄdi visu, kas notika Å”o pusotru gadu, var vienkÄrÅ”i uzskatÄ«t par apmÄcÄ«bu vai apmÄcÄ«bu. Un Ŕīs apmÄcÄ«bas rezultÄti lika par sevi manÄ«t. Mana ideja pamest Kipru brieda (dažu Ä£imenes apstÄkļu dÄļ), veiksmÄ«gi izturÄju vairÄkas intervijas ar citu pazÄ«stamu uzÅÄmumu un pÄc 8 mÄneÅ”iem pÄrcÄlos uz dzÄ«vi. Bet tas ir pavisam cits stÄsts. TomÄr domÄju, ka man tomÄr jÄpateicas Google gan par pusotru gadu, ko pats nostrÄdÄju, gan par 2 interesantajÄm dienÄm CÄ«rihÄ.
Ko es varu teikt beidzot? Ja strÄdÄjat IT jomÄ, sagatavojieties intervijÄm Google (Amazon, Microsoft, Apple utt.). VarbÅ«t kÄdreiz tu dosies tur, lai tur nokļūtu. Pat ja jÅ«s to nevÄlaties, ticiet man, Å”Äda sagatavoÅ”anÄs nepadarÄ«s jÅ«s sliktÄku. BrÄ«dÄ«, kad sapratÄ«sit, ka varat (pat ja tikai ar veiksmi) saÅemt interviju ar kÄdu no Å”iem uzÅÄmumiem, jums bÅ«s atvÄrts daudz vairÄk ceļu nekÄ pirms sagatavoÅ”anÄs sÄkÅ”anas. Un viss, kas jums nepiecieÅ”ams, ir mÄrÄ·is, neatlaidÄ«ba un laiks. NovÄlu veiksmi :)
Avots: www.habr.com