Google-da müsahibəyə necə hazırlaşmaq və uğursuz olmaq. iki dəfə

Google-da müsahibəyə necə hazırlaşmaq və uğursuz olmaq. iki dəfə

Məqalənin adı epik uğursuzluq kimi səslənir, amma əslində hər şey o qədər də sadə deyil. Və ümumiyyətlə, bu hekayə Google-da olmasa da, çox müsbət bitdi. Ancaq bu başqa məqalənin mövzusudur. Eyni məqalədə mən üç şey haqqında danışacağam: mənim hazırlıq prosesim necə keçdi, Google-da müsahibələr necə keçdi və nə üçün, fikrimcə, hər şey göründüyü qədər aydın deyil.

Bütün necə başladı

Kiprdə soyuq qış axşamlarından birində birdən ağlıma belə bir fikir gəldi ki, mənim klassik Kompüter Elmləri üzrə biliklərim hətta orta səviyyədən çox uzaqdır və bununla bağlı nəsə etmək lazımdır. Yeri gəlmişkən, kimsə axşam niyə Kipr və soyuq olduğunu hələ oxumayıbsa, bu barədə öyrənə bilərsiniz burada. Bir az fikirləşdikdən sonra alqoritmlər və məlumat strukturları üzrə onlayn kurs keçməklə başlamaq qərarına gəldik. Keçmiş həmkarlarımdan birindən Robert Sedgewick-in Coursera kursu haqqında eşitdim. Kurs iki hissədən ibarətdir (1 hissəsi и 2 hissəsi). Birdən keçidlər dəyişərsə, siz həmişə Google-da müəllifin adını görə bilərsiniz. Hər hissə 6 həftə davam edir. Həftənin əvvəlində mühazirələr verilir və həftə ərzində hələ də məşqlər etmək lazımdır. Kursun birinci hissəsi verilənlərin əsas strukturlarını, əsas çeşidləmə növlərini və alqoritmlərin mürəkkəbliyini əhatə edir. İkinci hissə artıq qrafiklərdən başlayaraq Xətti Proqramlaşdırma və Çətinlik kimi şeylərlə bitən daha təkmildir. Bütün yuxarıda deyilənləri düşünərək belə qənaətə gəldim ki, mənə məhz bu lazımdır. Yeri gəlmişkən, maraqlanan oxucu sual verə bilər ki, Google-un bununla nə əlaqəsi var? Və həqiqətən də, bu ana qədər onunla heç bir əlaqəsi yox idi. Ancaq bir məqsədə ehtiyacım var idi, çünki 12 həftə axşamlar məqsədsiz oxumaq bir qədər çətindir. Yeni bilik əldə etməkdə məqsəd nə ola bilər? Təbii ki, onların praktikada tətbiqi. Gündəlik həyatda bu olduqca problemlidir, lakin böyük bir şirkətlə müsahibə zamanı asan olur. Sürətli Google göstərdi ki, Google (tavtologiyanı bağışla) Avropanın ən böyük şirkətlərindən biridir (və mən xüsusilə Avropaya baxırdım) belə müsahibələr aparır. Məhz, onların ofisi İsveçrənin Sürix şəhərində yerləşir. Beləliklə, qərar verildi - gəlin öyrənək və Google-da müsahibəyə gedək.

İlk yanaşmaya hazırlıq

12 həftə tez keçdi və mən hər iki kursu bitirdim. Kurslarla bağlı təəssüratlarım çox müsbətdir və mən onları maraqlanan hər kəsə tövsiyə edə bilərəm. Kursları aşağıdakı səbəblərə görə bəyəndim:

  • Mühazirəçi kifayət qədər aydın ingilis dilində danışır
  • Material yaxşı qurulmuşdur
  • Hər bir alqoritmin içini göstərən möhtəşəm təqdimatlar
  • Bacarıqlı material seçimi
  • Maraqlı məşqlər
  • Məşqlər avtomatik olaraq saytda yoxlanılır, bundan sonra hesabat yaradılır

Kurslardakı işlərim adətən belə gedirdi. 1-2 gün ərzində mühazirələrə qulaq asırdım. Sonra onlar materialla bağlı biliklərini tez bir zamanda yoxladılar. Həftənin qalan hissəsində məşqi bir neçə təkrarlamada etdim. Birincidən sonra 30-70% aldım, sonrakılar nəticəni 97-100%-ə çatdırdı. Məşq adətən bəzi alqoritmin həyata keçirilməsini əhatə edirdi, məs. Dikiş oyma və ya bzip.

Kursları bitirəndən sonra anladım ki, çox bilik çox kədərlə gəlir. Əvvəllər heç nə bilmədiyimi bilirdimsə, indi bilməyən mən olduğumu anlamağa başladım.

Yalnız may ayı olduğundan və müsahibəni payıza təyin etdiyim üçün təhsilimi davam etdirmək qərarına gəldim. Vakansiyaya olan tələbləri nəzərdən keçirdikdən sonra paralel olaraq iki istiqamətə getmək qərara alınıb: alqoritmlərin öyrənilməsinə davam etmək və maşın öyrənməsi üzrə əsas kurs keçmək. İlk məqsəd üçün kurslardan kitaba keçmək qərarına gəldim və Stiven Skienanın “Alqoritmlər” adlı monumental əsərini seçdim. Alqoritm dizayn təlimatı. Knut kimi monumental deyil, amma yenə də. İkinci məqsəd üçün Coursera-ya qayıtdım və Andrew Ng-in kursuna yazıldım. Machine Learning.

Daha 3 ay keçdi və mən kursu və kitabı bitirdim.

Kitabdan başlayaq. Oxumaq asan olmasa da, olduqca maraqlı oldu. Prinsipcə, kitabı tövsiyə edərdim, amma dərhal deyil. Ümumiyyətlə, kitab kursda öyrəndiklərimə daha dərindən nəzər salır. Üstəlik, mən (formal baxımdan) evristika və dinamik proqramlaşdırma kimi şeyləri kəşf etdim. Təbii ki, mən onlardan əvvəl istifadə etmişdim, amma nə adlandığını bilmirdim. Kitabda müəllifin həyatından (Müharibə hekayəsi) bir sıra nağıllar da var ki, bu da təqdimatın akademik xarakterini bir qədər azaldır. Yeri gəlmişkən, kitabın ikinci yarısını buraxmaq olar, o, daha çox mövcud problemlərin təsvirini və onların həlli üsullarını ehtiva edir. Təcrübədə müntəzəm olaraq istifadə olunarsa faydalıdır, əks halda dərhal unudulacaq.

Kursdan daha çox razı qaldım. Müəllif öz işini aydın bilir və maraqlı şəkildə danışır. Üstəlik bunun kifayət qədər miqdarını, yəni xətti cəbri və neyron şəbəkələrinin əsaslarını universitetdən xatırladım, ona görə də heç bir xüsusi çətinlik yaşamadım. Kursun strukturu olduqca standartdır. Kurs həftələrə bölünür. Hər həftə qısa testlərlə qarışıq mühazirələr keçirilir. Mühazirələrdən sonra sizə yerinə yetirməli, təqdim etməli olduğunuz tapşırıq verilir və o, avtomatik olaraq yoxlanılacaq. Qısaca, kursda öyrədilən şeylərin siyahısı belədir:
- xərc funksiyası
- xətti reqressiya
- gradient eniş
- xüsusiyyət miqyası
- normal tənlik
- logistik reqressiya
— çoxsinifli təsnifat (bir və hamıya)
— neyron şəbəkələri
- geri yayılma
- nizamlanma
— qərəz/variasiya
- öyrənmə əyriləri
— səhv ölçüləri (dəqiqlik, geri çağırma, F1)
— Vektor maşınlarını dəstəkləyin (böyük marja təsnifatı)
- K- deməkdir
— Əsas Komponentlərin Təhlili
- anomaliyaların aşkarlanması
— birgə filtrasiya (tövsiyə sistemi)
— stoxastik, mini-batch, toplu gradient enmələri
- onlayn təhsil
- xəritəni azaltmaq
- tavan təhlili
Kursu başa vurduqdan sonra bütün bu mövzular haqqında anlayış mövcud idi. 2 ildən sonra demək olar ki, hər şey təbii olaraq unuduldu. Mən bunu maşın öyrənməsi ilə tanış olmayan və davam etmək üçün əsas şeyləri yaxşı başa düşmək istəyənlərə tövsiyə edirəm.

İlk qaçış

Artıq sentyabr idi və müsahibə haqqında düşünmək vaxtı idi. Sayt vasitəsilə müraciət etmək olduqca fəlakətli olduğundan, Google-da işləyən dostlar axtarmağa başladım. Seçim üzərinə düşdü datacompboy, çünki birbaşa tanıdığım yeganə insan idi (şəxsən olmasa da). O, mənim tərcümeyi-halı göndərməyə razı oldu və tezliklə mən işə götürəndən ilk söhbət üçün təqvimində yer ayırmağı təklif edən məktub aldım.Bir neçə gündən sonra zəng oldu. Biz Hangouts vasitəsilə əlaqə saxlamağa çalışdıq, lakin keyfiyyət dəhşətli idi, ona görə də telefona keçdik. Əvvəlcə standartı necə, niyə və niyə müzakirə etdik və sonra texniki baxışa keçdik. Bu, “haş xəritəyə daxil etməyin çətinliyi nədir”, “hansı balanslı ağacları bilirsiniz” ruhunda onlarla sualdan ibarət idi. Bu şeylər haqqında əsas biliklərə sahibsinizsə, çətin deyil. Yoxlama yaxşı keçdi və nəticələrə əsasən bir həftə sonra ilk müsahibəni təşkil etmək qərarına gəldilər.

Müsahibə də Hangouts vasitəsilə baş tutub. Əvvəlcə mənim haqqımda təxminən 5 dəqiqə danışdılar, sonra problemə keçdilər. Problem qrafiklərdə idi. Nə edilməli olduğunu tez başa düşdüm, lakin səhv alqoritmi seçdim. Kod yazmağa başlayanda bunu başa düşdüm və tamamladığım başqa varianta keçdim. Müsahib alqoritmin mürəkkəbliyi ilə bağlı bir neçə sual verdi və bunu daha sürətli etmək mümkün olub-olmadığını soruşdu. Nədənsə darıxdım və bacarmadım. Bu məqamda vaxt bitdi və biz sağollaşdıq. Təxminən 10 dəqiqədən sonra ağlıma gəldi ki, istifadə etdiyim Dijkstra alqoritmi əvəzinə bu xüsusi problemdə genişlik-ilk axtarışdan istifadə edə bilərəm və bu daha sürətli olacaq. Bir müddət sonra işə qəbul edən şəxs zəng vurdu və müsahibənin ümumilikdə yaxşı keçdiyini və başqa bir müsahibənin təşkil edilməli olduğunu söylədi. Daha bir həftə razılaşdıq.

Bu dəfə işlər daha da pisləşdi. Müsahibi ilk dəfə mehriban və ünsiyyətcil idisə, bu dəfə bir qədər tutqun idi. Problemi dərhal başa düşə bilmədim, baxmayaraq ki, mənim gəldiyim fikirlər, prinsipcə, onun həllinə gətirib çıxara bilər. Nəhayət, müsahibin bir neçə xahişindən sonra həll mənə gəldi. Bu dəfə yalnız bir neçə nöqtədən yenə geniş axtarış oldu. Həllləri yazdım, vaxtında tanış oldum, amma kənar halları unutdum. Bir müddətdən sonra işə qəbul edən şəxs zəng edib dedi ki, bu dəfə müsahibimiz narazıdır, çünki onun fikrincə mənə həddən artıq ipucu lazım idi (3 və ya 4 ədəd) və mən yazarkən daim kodu dəyişirəm. İki müsahibənin nəticələrinə əsasən, daha da uzağa getməmək, istəsəm, növbəti müsahibəni bir il təxirə salmaq qərarına gəldik. Ona görə də sağollaşdıq.

Və bu hekayədən bir neçə nəticə çıxardım:

  • Nəzəriyyə yaxşıdır, amma onu tez idarə etmək lazımdır
  • Təcrübəsiz nəzəriyyə kömək etməyəcək. Problemləri həll etməli və kodlaşdırmanı avtomatikliyə gətirməliyik.
  • Müsahibdən çox şey asılıdır. Və bununla bağlı heç nə etmək olmaz.

İkinci qaçışa hazırlaşır

Vəziyyəti düşünərək, bir ildən sonra yenidən cəhd etmək qərarına gəldim. Və məqsədi bir az redaktə etdi. Əgər əvvəllər əsas məqsəd oxumaq idisə və Google-da müsahibə uzaq kök kimi idisə, indi müsahibədən keçmək məqsəd, oxumaq isə vasitə idi.
Beləliklə, aşağıdakı məqamları özündə əks etdirən yeni bir plan hazırlandı:

  • Kitab və məqalələr oxuyaraq nəzəriyyəni öyrənməyə davam edin.
  • 500-1000 ədəd həcmində alqoritmik məsələləri həll edin.
  • Videolara baxaraq nəzəriyyəni öyrənməyə davam edin.
  • Kurslar vasitəsilə nəzəriyyəni öyrənməyə davam edin.
  • Google-da müsahibələrlə digər insanların təcrübələrini öyrənin.

Planı bir il ərzində tamamladım. Sonra hər bir nöqtə üçün nə etdiyimi təsvir edəcəyəm.

Kitablar və məqalələr

Oxuduğum məqalələrin sayını belə xatırlamıram, həm rus, həm də ingilis dilində oxuyuram. Yəqin ki, ən faydalı saytdır bu. Burada kod nümunələri ilə çoxlu sayda maraqlı alqoritmlərin təsvirini tapa bilərsiniz.

5 kitab oxudum: Alqoritmlər, 4-cü nəşr (Sedgewick, Wayne), Alqoritmlərə Giriş 3-cü Nəşr (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4-cü nəşr (Gayle Laakmann), Programming Interviews Exposed 2nd nəşr, Suojanen (Mon). , Giguere), Proqramlaşdırma Müsahibələrinin Elementləri (Aziz, Lee, Prakash). Onları 2 kateqoriyaya bölmək olar. Birinciyə Sedgwick və Cormanın kitabları daxildir. Bu bir nəzəriyyədir. Qalanı müsahibəyə hazırlıqdır. Sedgwick kitabda kurslarında olduğu kimi eyni şey haqqında danışır. Sadəcə yazılı şəkildə. Əgər kursu keçmisinizsə, onu diqqətlə oxumağın o qədər də mənası yoxdur, amma hər halda gözdən keçirməyə dəyər. Əgər kursa baxmamısınızsa, oxumağın mənası var. Cormen mənə çox darıxdırıcı göründü. Düzünü desəm, mənimsəməkdə çətinlik çəkdim. Sadəcə onu oradan çıxardım usta nəzəriyyəsi, və bir neçə nadir hallarda istifadə olunan məlumat strukturları (Fibonacci yığını, van Emde Boas ağacı, radix yığını).

Müsahibəyə hazırlaşmaq üçün ən azı bir kitab oxumağa dəyər. Onların hamısı təxminən eyni prinsip üzərində qurulub. Onlar böyük texnologiya şirkətlərində müsahibə prosesini təsvir edir, Kompüter Elmlərindən əsas şeylər, bu əsas şeylər üçün problemlər, problemlərin həlli və həll yollarının təhlili verir. Yuxarıdakı üçündən, mən yəqin ki, Cracking the Coding Interview-u əsas kimi tövsiyə edərdim, qalanları isə isteğe bağlıdır.

Alqoritmik məsələlər

Bu, yəqin ki, hazırlığın ən maraqlı məqamı idi. Siz əlbəttə ki, oturub problemləri axmaqcasına həll edə bilərsiniz. Bunun üçün çoxlu müxtəlif saytlar var. Mən əsasən üç istifadə etdim: Hackerrank, CodeChef и LeetCode. CodeChef-də problemlər mövzuya görə deyil, çətinlikə görə bölünür. Həm mürəkkəbliyə, həm də mövzuya görə Hackerrank-da.

Ancaq dərhal özüm üçün bildiyim kimi, daha maraqlı bir yol var. Və bunlar müsabiqələrdir (proqramlaşdırma problemləri və ya proqramlaşdırma müsabiqələri). Hər üç sayt onları təmin edir. Düzdür, LeetCode ilə bağlı problem var - əlverişsiz saat qurşağı. Ona görə də bu saytda iştirak etmədim. Hackerrank və CodeChef 1 saatdan 10 günə qədər davam edən kifayət qədər çox sayda müxtəlif müsabiqələr təqdim edir. Fərqli formatların fərqli qaydaları var, lakin bu barədə uzun müddət danışa bilərik. Yarışların yaxşı olmasının əsas məqamı təlim prosesinə rəqabətli (və yenə də tavtologiya) elementin daxil edilməsidir.

Ümumilikdə Hackerrank üzrə 37 müsabiqədə iştirak etmişəm. Bunlardan 32-si reytinq, 5-i isə ya sponsorluq (hətta onlardan birində 25 dollar almışam) və ya əylənmək üçün idi. Reytinqlərdə 10 dəfə ilk 4%, 11 dəfə ilk 12% və 5 dəfə ilk 25% oldum. Ən yaxşı nəticələr 27 saat ərzində 1459/3, həftədə isə 22/9721 olub.

Hackerrank yarışlara daha az ev sahibliyi etməyə başlayanda CodeChef-ə keçdim. Ümumilikdə 5 müsabiqədə iştirak etməyi bacarmışam. On gün davam edən yarışda ən yaxşı xal 426/5019 olub.

Ümumilikdə, yarışlarda və buna bənzər olaraq, plana uyğun gələn 1000-dən bir az çox problemi həll etdim. İndi, təəssüf ki, rəqabətli fəaliyyətləri davam etdirmək üçün boş vaxt yoxdur, necə ki, boş vaxtın silinə biləcəyi heç bir məqsəd yoxdur. Amma əyləncəli idi. Tövsiyə edirəm ki, bununla maraqlananlar həmfikir insanlar tapsınlar. Birlikdə və ya qrup halında daha maraqlıdır. Bir dostumla əyləndim, bəlkə də yaxşı keçdi.

Videoya baxın

Skienanın kitabını oxuyandan sonra onun nə işlə məşğul olduğu ilə maraqlandım. Sedgwick kimi o da universitet professorudur. Bu baxımdan onun kurslarının videolarını internetdə tapmaq olar. Kursu nəzərdən keçirmək qərarına gəldim COMP300E - Proqramlaşdırma Problemləri - 2009 HKUST. Çox bəyəndiyimi deyə bilmərəm. Əvvəla, videonun keyfiyyəti çox yaxşı deyil. İkincisi, kursda müzakirə olunan problemləri mən özüm həll etməyə çalışmadım. Beləliklə, nişan çox da yüksək deyildi.
Həmçinin problemləri həll edərkən, düzgün alqoritmi tapmağa çalışarkən Tuşar Röyün videosuna rast gəldim. O, Amazon-da işləyirdi və indi Apple-da işləyir. Sonradan özüm üçün bildiyim kimi, o da var youtube kanalı, burada müxtəlif alqoritmlərin təhlilini yerləşdirir. Yazı hazırlanarkən kanalda 103 video var. Və deməliyəm ki, onun təhlili çox yaxşı aparılıb. Başqa müəlliflərə baxmağa çalışdım, amma nədənsə alınmadı. Ona görə də bu kanalı izləmək üçün mütləq tövsiyə edə bilərəm.

Kurslarda iştirak etmək

Mən burada xüsusi bir şey etmədim. Google-un Android Developer Nanodegree-dən bir videoya baxdım və ITMO-dan bir kurs keçdi Kodlaşdırma yarışlarında necə qalib gəlmək olar: Çempionların sirləri. Nanodegree olduqca yaxşıdır, baxmayaraq ki, mən təbii olaraq ondan yeni bir şey öyrənməmişəm. ITMO-dan olan kurs nəzəriyyə baxımından bir az əyri olsa da, problemlər maraqlı idi. Mən onunla başlamağı məsləhət görməzdim, amma prinsipcə, vaxt sərf olundu.

Başqalarının təcrübələrindən öyrənin

Əlbəttə ki, bir çox insan Google-a daxil olmağa çalışdı. Bəziləri içəri girdi, bəziləri daxil olmadı. Bəziləri bu barədə məqalələr yazıblar. Maraqlı şeylərdən yəqin ki, qeyd edəcəm bu bir и bu bir. Birinci halda, şəxs özü üçün Proqram Mühəndisi olmaq və Google-a daxil olmaq üçün öyrənməli olduğu şeylərin siyahısını hazırladı. Nəhayət Amazonda sona çatdı, amma bu artıq o qədər də vacib deyil. İkinci təlimat Google mühəndisi Larisa Agarkova tərəfindən yazılmışdır (Larrr). Bu sənədə əlavə olaraq siz də oxuya bilərsiniz onun bloqu.

Glassdoor-da müsahibələrin rəylərini oxumağın mənası var. Onların hamısı az və ya çox oxşardır, lakin bəzi faydalı məlumatlar əldə edə bilərsiniz.

Digər kiçik məqalələrə keçid verməyəcəyəm; onları Google-da asanlıqla tapa bilərsiniz.

İkinci qaçış

Və indi bir il keçdi. Araşdırmalar baxımından çox sıx olduğu ortaya çıxdı. Amma mən yeni payıza çox daha dərin nəzəri biliklərlə, əməli bacarıqlarla yaxınlaşdım. Hazırlıq üçün mənə ayrılan ilin sonuna hələ bir neçə həftə qalmışdı, birdən poçta Google-dan işəgötürəndən məktub düşdü və o, məndən hələ də Google-da işləmək istəyimin olub-olmadığını soruşdu. Onunla danışmağa razıyam. Təbii ki, etiraz etmədim. Bir həftədən sonra zəng etməyə razılaşdıq. Onlar da məndən yenilənmiş tərcümeyi-hal istədilər, ona il ərzində işdə və ümumiyyətlə, gördüklərimin qısa təsvirini əlavə etdim.

Ömürlük ünsiyyət qurduqdan sonra qərara gəldik ki, bir həftə sonra keçən il olduğu kimi Hangout müsahibəsi olacaq. Bir həftə keçdi, müsahibə vaxtı gəldi, amma müsahibimiz gəlmədi. 10 dəqiqə keçdi, artıq əsəbləşməyə başlamışdım ki, birdən kimsə söhbətə girdi. Bir az sonra məlum oldu ki, müsahibim nədənsə meydana çıxa bilməyib və onun yerinə təcili olaraq əvəzedici tapılıb. Həmin şəxs həm kompüterin qurulması, həm də müsahibənin aparılması baxımından bir qədər hazırlıqsız idi. Amma sonra hər şey yaxşı getdi. Problemi tez bir zamanda həll etdim, tələlərin harada mümkün olduğunu və onlardan necə qaçmaq olar. Problemin bir neçə fərqli versiyasını və alqoritmin mürəkkəbliyini müzakirə etdik. Sonra daha 5 dəqiqə danışdıq, mühəndis bizə Münhendə işləmək təəssüratlarını söylədi (görünür, Sürixdə təcili əvəz tapmadılar) və sonra ayrıldıq.

Həmin gün işə qəbul edən şəxs mənimlə əlaqə saxladı və müsahibənin yaxşı keçdiyini və məni ofisdə müsahibəyə dəvət etməyə hazır olduqlarını bildirdi. Ertəsi gün Hangouts vasitəsilə zəng edib detalları müzakirə etdik. Viza üçün müraciət etməli olduğum üçün bir aya müsahibə təyin etmək qərarına gəldik.

Sənədləri hazırlayarkən eyni vaxtda işə götürən şəxslə qarşıdan gələn müsahibəni müzakirə etdim. Google-da standart müsahibə 4 alqoritmik müsahibə və bir Sistem Dizaynı müsahibəsindən ibarətdir. Ancaq Android proqramçısı kimi işə müraciət etdiyim üçün mənə müsahibənin bir hissəsinin Android üçün xüsusi olacağını söylədilər. Mən onu işə götürəndən tam olaraq nəyin və hansı xüsusiyyətlərin olacağını deyə bilmədim. Mən başa düşdüyümə görə, bu, nisbətən yaxınlarda tətbiq edilib və onun özü də çox da xəbərsiz idi. Mən də iki təlim sessiyasına yazıldım: alqoritmik müsahibədən necə keçmək və Sistem Dizaynı müsahibəsindən necə keçmək. Seanslar orta faydalı idi. Orada da heç kim mənə Android tərtibatçılarından nə soruşduqlarını deyə bilməzdi. Buna görə də, bu aya hazırlığım aşağıdakılarla nəticələndi:

  • Bir marker lövhəsi almaq və yaddaşdan 2-3 onlarla ən məşhur alqoritmləri yazmaq. Hər gün 3-5 ədəd. Ümumilikdə hər biri bir neçə dəfə yazılıb.
  • Android-də hər gün istifadə etmədiyiniz müxtəlif məlumatlar haqqında yaddaşınızı təzələyin
  • Big Scale və bu kimi şeylər haqqında bir neçə videoya baxırıq

Artıq dediyim kimi, eyni zamanda səfər üçün sənədləri də hazırlayırdım. Əvvəlcə dəvət məktubu hazırlamaq üçün məndən məlumat istədilər. Sonra uzun müddət Kiprdə kimin İsveçrəyə viza verdiyini öyrənməyə çalışdım, çünki İsveçrə səfirliyi bununla məşğul deyil. Məlum olub ki, bu işlə Avstriya konsulluğu məşğul olur. Zəng edib görüş təyin etdim. Bir dəstə sənəd istədilər, amma xüsusilə maraqlı deyildi. Şəkil, pasport, yaşayış icazəsi, bir dəstə müxtəlif sertifikatlar və əlbəttə ki, dəvət məktubu. Bu arada məktub gəlmədi. Nəhayət, mən müntəzəm çap ilə getdim və olduqca yaxşı işlədi. Məktubun özü 3 gün sonra gəldi və Kipr FedEx mənim ünvanımı tapa bilmədi və mən gedib özüm almalı oldum. Eyni zamanda, eyni FedEx-dən bir bağlama aldım, onlar da ünvanı tapmadıqları üçün mənə çatdıra bilmədilər və iyun ayından (5 ay, Karl) orada yatdılar. Bu barədə bilmədiyim üçün, təbii ki, onların da olduğunu düşünmürdüm. Vizamı vaxtında aldım, bundan sonra mənə otel sifariş etdilər və uçuş variantlarını təklif etdilər. Onu daha rahat etmək üçün seçimləri düzəltdim. Artıq birbaşa uçuşlar yox idi, ona görə də mən Afina vasitəsilə oraya və Vyana vasitəsilə geri uçdum.

Səfərlə bağlı bütün rəsmiyyətlər həll edildikdən sonra daha bir neçə gün keçdi və mən həqiqətən Sürixə uçdum. Hadisəsiz çatdım. Hava limanından şəhərə qatara mindim - tez və rahat. Şəhərdə bir az dolaşandan sonra bir otel tapdım və qeydiyyatdan keçdim. Otel yeməksiz rezervasiya olunduğundan naharı qonşuda yedim və yatdım, çünki uçuş səhər idi və mən artıq yatmaq istəyirdim. Ertəsi gün oteldə səhər yeməyi yedim (əlavə pul üçün) və Google ofisinə getdim. Sürixdə Google-un bir neçə ofisi var. Mənim müsahibəm mərkəzdə deyildi. Və ümumiyyətlə, ofis olduqca adi görünürdü, buna görə də "normal" bir Google ofisinin bütün gözəlliklərinə baxmaq şansım yox idi. Administratorla qeydiyyatdan keçdim və oturub gözləməyə başladım. Bir müddət sonra işə qəbul edən şəxs çıxıb mənə günün planını danışdı, sonra məni müsahibələrin keçiriləcəyi otağa apardı. Əslində plana 3 müsahibə, nahar və daha 2 müsahibə daxil idi.

Bir nömrəli müsahibə

İlk müsahibə yalnız Android-də oldu. Və bunun alqoritmlərlə heç bir əlaqəsi yox idi. Təəccüblü olsa da. Yaxşı, bu şəkildə daha çox yayılmışdır. Bizdən müəyyən UI komponenti yaratmağımız istəndi. Əvvəlcə nəyi və necə danışdıq. O, RxJava-dan istifadə edərək həll etməyi təklif etdi, dəqiq nə edəcəyini və niyə edəcəyini təsvir etdi. Dedilər ki, bu, əlbəttə ki, yaxşıdır, amma gəlin bunu Android çərçivəsi ilə edək. Və eyni zamanda kodu lövhəyə yazacağıq. Və yalnız bir komponent deyil, bu komponentdən istifadə edən bütün Fəaliyyət. Bu mənim hazır olmadığım şeydi. Lövhədə 30-50 sətirlik bir alqoritm yazmaq bir şeydir, Android kodunun əriştələrini yazmaq başqa şeydir, hətta "yaxşı, mən bunu yazmayacağam, çünki bu artıq aydındır" ruhunda ixtisar və şərhlərlə. Nəticə 3 lövhə üçün bir növ vinaigrette oldu. Bunlar. Problemi həll etdim, amma axmaq görünürdü.

XNUMX nömrəli müsahibə

Bu dəfəki müsahibə alqoritmlər haqqında idi. Və iki müsahib var idi. Biri faktiki müsahibə verən, ikincisi isə gənc padavandır (kölgə müsahibəçisi). Müəyyən xüsusiyyətlərə malik məlumat strukturu ilə çıxış etmək lazım idi. Əvvəlcə problemi həmişəki kimi müzakirə etdik. Müxtəlif suallar verdim, müsahibim cavab verdi. Bir müddət sonra onlardan icad edilmiş quruluşun bir neçə üsulunu lövhəyə yazmaq tapşırılıb. Bu dəfə az-çox müvəffəq oldum, baxmayaraq ki, müsahibin istəyi ilə düzəltdiyim bir neçə xırda səhvim var.

Üç nömrəli müsahibə

Bu dəfə birdən-birə Android olduğu ortaya çıxan Sistem Dizaynı. Müəyyən funksionallığı olan bir proqram hazırlamaq lazım idi. Biz proqrama, serverə və rabitə protokoluna olan tələbləri müzakirə etdik. Sonra, tətbiqi qurarkən hansı komponentlərdən və ya kitabxanalardan istifadə edəcəyimi təsvir etməyə başladım. Və sonra, İş Planlayıcısı haqqında danışarkən, bəzi qarışıqlıq var idi. Məsələ burasındadır ki, mən ondan heç vaxt praktikada istifadə etməmişəm, çünki buraxılan zaman onun istifadəsi üçün heç bir tapşırıq olmayan dəstəkləyici proqramlara keçmişdim. Eyni şey sonrakıları inkişaf etdirərkən də baş verdi. Yəni nəzəri olaraq bu şeyin nə olduğunu, nə vaxt və necə istifadə edildiyini bilirəm, amma istifadə etmək təcrübəm yoxdur. Müsahibin də bu, deyəsən, o qədər də xoşuna gəlməyib. Sonra məndən kod yazmağımı istədilər. Bəli, proqram hazırlayarkən dərhal kod yazmalısınız. Lövhədə yenidən Android kodu. Yenə qorxulu çıxdı.

Günorta yeməyi

Başqa bir adam gəlməli idi, amma gəlmədi. Və Google səhvlər edir. Nəticədə mən əvvəlki müsahibimlə, onun həmkarı ilə nahara getdim və bir az sonra növbəti müsahibimiz də qoşuldu. Nahar olduqca layiqli idi. Yenə də bura Sürixdə əsas ofis olmadığı üçün yeməkxana çox gözəl olsa da, olduqca adi görünürdü.

Müsahibə nömrəsi dörd

Nəhayət, ən təmiz formada alqoritmlər. Birinci problemi olduqca tez və dərhal effektiv şəkildə həll etdim, baxmayaraq ki, bir kənar işi qaçırdım, lakin müsahibin göstərişi ilə (o, bu çox kənar işi verdi) problemi tapdım və onu düzəltdim. Təbii ki, kodu lövhəyə yazmalıydım. Sonra oxşar, lakin daha çətin bir tapşırıq verildi. Bunun üçün bir neçə qeyri-optimal həll yolu tapdım və demək olar ki, optimal olanı tapdım, fikri bitirmək üçün 5-10 dəqiqə kifayət etmədi. Yaxşı, bunun kodunu yazmağa vaxtım yox idi.

Müsahibə nömrəsi beş

Və yenidən Android müsahibəsi. Maraqlıdır, mən niyə bütün il alqoritmləri öyrənmişəm?
Əvvəlcə bir neçə sadə sual var idi. Sonra müsahibi lövhəyə kod yazdı və orada problemləri tapmağı xahiş etdi. Tapdı, izah etdi, düzəltdi. Müzakirə edildi. Və sonra “Y metodu X sinfində nə edir”, “Y metodunun daxilində nələr var”, “Z sinfi nə edir” ruhunda bəzi gözlənilməz suallar başladı. Təbii ki, nəsə cavab verdim, amma sonra dedim ki, son vaxtlar işimdə belə bir halla rastlaşmamışam və təbii ki, kimin nə ilə necə məşğul olduğunu ətraflı xatırlamıram. Bundan sonra müsahibim indi nə işlə məşğul olduğumu soruşdu. Və suallar bu mövzuda getdi. Artıq burada daha yaxşı cavab verdim.

Axırıncı müsahibə bitəndən sonra keçidimi götürdülər, uğurlar arzulayıb yola saldılar. Şəhəri bir az gəzdim, nahar etdim və uçuş yenidən səhər tezdən olduğu üçün yatdığım otelə getdim. Ertəsi gün sağ-salamat Kiprə çatdım. İşə götürənin xahişi ilə müsahibə ilə bağlı rəy yazdım və xərclənən pulu qaytarmaq üçün xüsusi xidmətdə anket doldurdum. Bütün xərclərdən Google birbaşa biletləri ödəyir. Otel, yemək və gediş haqqı namizəd tərəfindən ödənilir. Sonra formanı doldurub, qəbzləri əlavə edib xüsusi idarəyə göndəririk. Onlar bunu emal edir və kifayət qədər tez hesaba pul köçürürlər.

Müsahibə nəticələrinin işlənməsi bir həftə yarım çəkdi. Bundan sonra mənə “bardan bir qədər aşağıda olduğumu” bildirdilər. Yəni, bir az da geri çəkildim. Daha dəqiq desək, 2 müsahibə yaxşı keçdi, 2 müsahibə bir az o qədər də yaxşı olmadı və Sistem Dizaynı çox yaxşı olmadı. İndi heç olmasa 3-ü yaxşı getsəydi, o zaman yarışa bilərdik, əks halda şansımız yox idi. Daha bir ildən sonra qayıtmağı təklif etdilər.

Əvvəlcə, əlbəttə ki, mən əsəbləşdim, çünki hazırlıq üçün çox səy sərf edilmişdi və müsahibə zamanı mən artıq Kiprdən ayrılmağı düşünürdüm. Google-a qoşulmaq və İsveçrəyə köçmək əla seçim kimi görünürdü.

Nəticə

Və burada məqalənin son hissəsinə gəlirik. Bəli, Google müsahibəsində iki dəfə uğursuz oldum. Bu kədərlidir. Yəqin ki, orada işləmək maraqlı olardı. Ancaq məsələyə digər tərəfdən də baxmaq olar.

  • Bir il yarım ərzində proqram təminatının inkişafı ilə bağlı çoxlu şeylər öyrəndim.
  • Proqramlaşdırma yarışlarında iştirak etməkdən çox zövq alırdım.
  • Bir neçə gün Sürixə getdim. Mən yenə ora nə vaxt gedəcəm?
  • Dünyanın ən böyük İT şirkətlərindən birində maraqlı müsahibə təcrübəm oldu.

Beləliklə, bu bir il yarım ərzində baş verən hər şeyi sadəcə olaraq təlim və ya məşq hesab etmək olar. Və bu təlimin nəticələri özünü hiss etdirdi. Kiprdən ayrılmaq fikrim yetişdi (bəzi ailə şəraitinə görə), başqa bir tanınmış şirkətlə bir neçə müsahibədən uğurla keçdim və 8 aydan sonra köçdüm. Amma bu, tamam başqa hekayədir. Bununla belə, düşünürəm ki, həm öz üzərimdə işlədiyim il yarım, həm də Sürixdə keçirdiyim 2 maraqlı gün üçün hələ də Google-a təşəkkür etməliyəm.

Sonda nə deyə bilərəm? Əgər İT sahəsində işləyirsinizsə, özünüzü Google-da (Amazon, Microsoft, Apple və s.) müsahibələrə hazırlayın. Ola bilsin ki, bir gün ora çatmaq üçün ora gedəcəksən. İstəməsəniz də, inanın ki, belə hazırlıq sizi daha da pisləşdirməyəcək. Bu şirkətlərdən biri ilə müsahibə ala biləcəyinizi dərk etdiyiniz an (bəxtlə də olsa) hazırlığa başlamazdan əvvəlkindən daha çox yol sizə açıq olacaq. Və bu yolda sizə lazım olan tək şey məqsəd, əzm və vaxtdır. Sənə uğurlar arzu edirəm :)

Mənbə: www.habr.com

Добавить комментарий