Читать книгу Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию - Гейл Макдауэлл - Страница 10

Часть I. Процесс собеседования
10 наиболее частых ошибок

Оглавление

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

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

Использование компилятора для «репетиции» собеседования подобно тренировкам в бассейне. Забудьте про компилятор, возьмите ручку и лист бумаги. Используйте компилятор для проверки решения, но только после того, как написали и протестировали код.

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

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

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

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

Один из способов подготовки – так называемое псевдоинтервью. Если вы инженер, то должны быть знакомы с коллегами. Попросите приятеля провести для вас «собеседование». Этот метод принесет только пользу!

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

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

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

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

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

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

6. Спешка

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

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

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

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

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

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

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

Никто не застрахован от ошибок, но бездумное исправление кода недопустимо.

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

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

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

Подняться наверх