Як підготуватися до співбесіди в Google і не пройти її. Двічі

Заголовок статті звучить як epic fail, але насправді все не так однозначно. Та й загалом ця історія закінчилася вельми позитивно, хоч і не в Google. Але це вже тема для іншої статті. У цій же статті я розповім про три речі: яким чином проходив мій процес підготовки, яким чином проходили інтерв’ю в Google і чому ж на мій погляд все не так однозначно, як може здатися.

Як все починалося

Одним холодним кіпрським зимовим вечором мені раптом прийшла в голову думка, що мої пізнання в класичній Computer Science вельми далекі навіть від середніх, і з цим треба щось робити. Якщо до речі раптом хтось ще не читав, чому вечір кіпрський і холодний, то можна про це дізнатися . Після деяких роздумів було вирішено для початку пройти онлайн курс по алгоритмам і структурам даних. Від одного з колишніх колег чув про курс Роберта Седжвіка (Robert Sedgewick) на Coursera. Курс складається з двох частин. Їх можна нагуглити по імені автора. Кожна з частин триває 6 тижнів. На початку тижня видаються лекції, а протягом тижня ще потрібно робити вправи. Перша частина курсу покриває базові структури даних, основні види сортувань і складність алгоритмів. Друга частина вже більш просунута, починається з графів і закінчується такими речами як Linear Programming і Intractability. Обміркувавши все вищевикладене, я прийшов до висновку, що це саме те, що мені потрібно. Тут до речі допитливий читач може запитати, а при чому ж тут Google. І дійсно, до цього моменту він був тут зовсім не при чому. Але мені потрібна була мета, так як займатися 12 тижнів вечорами без мети трохи важко. А яка може бути мета в отриманні нових знань? Звичайно, їх застосування на практиці. У повсякденному житті це досить проблематично, а от на співбесіді у велику компанію запросто. Побіжне гугление показало, що Google (вже вибачте за тавтологію) є однією з найбільших компаній в Європі (а я розглядав саме Європу), в якій проводять такі співбесіди. А саме, їх офіс знаходиться в Цюріху, Швейцарія. Отже вирішено — вчимося і йдемо на співбесіду в Google.

Підготовка до першого заходу

12 тижнів пройшли непомітно, і я закінчив обидва курси. Мої враження від курсів більш ніж позитивні, і я можу їх рекомендувати всім зацікавленим. Сподобалися мені курси з наступних причин:

  • Лектор говорить досить чіткою англійською
  • Матеріал добре структурований
  • Шикарні презентації, показують нутрощі кожного алгоритму
  • Грамотна добірка матеріалу
  • Цікаві вправи
  • Вправи автоматично перевіряються на сайті, після чого створюється звіт

У мене робота над курсами зазвичай проходила наступним чином. За 1-2 дні я прослуховував лекції. Потім відбувався швидкий тест на знання матеріалу. Залишок тижня робив вправу в кілька ітерацій. Після першої отримував свої 30-70%, наступні доводили результат до 97-100%. Вправа зазвичай полягала в реалізації якого-небудь алгоритму, наприклад Seam carving або bzip.

Після закінчення курсів я усвідомив, що багато знання це багато смутку. Якщо раніше я просто знав, що нічого не знаю, то тепер почав усвідомлювати, що саме я не знаю.

Так як був ще тільки травень місяць, а співбесіду я запланував на осінь, я вирішив продовжити свою освіту. Після перегляду вимог до вакансії, було прийнято рішення піти паралельно по двох напрямках: продовжити вивчення алгоритмів і пройти базовий курс по машинного навчання. Для першої мети я вирішив переключитися з курсів на книгу і вибрав монументальну працюСтівена Скієни (Steven Skiena) «Алгоритми. Керівництво по розробці» (The Algorithm Design Manual). Не такий монументальний, як у Батога, але все ж. Для другої мети я знову пішов на Coursera і записався на курс Ендрю Ина (Andrew Ng) Machine Learning.

Пройшло ще 3 місяці, і я закінчив курс і книгу.

Почнемо з книги. Читання виявилося досить цікаве, хоча й непросте. В принципі, я б рекомендував книгу, але не відразу. У загальному і цілому, книга дає більш глибокий розбір того, що я дізнався на курсах. Плюс до цього я відкрив для себе (з формальної точки зору) такі речі як евристика та динамічне програмування. Природно, раніше мені доводилося їх використовувати, але як вони називаються я не знав. Так само в книзі присутня деяка кількість байок з життя автора (War Story), які кілька розбавляють академічність викладу. Другу половину книги можна до речі опустити, там йде швидше опис існуючих проблем і методів їх вирішення. Корисно, якщо регулярно застосовується на практиці, інакше забудеться відразу ж.

Курс мене більш ніж порадував. Автор явно знає свою справу і розповідає цікаво. Плюс неабияку частину, а саме лінійну алгебру і основи нейронних мереж я пам’ятав ще з університету, тому особливих труднощів не відчував. Структура курсу досить стандартна. Курс розбитий на тижні. Щотижня спочатку йдуть лекції упереміш з короткими тестами. Після лекцій видається завдання, яке потрібно зробити, відправити і воно автоматично перевіриться. Коротенько, список викладається в курсі наступний:
— cost function
— linear regression
— gradient descent
— feature scaling
— normal equation
— logistic regression
— multiclass classification (one vs all)
— neural networks
— backpropagation
— regularization
— bias/variance
— learning curves
— error metrics (precision, recall, F1)
— Support Vector Machines (large margin classification)
— K-means
— Principal Components Analysis
— anomaly detection
— collaborative filtering (recommeder system)
— stochastic, mini-batch, batch gradient descents
— online learning
— map reduce
— ceiling analysis
Після проходження курсу, розуміння всіх цих тем були присутні. Через 2 роки вже майже все природно забулося. Рекомендую тим, хто не знайомий з машинним навчанням і хоче отримати хороше розуміння базових речей для руху далі.

Перший захід

На дворі був уже вересень і прийшов час задуматися про співбесіду. Так як подаватися через сайт справа досить невдячна, зайнявся пошуком знайомих, що працюють в Google. Вибір припав на datacompboy, так як він був єдиним, кого я знав безпосередньо (нехай і не особисто). Він погодився передати моє резюме, і незабаром я отримав від рекрутера листа, запрошуючого забронювати слот у нього в календарі для першої розмови.Через кілька днів відбувся дзвінок. Пробували спілкуватися через Hangouts, але якість зв’язку була жахлива, тому переключилися на телефон. Спочатку швидко обговорили стандартні як, навіщо і чому, а потім перейшли до технічного скринінгу. Він складався з десятка питань у дусі «яка складність вставки в hash map», «які збалансовані дерева ви знаєте». Не складно, якщо є базове знання цих речей. Скринінг пройшов добре і за результатами вирішили організувати перше інтерв’ю через тиждень.

Читайте також  Чому всі мої ігри виглядають так відстійно

Інтерв’ю теж було через Hangouts. Спочатку 5 хвилин поговорили про мене, потім перейшли до задач. Завдання було на графи. Я швидко зрозумів, що треба зробити, але вибрав не той алгоритм. Коли почав писати код усвідомив це і переключився на інший варіант, який і дописав. Інтерв’юер поставив кілька запитань на тему складності алгоритму, запитав, чи можна швидше. Я як-то затупив і не зміг. На цьому час вийшов і ми розпрощалися. Потім, хвилин через 10 до мене дійшло, що замість алгоритму Дейкстри, який я використовував, конкретно в цій задачі можна було б використовувати пошук в ширину, і це було б швидше. Через деякий час зателефонував рекрутер і сказав, що інтерв’ю в цілому пройшло добре і треба б організувати ще одне. Домовилися на ще через тиждень.

В цей раз справи пішли гірше. Якщо в перший раз інтерв’юер був доброзичливий і товариський, то в цей раз якийсь похмурий. Задачку я відразу розкусити не зміг, хоча ті ідеї що я видавав в принципі могли призвести до її вирішення. У підсумку після декількох підказок інтерв’юера до мене дійшло рішення. В цей раз це знову опинився пошук в ширину, тільки з декількох точок. Рішення я написав, в час вклався, але забув про граничні випадки. Через якийсь час подзвонив рекрутер і повідомив, що в цей раз інтерв’юер залишився незадоволений, так як на його думку мені знадобилося надто багато підказок (3 або 4 штуки) і я постійно змінював код під час написання. За результатами двох співбесід було прийнято рішення далі не йти, а відкласти наступне інтерв’ю на рік, якщо у мене буде таке бажання. За сим і розпрощалися.

І цієї історії я зробив кілька висновків:

  • Теорія це добре, але в ній треба швидко орієнтуватися
  • Теорія без практики не допоможе. Треба вирішувати задачки і доводити написання коду до автоматизму.
  • Багато залежить від інтерв’юера. І з цим нічого не зробити.

Підготовка до другого заходу

Обміркувавши ситуацію, я прийняв рішення спробувати через рік ще раз. І злегка підредагував мету. Якщо раніше основною метою було навчання, а інтерв’ю в Google як далека морквина, то тепер проходження інтерв’ю було метою, а засобом навчання.
Отже, був розроблений новий план, в який входили наступні пункти:

  • Продовжувати вивчати теорію шляхом читання книжок і статей.
  • Переглянули алгоритмічні задачі в кількості 500-1000 штук.
  • Продовжувати вивчати теорію шляхом перегляду відео.
  • Продовжувати вивчати теорію шляхом курсів.
  • Вивчити досвід інших людей з проходження співбесід у Google.

План був виконаний мною за рік. Далі я опишу, що саме я робив по кожному з пунктів.

Книги і статті

Кількість прочитаний статей я вже навіть і не згадаю, читав їх як російською, так і англійською.

Книжок я прочитав 5: Algorithms, 4th edition (Sedgewick Wayne), Introduction to Algorithms 3rd Edition (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4th edition (Gayle Laakmann), Programming Interviews Exposed 2nd edition (Mongan, Suojanen, Giguere), Elements of Programming Interviews (Aziz, Lee, Prakash). Їх можна розділити на 2 категорії. У першу потрапляють книги Седжвік і Кормена. Це теорія. Решта це підготовка до інтерв’ю. Седжвік у книзі розповідає приблизно те ж саме, що і в своїх курсах. Просто в письмовому вигляді. Немає особливого сенсу читати уважно, якщо ви проходили курс, але продивитися варто. Якщо курс не дивилися, то має сенс почитати. Кормен мені здався занадто занудним. Осилив чесно кажучи важко. Виніс звідти тільки master theorem, та кілька рідко використовувані структури даних (Fibonacci heap, van Emde Boas tree, radix heap).

Книги для підготовки до інтерв’ю варто прочитати хоча б одну. Всі вони побудовані приблизно за одним принципом. Описують процес інтерв’ю у великих технологічних компаніях, дають базові речі з Computer Science, задачки на ці базові речі, рішення завдань і розбір рішень. З наведених трьох я б напевно рекомендував Cracking the Coding Interview як основну, а решта за бажанням.

Алгоритмічні задачі

Це напевно був найцікавіший пункт підготовки. Можна, звичайно, сісти і тупо вирішувати завдання. Для цього є багато різних сайтів. Я в основному використовував три: Hackerrank, CodeChef і LeetCode. На CodeChef завдання розбиті за складністю, але не за темами. На Hackerrank і за складністю, та за темами.

Але як я відразу для себе з’ясував, є більш цікавий спосіб. І це змагання (programming challenges або programming contests). Всі три сайти їх надають. Правда з LeetCode є проблема — незручна часова зона. Тому я не брав участі на цьому сайті. Hackerrank і CodeChef надають досить велика кількість різних змагань, тривалістю від 1 години до 10 днів. У різних форматів різні правила, ну так це про це можна довго розповідати. Основна суть, чому змагання це добре, це внесення змагального (і знову тавтологія) елемента в процес навчання.

Всього я взяв участь в 37 змаганнях на Hackerrank. З них 32 були рейтингові, а 5 або спонсоровані (я навіть отримав 25$ в одному з них) або по фану. У рейтингових я 10 раз входив в топ 4%, 11 разів у топ 12% і 5 разів у топ 25%. Кращими результатами були 27/1459 в 3-х годинному і 22/9721 у тижневому.

На CodeChef я перейшов, коли на Hackerrank змагання стали влаштовувати рідше. Всього я встиг взяти участь в 5 змаганнях. Кращим результатом було 426/5019 в десятиденному змаганні.

Всього, на змаганнях і просто так я вирішив трохи більше 1000 завдань, що вписувалося в план. Зараз нажаль вільного часу на продовження змагальної діяльності немає, як і немає мети, під яку можна списати невільний час. Але це було весело. Рекомендую тим, хто зацікавиться, знайти однодумців. Удвох або групою набагато цікавіше. Я цим розважався, тому може так добре пішло.

Перегляд відео

Прочитавши книжку Скієни, я в принципі зацікавився тим, чим він займається. Як і Седжвік, він є професором в університеті. У зв’язку з цим, в мережі можна знайти відеозаписи його курсів. Я вирішив переглянути курс COMP300E — Programming Challenges — 2009 HKUST. Не скажу, що мені дуже сподобалося. По-перше якість відео не дуже. По-друге я не пробував сам вирішувати завдання, розібрані в рамках курсу. Так що залученість була не дуже висока.
Також у процесі вирішення завдань, намагаючись знайти правильний алгоритм, я натикався на відео Tushar Roy. Він працював в Amazon, а зараз працює в Apple. Як пізніше я для себе з’ясував, у нього є канал на YouTube, де він викладає розбір різних алгоритмів. На момент написання статті канал містить 103 відео. І треба сказати, що розбір у його виконанні зроблений дуже пристойно. Я пробував дивитися інших авторів, але якось не зайшло. Так що цей канал однозначно можу рекомендувати до перегляду.

Читайте також  Помилка STOP 0x00000050 PAGE_FAULT_IN_NONPAGED_AREA

Проходження курсів

Тут я особливо нічим не займався. Переглянув відео з Android Developer Nanodegree від Google і пройшов курс від ІТМО How to Win Coding Competitions: Secrets of Champions. Nanodegree цілком собі, хоча нічого нового звідти я природно не дізнався. Курс від ІТМО в плані теорії трохи зім’ятий, але задачки були цікаві. Я б не рекомендував з нього починати, але в принципі на нього було витрачено не даремно.

Вивчити досвід інших людей

Само собою безліч людей намагалися потрапити в Google. Хтось потрапив, хтось ні. Деякі писали про це статті. З цікавих речей напевно зазначу ось цю і цю. У першому випадку, людина підготував для себе список того, що йому потрібно вивчити, щоб стати Software Engineer і потрапити в Google. Потрапив він у підсумку в Amazon, але це вже не так важливо. Другий мануал написаний інженером Google, Ларисою Агаркової (Larrr). Крім цього документа, можна також почитати її блог.

Має сенс почитати відгуки про співбесідах на Glassdoor. Вони все більш-менш схожі, але якусь корисну інформацію можна вивудити.

Посилання на інші дрібні статті наводити не буду, ви самі прекрасно зможете знайти в Google.

Другий захід

І ось рік пройшов. Видався він дуже насиченим в плані навчання. Але до нової осені я підходив з набагато більш глибокими теоретичними знаннями і відпрацьованими практичними навичками. До закінчення призначеного мені строку відведеного на підготовку року залишалося ще кілька тижнів, як раптом на пошту впало лист від рекрутера з Google, в якому він мене питав, чи маю я все ще бажання працювати в Google і не проти поспілкуватися з ним. Природно, що я був не проти. Домовилися здзвонитися через тиждень. Також мене попросили оновлене резюме, до якого я додав короткий опис того, що зробив за рік на роботі і в принципі.

Після спілкування за життя вирішили, що через тиждень буде Hangouts інтерв’ю, все як у минулому році. Тиждень минув, прийшов час інтерв’ю, але інтерв’юер не з’явився. Минуло 10 хвилин, я вже почав нервувати, як раптом хтось увірвався в чат. Як з’ясувалося трохи пізніше, мій інтерв’юер з якоїсь причини не зміг з’явитися і йому терміново знайшли заміну. Чоловік був не готовий як в плані налаштування компа, так і в плані проведення інтерв’ю. Але потім все пішло добре. Задачку я вирішив швидко, описав де можливі підступи, як їх можна обійти. Обговорили кілька різних варіантів завдання, складність алгоритму. Потім ще 5 хвилин поспілкувалися, інженер розповів свої враження від роботи в Мюнхені (в Цюріху термінової заміни не знайшли), на тому й розійшлися.

У той же день зі мною зв’язався рекрутер і повідомив, що співбесіда пройшла відмінно і вони готові запросити мене на співбесіду в офіс. На наступний день зателефонували через Hangouts і обговорили подробиці. Так як мені потрібно було робити візу, вирішили призначити співбесіду через місяць.

Поки готував документи, попутно обговорював з рекрутером майбутнє інтерв’ю. Стандарное інтерв’ю в Google складається з 4 алгоритмічних і одного System Design. Але, так як я влаштовувався як Android розробник, мені було сказано, що частина інтерв’ю з Android специфікою. Які саме і в чому специфіка я з рекрутера так і не зміг витрусити. Наскільки я зрозумів, це ввели відносно недавно і він сам був не дуже в курсі. Також мене записали на дві тренувальні сесії: як проходити алгоритмічне інтерв’ю і як проходити System Design інтерв’ю. Сесії були середнього ступеня корисності. Там мені теж ніхто не зміг розповісти, що ж запитують у Android розробників. Тому моя підготовка в цей місяць звелася до наступного:

  • Покупці маркерної дошки і написанні 2-3 десятків найпопулярніших алгоритмів на ній по пам’яті. По 3-5 штук щодня. Разом кожен був написаний кілька разів.
  • Освіженні в пам’яті різної інформації по Android, яку не використовую кожен день
  • Перегляді декількох відео про Big Scale і все таке

Як я вже говорив, паралельно я робив документи для поїздки. Для початку в мене запросили дані, щоб зробити лист-запрошення. Потім я довго намагався з’ясувати, хто ж на Кіпрі робить візи в Швейцарію, так як швейцарське посольство цим не займається. Як з’ясувалося, цим займається консульство Австрії. Подзвонив і записав на прийом. Там зажадали пачку документів, але нічого особливо цікавого. Фото, паспорт, посвідка на проживання, купу різних довідок і природно лист-запрошення. Лист тим часом не надходив. В результаті поїхав із звичайним друком і це цілком вийшло. Саме ж лист прийшов ще дня через 3, причому кіпрський FedEx не зумів знайти мою адресу і довелося їхати за ним самому. Заодно отримав все в тому ж FedEx’e посилку, яку вони теж не змогли мені доставити, так як не знайшли адресу, і яка там лежала з червня (5 місяців, Карл). Так як я про неї не знав, що природно і не припускав, що вона у них є. Візу я отримав вчасно, після чого мені забронювали готель і запропонували варіанти перельоту. Варіанти я підкоригував, щоб було зручніше. Прямих рейсів вже не було, в підсумку летів туди через Афіни, а назад через Відень.

Після того, як всі формальності з поїздкою були улагоджені, минуло ще кілька днів і я власне вилетів в Цюріх. Дістався без пригод. Від аеропорту до міста доїхав поїздом — швидко і зручно. Трохи поблукавши по місту знайшов готель і заселився. Так як готель був заброньований без їжі, повечеряв по сусідству і завалився спати, бо рейс був ранковий і спати вже хотілося. На наступний день поснідав в готелі (за окремі гроші) і відправився в офіс Google. Всього в Цюріху у Google кілька офісів. Моя співбесіда була не в центральному. І загалом офіс виглядав досить зазвичай, так що не довелося мені подивитися на всі плюшки «нормального» офісу Google. Зареєструвався у адміністратора і сів чекати. Через якийсь час вийшов рекрутер і розповів мені план на день, після чого повів у кімнату, де і повинні були проходити інтерв’ю. Власне в плані значилися 3 інтерв’ю, обід і ще 2 інтерв’ю.

Інтерв’ю номер

Перше інтерв’ю було якраз по Android. Причому взагалі ніяк не було пов’язано з алгоритмами. Сюрприз, однак. Ну добре, так навіть зручніше. Попросили зробити певний UI компонент. Спочатку обговорили, що і як. Запропонував зробити рішення на RxJava, описав, що саме і чому б зробив. Сказали, що це звичайно добре, але давайте зробимо засобами Android фреймворка. А заодно напишемо код на дошці. Причому не просто компонента, а всієї Activity, що використовує цей компонент. Ось до такого я був не готовий. Одна справа писати на дошці алгоритм на 30-50 рядків, а інша справа локшину Android коду, нехай навіть із скороченнями і коментарями в дусі «ну, це я писати не буду, так як і так очевидно». Вийшов якийсь вінегрет на 3 дошки. Тобто завдання-то я вирішив, але виглядало це стрьомно.

Читайте також  Як перевести гроші з Київстару на карту онлайн, в додатку і по SMS - інструкція

Інтерв’ю номер два

На цей раз інтерв’ю було за алгоритмами. І інтерв’юерів було двоє. Один власне інтерв’юер, а другий юний падаван (shadow interviewer). Потрібно було придумати структуру даних з певними властивостями. Спочатку як зазвичай обговорювали проблему. Я задавав різні запитання, інтерв’юер відповідав. Через деякий час попросили написати кілька методів придуманої структури на дошці. В цей раз більш-менш вдалося, щоправда з кількома дрібними помилками, які я виправив з підказки інтерв’юера.

Інтерв’ю номер три

На це раз System Design, який раптом теж виявився Android. Потрібно було розробити програму з певним функціоналом. Обговорили вимоги до додатка до сервера, до протоколу комунікації. Далі я став описувати, які компоненти або бібліотеки я б використовував при побудові програми. А потім при згадці Job Scheduler стався деякий затики. Суть в тому, що я ніколи не використовував його на практиці, так як в момент його виходу якраз переключився на підтримку додатків, де завдань для його застосування не було і в помині. При розробці наступних було теж саме. Тобто в теорії я знаю що це за штука, коли і як застосовується, але досвіду в застосуванні немає. І інтерв’юеру це схоже не сильно сподобалося. Потім попросили написати код. Так, при розробці програми відразу потрібно писати код. Знову ж Android код на дошці. Вийшло знову страшненько.

Обід

Повинен був прийти ще один чоловік, але не прийшов. І у Google бувають промахи. У підсумку на обід пішов з попереднім інтерв’юером, її колегою і трохи пізніше приєднався наступний інтерв’юер. Обід був цілком пристойний. Знову ж таки, так як це не головний офіс в Цюріху, їдальня виглядала досить звичайно, хоча і дуже приємно.

Інтерв’ю номер чотири

Нарешті алгоритми в чистому вигляді. Першу задачку я вирішив досить швидко і відразу ефективно, правда промахнувся з одним граничним випадком, але за підказкою інтерв’юера (він дав цей самий граничний випадок) знайшов проблему і виправив. Само собою потрібно було писати код на дошці. Потім була дана схожа завдання, але складніше. Для неї я знайшов пару неоптимальних рішень і майже знайшов оптимальне, не вистачило 5-10 хвилин щоб дотиснути думка. Ну і код для неї я написати вже не встиг.

Інтерв’ю номер п’ять

І знову Android інтерв’ю. Цікаво, навіщо я вчив алгоритми весь рік?
Спочатку було кілька простих запитань. Потім інтерв’юер написав на дошці код і попросив знайти в ньому проблеми. Знайшов, пояснив, виправив. Обговорили. А далі почалися дещо несподівані питання в дусі «а що в класі Х робить метод У», «а що всередині у методу У», «а що робить клас Z». Що-то я, звичайно, відповів, але потім сказав, що в роботі останнім часом з цим не стикався і природно не пам’ятаю, хто, що і як в деталях робить. Після цього інтерв’юер розпитував, що я роблю зараз. І питання пішли на цю тему. Тут я вже відповідав набагато краще.

Після закінчення останнього інтерв’ю у мене забрали пропуск, побажали удачі і відправили геть. Трохи погуляв по місту, повечеряв і пішов у готель, де і завалився спати, так як рейс знову був рано з ранку. На наступний день благополучно дістався до Кіпру. Написав на прохання рекрутера фідбек за інтерв’ю і заповнив в спеціальному сервісі форму на повернення витрачених грошей. З усіх витрат Google напряму оплачує тільки квитки. Готель, їжа і проїзд оплачуються кандидатом. Потім заповнюємо форму, прикладаємо чеки і відправляємо в спеціальну контору. Вони це обробляють і досить швидко перераховують гроші на рахунок.

На те, щоб обробити результати інтерв’ю пішло півтора тижні. Після чого мені повідомили, що я був «a bit below the bar». Тобто трохи не дотягнув. Якщо конкретніше, то 2 інтерв’ю пройшли добре, 2 трохи не дуже, а System Design дуже не дуже. От якби хоча б 3 пройшли добре, то можна було б поборотися, а так-без шансів. Запропонували заходити ще через рік.

Спочатку я звичайно засмутився, так як на підготовку було витрачено багато сил, і до моменту інтерв’ю у мене вже зріла думка про те, щоб залишити Кіпр. Пристрій Google і переїзд до Швейцарії здавалися відмінним варіантом.

Висновок

І тут ми підходимо до заключній частині статті. Так, я двічі не пройшов інтерв’ю в Google. Це сумно. Напевно, було б цікаво попрацювати. Але можна поглянути на справу з іншого боку.

  • За півтора року я дізнався величезну кількість речей, пов’язаних з розробкою програмного забезпечення.
  • Я отримав неабияке задоволення, беручи участь у змаганнях з програмування.
  • Я з’їздив на кілька днів в Цюріх. Коли ще туди виберусь?
  • Я отримав цікавий досвід інтерв’ю в однієї з найбільших ІТ-компаній світу.

Таким чином, все, що сталося за ці півтора року можна просто вважати навчанням, або тренуванням. І результати цієї тренування дали про себе знати. Моя думка залишити Кіпр дозріла (за деякими обставинами сімейного характеру), я успішно пройшов кілька співбесід в іншу відому компанію і через 8 місяців переїхав. Але це вже зовсім інша історія. Тим не менш, думаю, що мені все одно варто подякувати Google за ці півтора року, які я працював над собою, так і за 2 цікавих дні у Цюріху.

Що я можу сказати наостанок. Якщо ви працюєте в IT, підготуйте себе до інтерв’ю в Google, Amazon, Microsoft, Apple і т. д.). Можливо, коли-небудь ви туди заходьте потрапити. Навіть якщо не захочете, то повірте, від такої підготовки вам гірше не стане. У тому момент, коли ви зрозумієте, що можете (нехай навіть тільки при вдалому збігу обставин) пройти інтерв’ю в одну з цих компаній, перед вами буде відкрито набагато більше доріг, ніж перед початком вашої підготовки. А все, що вам знадобиться в шляху-це мета, наполегливість і час. Бажаю успіхів 🙂

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *