Десять наиболее частых ошибок программистов при подготовке к собеседованию

job

Автор этих советов, Гейл Лакман Макдауэлл — основатель и CEO CareerCup, автор известных книг по подготовке к собеседованиям. Гейл работала программистом в Microsoft, Apple и Google. У неё есть степени бакалавра и магистра University of Pennsylvania, а также MBA Wharton School. В настоящее время проживает в Пало-Альто, Калифорния.

1. Использование компьютера

Станете ли вы учиться сёрфингу в бассейне? Скорее всего, нет. Ведь вам нужны волны и другие особенности «живой природы». Можем поспорить, что ваш выбор падёт на океанское побережье. Использование компилятора для «репетиции» собеседования подобно тренировкам в бассейне. Забудьте про компилятор, возьмите ручку и лист бумаги. Используйте компилятор для проверки решения, но только после того, как написали и протестировали код.

2. Игнорирование поведенческих вопросов

Многие кандидаты тратят всё свое время на подготовку к техническим вопросам и упускают поведенческие. Но ваш интервьюер, скорее всего, их не упустит! Более того, ответы на поведенческие вопросы могут изменить восприятие интервьюером ваших профессиональных данных. К ответам на поведенческие вопросы легко подготовиться. Вспомните все свои проекты и используйте их для подготовки.

3. Отказ от псевдоинтервью

Представьте, что вы готовитесь к публичному выступлению перед своей группой, компанией или какой-нибудь другой большой аудиторией. Ваше будущее зависит от этого. Только сумасшедшие или излишне самоуверенные люди будут готовить такую речь в одиночку. Один из способов подготовки — так называемое псевдоинтервью. Если вы инженер, то должны быть знакомы с коллегами. Попросите приятеля провести для вас «собеседование». Этот метод принесет только пользу!

4. Попытка зазубрить ответ

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

5. Решение задачи «в уме»

Откроем вам секрет — интервьюеры не телепаты и не знают, что происходит у вас в голове. Следовательно, если вы ничего не произносите вслух, не известно, о чем вы думаете. Если вы молчите, они считают, что у вас нет решения. Больше говорите и пытайтесь комментировать решение. Это покажет интервьюеру, что вы решаете поставленную задачу, а ваше молчание будет расценено как то, что вам нечего сказать. Дайте возможность интервьюеру подсказать вам путь решения или указать на ошибку, когда вы в этом будете нуждаться. Простейшие навыки коммуникации помогут получить желаемую вакансию. Что может быть лучше?

6. Спешка

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

7. Грязный код

Знаете ли вы, что код, даже написанный без ошибок, может быть просто ужасным? К сожалению, это так! Дублирование, огромные структуры данных (отказ от объектно-ориентированного программирования) и т.д. являются показателями плохой программы. Когда вы пишете код, представьте, что он должен быть ещё и хорошо поддерживемым. Разбейте код на подпрограммы и выберите оптимальную структуру, соответствующую данным.

8. Отказ от проверки

Когда вы пишете код в реальной жизни, вы его тестируете, так почему бы этого не сделать на собеседовании? Когда код написан, «запустите» его (в качестве компилятора будете выступать вы сами) и протестируйте. При решении сложных задач тестируйте фрагменты кода по мере написания.

9. Небрежное отношение к исправлению ошибок

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

10. Отказ от решения

Очень часто вопросы оказываются достаточно сложными. Примете ли вы вызов или повернёте назад? Мы рекомендуем достойно встретить трудную задачу. Ведь собеседования для этого и проводятся. Не удивляйтесь, когда вам достанется действительно сложный вопрос.

Также рекомендуем по теме:

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