Евгений Туренко

Шпаргалка: как пошагово решить задачу на собеседовании + советы для подготовки

Чек-лист стажёра Google, который поможет справиться с задачами на техническом интервью, и немного полезных материалов для подготовки.

22800

Один программист попал на стажировку в Google и выложил чек-лист, по которому готовился и проходил техническое интервью — мы перевели и адаптировали его, он ждёт вас в конце статьи.

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

Если вы хотите на собеседование именно в Google, посмотрите этот материал — мы в нём рассказали, как готовиться и что надо знать.
***

Материалы для подготовки

Сайты

Pramp

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

Codesignal

А здесь вы найдёте вопросы из реальных собеседований в Facebook, Google, Microsoft и другие крупные компании. Большинство вопросов на Codesignal содержит требования к сложности алгоритмов, это классно.

Этот сайт посоветовали в комментариях к оригинальной статье. На нём предлагают анонимно попрактиковаться в собеседованиях с крутыми программными инженерами из известных компаний. Пишут, что «это бесплатно, и так будет всегда».

Книга Cracking the Coding Interview (6-е издание)

На русском книга называется «Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию».

Что автор статьи советует прочитать:

  • Interview Preparation Grid, да и весь раздел Behavioral Questions (на русском «Подготовка к поведенческим вопросам»).
  • Раздел Interview Questions: Data Structures — разбор вопросов о структурах данных (на русском 4 первых подраздела из части «Вопросы собеседования»).

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

***

Пара советов о том, как вести себя на собеседовании

  • Поддерживайте коммуникацию, будьте честны. Говорите, когда обдумываете вопрос, описывайте ход мыслей.
  • Общайтесь, шутите, если получается. Старайтесь получать удовольствие от процесса.
  • Записывайте любую информацию, которую считаете важной.
  • Задавайте вопросы и подстраивайтесь под ход интервью.
Посмотрите мнения экспертов: что надо и что не надо делать на собеседовании.Другие советы: как отвечать на вопрос про желаемую зарплату, на какие нетехнические навыки смотрят, важен ли диплом.
***

Порядок действий для решения задачи

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

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

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

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

That’s all, folks!

22800