Главная » Хабрахабр » Как подготовиться к собеседованию в Google и не пройти его. Дважды

Как подготовиться к собеседованию в Google и не пройти его. Дважды

Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
Но это уже тема для другой статьи.

Как все начиналось

Одним холодным кипрским зимним вечером мне вдруг пришла в голову мысль, что мои познания в классической Computer Science весьма далеки даже от средних, и с этим надо что-то делать. Если кстати вдруг кто-то еще не читал, почему вечер кипрский и холодный, то можно об этом узнать здесь. После некоторых размышлений было решено для начала пройти онлайн курс по алгоритмам и структурам данных. От одного из бывших коллег слышал про курс Роберта Седжвика (Robert Sedgewick) на Coursera. Курс состоит из двух частей (часть 1 и часть 2). Если вдруг ссылки поменяются, то можно всегда нагуглить по имени автора. Каждая из частей идет 6 недель. В начале недели выдаются лекции, а в течении недели еще нужно делать упражнения. Первая часть курса покрывает базовые структуры данных, основные виды сортировок и сложность алгоритмов. Вторая часть уже более продвинутая, начинается с графов и заканчивается такими вещами как Linear Programming и Intractability. Обдумав все вышеизложенное, я пришел к выводу, что это именно то, что мне нужно. Тут кстати пытливый читатель может спросить, а при чем же здесь Google. И действительно, до этого момента он был тут совсем не при чем. Но мне нужна была цель, так как заниматься 12 недель вечерами без цели несколько затруднительно. А какая может быть цель в получении новых знаний? Конечно, их применение на практике. В повседневной жизни это достаточно проблематично, а вот на собеседовании в крупную компанию запросто. Беглое гугление показало, что Google (уж простите за тавтологию) является одной из крупнейших компаний в Европе (а я рассматривал именно Европу), в которой проводят такие собеседования. А именно, их офис находится в Цюрихе, Швейцария. Итак решено — учимся и идем собеседоваться в Google.

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

12 недель прошли незаметно, и я закончил оба курса. Мои впечатления от курсов более чем положительные, и я могу их рекомендовать всем заинтересованным. Понравились же мне курсы по следующим причинам:

  • Лектор говорит на достаточно четком английском
  • Материал хорошо структурирован
  • Шикарные презентации, показывающие внутренности каждого алгоритма
  • Грамотная подборка материала
  • Интересные упражнения
  • Упражнения автоматически проверяются на сайте, после чего создается отчет

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

Если раньше я просто знал, что ничего не знаю, то теперь начал осознавать, что именно я не знаю. После окончания курсов я осознал, что многие знания это многие печали.

После просмотра требований к вакансии, было принято решение пойти параллельно по двум направлениям: продолжить изучение алгоритмов и пройти базовый курс по машинному обучению. Так как был еще только май месяц, а собеседование я запланировал на осень, я решил продолжить свое образование. Руководство по разработке» (The Algorithm Design Manual). Для первой цели я решил переключиться с курсов на книгу и выбрал монументальный труд Стивена Скиены (Steven Skiena) «Алгоритмы. Для второй цели я опять пошел на 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», «какие сбалансированные деревья вы знаете». Не сложно, если есть базовое знание этих вещей. Скрининг прошел хорошо и по результатам решили организовать первое интервью через недельку.

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

Если в первый раз интервьюер был дружелюбный и общительный, то в этот раз какой-то мрачноватый. В этот раз дела пошли хуже. В итоге после нескольких подсказок интервьюера до меня дошло решение. Задачку я сразу раскусить не смог, хотя те идеи что я выдавал в принципе могли привести к ее решению. Решения я написал, во время уложился, но забыл про граничные случаи. В этот раз это снова оказался поиск в ширину, только из нескольких точек. По результатам двух собеседований было принято решение дальше не идти, а отложить следующее интервью на год, если у меня будет такое желание. Через какое-то время позвонил рекрутер и сообщил, что в этот раз интервьюер остался недоволен, так как по его мнению мне потребовалось слишком много подсказок (3 или 4 штуки) и я постоянно менял код во время написания. За сим и распрощались.

И этой истории я сделал несколько выводов:

  • Теория это хорошо, но в ней надо быстро ориентироваться
  • Теория без практики не поможет. Надо решать задачки и доводить написание кода до автоматизма.
  • Многое зависит от интервьюера. И с этим ничего не сделать.

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

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

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

План был выполнен мною за год. Дальше я опишу, что именно я делал по каждому из пунктов.

Книги и статьи

Количество прочитанный статей я уже даже и не вспомню, читал их как на русском, так и на английском. Самым полезным сайтом оказался наверное вот этот. Тут собрано описание большого количества интересных алгоритмов с примерами кода.

Их можно разделить на 2 категории. Книг я прочитал 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). Это теория. В первую попадают книги Седжвика и Кормена. Седжвик в книге рассказывает примерно то же самое, что и в своих курсах. Остальные это подготовка к интервью. Нет особого смысла читать внимательно, если вы проходили курс, но проглядеть стоит в любом случае. Просто в письменном виде. Кормен мне показался чересчур занудным. Если курс не смотрели, то имеет смысл почитать. Вынес оттуда только master theorem, да несколько редко используемых структур данных (Fibonacci heap, van Emde Boas tree, radix heap). Осилил честно говоря с трудом.

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

Алгоритмические задачи

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

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

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

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

Сейчас к сожалению свободного времени на продолжение соревновательной деятельности нет, равно как и нет цели, под которую можно списать несвободное время. Всего, на соревнованиях и просто так я решил чуть больше 1000 задач, что вписывалось в план. Рекомендую тем, кто этим заинтересуется, найти единомышленников. Но это было весело. Я этим развлекался с другом, поэтому может так хорошо и пошло. Вдвоем или группой гораздо интереснее.

Просмотр видео

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

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

Тут я особо ничем не занимался. Просмотрел видео из 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 доски. Т.е. задачу-то я решил, но выглядело это стремно.

Интервью номер два

На этот раз интервью было по алгоритмам. И интервьюеров было двое. Один собственно интервьюер, а второй юный падаван (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. Это печально. Наверное, было бы интересно там поработать. Но, можно взглянуть на дело и с другой стороны.

  • За полтора года я узнал огромное количество вещей, связанных с разработкой программного обеспечения.
  • Я получил немалое удовольствие, участвуя в соревнованиях по программированию.
  • Я съездил на пару дней в Цюрих. Когда еще туда выберусь?
  • Я получил интересный опыт интервью в одной из крупнейших IT компаний мира.

Таким образом, все произошедшее за эти полтора года можно просто считать обучением, или тренировкой. И результаты этой тренировки дали о себе знать. Моя мысль покинуть Кипр дозрела (по некоторым обстоятельствам семейного характера), я успешно прошел несколько собеседований в другую известную компанию и через 8 месяцев переехал. Но это уже совсем другая история. Тем не менее, думаю, что мне все равно стоит поблагодарить Google как за эти полтора года, которые я работал над собой, так и за 2 интересных для в Цюрихе.

Если вы работаете в IT, подготовьте себя к интервью в Google (Amazon, Microsoft, Apple и т.д.). Что я могу сказать напоследок. Даже если не захотите, то поверьте, от такой подготовки вам хуже не станет. Возможно, когда-нибудь вы туда заходите попасть. А все, что вам потребуется в пути это цель, настойчивость и время. В том момент, когда вы поймете, что можете (пусть даже только при удачном стечении обстоятельств) пройти интервью в одну из этих компаний, перед вами будет открыто гораздо больше дорог, чем перед началом вашей подготовки. Желаю успехов 🙂


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

В Германии разработали требования к домашним маршрутизаторам

Продолжительное время в Интернете регулярно появляются статьи об уязвимости маршрутизаторов для SOHO сегмента. Я тоже публиковал статью как обнаружить, что Ваш Микротик взломан. Резкий рост участников нашего канала в Телеграм (@router_os) показал, что проблема крайне остра. Но проблема стоит глобальней. ...

[Перевод] Архитектуры нейросетей

Перевод Neural Network Architectures Давайте рассмотрим историю их развития за последние несколько лет. Алгоритмы глубоких нейросетей сегодня обрели большую популярность, которая во многом обеспечивается продуманностью архитектур. Если вас интересует более глубокий анализ, обратитесь к этой работе. Подробнее здесь. Сравнение популярных ...