Колонки

Как правильно подготовиться к собеседованиям в компании-гиганты — часть 2

Колонки
Руслан Манаев
Руслан Манаев

Software Engineer в компании Google

Алина Алещенко

Руслан Манаев работает в компании Google в Варшавском офисе на позиции Software Engineer. Он поделился опытом, как подготовиться к собеседованиям в компании FAANG (MAMAA).

В предыдущем материале он рассказал, как добиться собеседования в технологических IT-гигантах и какими знаниями нужно для этого обладать. В этой части — о специфике технических собеседований и о том, как подготовиться проходить их на английском языке.

Как правильно подготовиться к собеседованиям в компании-гиганты — часть 2

Специфика собеседований

Хочу выделить пару моментов, которые могут быть неочевидными для тех, кто только начал готовится к собеседованиям. Если вы не готовитесь сейчас к собеседованиям, можете пропустить эту часть.

 

Входные данные к задачам

У каждой задачи есть некоторые входные данные. Это может быть массив, граф или более сложная структура. Бывают задачи, где самое эффективное решение подразумевает модификацию входных данных, такие решения называют in-place.

Пример такой задачи: в ней нужно найти количество «островов» на двумерной сетке. «Острова» обозначаются единичкой, а «вода» — нулями, островом считаются единички, соединенные по горизонтали и вертикали. In-place алгоритм решения представляет собой простое удаление каждого острова (нули заполняются, к ответу прибавляется единичка).

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

Таким образом, мы можем сделать следующую классификацию:

  • Решаемые на месте (In-place) — сортировки, reverse;
  • Решаемые на месте с восстановлением (In-place with restoring) — пример выше;
  • Все остальные.

 

Поиск наиболее эффективного решения

Решение должно быть эффективно не только по времени, но и по памяти. Бывают ситуации, когда сделать эффективным возможно только один показатель.

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

Далее, исходя из того, сколько времени осталось до конца собеседования, можно выбрать, какое решение вы будете писать.

 

Английский язык

Понятно, что английский язык — то, что открывает возможности проходить собеседования в иностранные компании. Он нужен как для простого составления резюме, так и для неформального общения с собеседущим вас человеком. Кроме того, бывают специальные поведенческие собеседования (behavioral interview), которые проходят полностью на английском.

База английского языка у меня накапливалась пассивно. Я умел правильно произносить слова, потому что в башкирском языке, который я знаю, есть похожие звуки: [ð] — this, [θ] — think, [ɜː] — confirm, [ŋ] — song. Знал некоторое количество слов и грамматику со школы. Повторил грамматику в университете на первых курсах. Набирал словарный запас вместе с тем, как программировал.

На четвертом курсе я понял, что моего уровня владения английским хватает для чтения технических текстов или олимпиадных задач, но не хватает для собеседований, и я начал это исправлять.

Эффективно учить английский можно только в «среде», поэтому я старался максимально себя в нее погрузить. Я использовал различные онлайн-сервисы, просмотрел много видео на английском, поставил на телефоне и компьютере английский язык как основной. Это ускорило развитие языка. 

 

«Полиглот» на YouTube

После некоторого перерыва я обнаружил, что грамматика английского языка начинает со временем забываться. Просмотрев сотни видео на YouTube, я наткнулся на передачу «Полиглот», где объясняют, что таблицу времен английского языка нужно учить сразу всю.

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

 

Специализированные сервисы

Старался пользоваться специализированными сервисами (Skyeng, Duolingo, Puzzle English) два раза в неделю, чтобы постоянно повторять грамматику английского языка.

В таких сервисах можно найти практически все — от правильного произношения чисел и времени до занятий по составлению резюме и прохождению нетехнических собеседований.

 

Просмотр видео на английском

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

Лучший способ развивать аудирование — просмотр видео на английском языке, причем без субтитров, даже английских. Ведь если будут английские субтитры, вы будете просто их читать. Просмотр видео нужен для того, чтобы ваш мозг привык к английской речи и научился распознавать отдельные фразы и слова. В начале обучения можно предварительно посмотреть видео на русском, а уже потом — на английском.

По своему опыту могу сказать, что не каждое видео на английском подойдет. В самом начале вам нужно определиться с тем, какой акцент вы хотите научиться понимать. Например, американский английский отличается от британского не только звучанием, но и написанием отдельных слов. А где-то и вовсе используются разные слова.

В фильмах в качестве художественного приема могут использовать разные варианты акцентов и устаревшие обороты, а также говорить нарочито неразборчиво. По этой причине к выбору видео придется подойти аккуратнее.

По моим наблюдениям, мультипликация или дубляж всегда подходят для такого варианта обучения, ведь там очень редко используют художественные приемы, завязанные на акценте. Я выбрал американский вариант английского, поэтому я смотрел на Netflix в основном дублированный контент, то есть переведенный на английский.

 

Занятия с носителями 

Сейчас существует множество способов найти носителя, который поможет вам развивать английский. Это и офлайн-занятия с репетиторами, и различные онлайн-сервисы (Italki, Skyeng и другие) для поиска репетитора из другой точки мира.

Можно сфокусироваться на одной теме, а можно всегда на разных. Как и с алгоритмами, мне помогали спринты, но более короткие. Я брал по 3 часа занятий на выходных.

 

Навык использовать все вместе

Я много общался с носителями языка с помощью онлайн-сервисов, но понимал, что думать на английском еще не научился. Я почувствовал это, когда впервые провалился на собеседованиях в иностранные компании.

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

Из-за этого ресурсов на подумать над алгоритмической задачей практически не оставалось, поэтому я выдавал неэффективные решения задач.

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

Что я сделал? Я начал сфокусировано заниматься с носителями языка из IT-сферы. Это, с одной стороны, в целом повысило мой интерес к занятиям, с другой — приблизило к новому уровню владения английским языком.

Я также начал смотреть больше специализированных видео на YouTube. Например, канал Back To Back SWE с объяснением многих задач, которые встречаются на собеседованиях. Я смотрел его для того, чтобы понять, как правильно объяснять решения задач. Далее я применял то, что узнал с помощью Back To Back SWE, с онлайн-репетитором. 

Хочу также отметить бесплатный сервис для ненастоящих собеседований (mock interview) Pramp.com. Он подбирает вам партнера, который тоже готовится к собеседованию. Далее вы по очереди друг друга собеседуете, а в конце пишете друг на друга фидбэк.

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

Сессии на сервисе обычно длятся час, каждые два часа с 9 утра до 11 вечера, их нужно заранее выбирать. Тут есть лайфхак: чтобы иметь возможность выбирать сессии ночью, достаточно сменить часовой пояс на локальном компьютере.

 

Итого

Как видно, подготовка к собеседованиям в компании FAANG — это трудоемкий процесс, требующий стратегического планирования и поиска подхода к обучению, который сработает именно с вами. Надеюсь, приведенные лайфхаки и хитрости помогут упростить ваш путь. Успехов!


Фото на обложке: Shutterstock / syam fireshark

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Все стратегии важны: 4 способа использовать провалы в маркетинге с пользой
  2. 2 Так умирают стартапы: какие ошибки делают основатели и как обернуть их в свою пользу?
  3. 3 Топ ошибок работы с китайскими поставщиками и как их избежать
  4. 4 Предпринимателями не рождаются, предпринимателями становятся
  5. 5 Азиатский фронтир: наш опыт работы на рынке Индонезии в 2023 году