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

Введение

Оглавление

Что-то не так

Мы провели очередное собеседование… И никто из десяти кандидатов не получил работу. Может быть, мы были слишком строги? Лично меня ждало глубокое разочарование: мой бывший студент не прошел собеседование, а ведь я его рекомендовала. У него был достаточно высокий средний балл (3,73 GPA[1]) в Вашингтонском университете – одной из лучших школ мира по компьютерным дисциплинам, – и он активно занимался OpenSource-проектами. Он был энергичен, креативен, он упорно трудился и был компьютерным фанатом в хорошем смысле этого слова.

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

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

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

Он тщательно готовился, как и большинство кандидатов. Он изучил K&R[2] и CLRS[3]. Он может описать в подробностях множество способов балансировки дерева и умеет делать на C такие вещи, которые большинству программистов просто не снились.

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

Собеседование – не университетский экзамен, там вас ждут реальные вопросы и практические задачи. Книга «Карьера программиста» основана на опыте моего практического участия во множестве собеседований, проводимых лучшими компаниями. Это квинтэссенция сотен интервью с множеством кандидатов, результат ответов на тысячи вопросов, задаваемых кандидатами и интервьюерами в ведущих мировых корпорациях. В эту книгу из тысяч задач и вопросов были отобраны 150 наиболее интересных.

Мой подход

В данной книге основное внимание уделено задачам алгоритмизации, программирования и дизайна. Почему? Ответы на «поведенческие» вопросы могут варьироваться, как и ваше резюме. В большинстве фирм предпочитают задавать тривиальные вопросы (например, «Что такое виртуальная функция?»), по ответам на которые легко можно понять уровень подготовки кандидата. Я расскажу и о таких вопросах, но прежде всего я хотела бы уделить внимание более сложным вещам.

Моя страсть

Моя страсть – преподавание. Мне нравится помогать людям совершенствоваться и узнавать новое.

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

Как инженеру Google, мне всегда нравилось обучать и воспитывать «нуглеров» (nooglers) – так в Google называют новичков. Я уделяла 20 % времени преподаванию курса информатики в Вашингтонском университете.

Эта книга и сайт CareerCup.com – отражения моей страсти к преподаванию. Даже сейчас вы можете найти меня на CareerCup.com, где я помогаю пользователям. Присоединяйтесь к нам!

Гэйл Лакман Макдауэлл


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

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение! На веб-сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

1

GPA (Grade Point Average) – средний балл за время обучения. В США вместо пятибалльной системы используют буквенные оценки, при этом A (наивысший балл) соответствует 4, B – 3, C – 2, D – 1, F – 0. Считается, что если GPA выше 3, то об этом стоит упомянуть в резюме. В почетное общество Phi Thetta Kappa (http://www.ptk.org/) входят студенты, у которых GPA не меньше 3,5. – Примеч. перев.

2

K&R (Kernighan and Ritchie) – The C Programming Language (Б. Керниган, Д. Ритчи. Язык программирования C) – классический учебник по программированию на языке C, написанный его разработчиками. – Примеч. перев.

3

CLRS (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein) – Introduction to Algorithms (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. Алгоритмы. Построение и анализ) – популярнейшая книга по алгоритмам и структурам данных.

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

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