Во-первых, немного обо мне. У меня есть докторская степень в области CS, и я работал инженером-программистом и научным сотрудником по исследованиям и разработкам в обеих очень крупных корпорациях, которых вы очень хорошо знаете. Я недавно сменил работу и провел собеседование по обоим типам должностей (как я делал в прошлом).
Мое наблюдение: собеседования на работу с SW-специалистами гораздо сложнее, чем собеседования с CS-исследователями, но работа для исследователей более оплачиваемая, более конкурентоспособная, более полезная, более интересная и имеет более высокий потенциал.
Вот типичный цикл интервью для исследователя:
- Телефонное интервью, чтобы узнать, соответствует ли мое исследование исследованиям лаборатории
- Лично: сделайте презентацию моего недавнего исследования в течение одного часа (что может означать 9 месяцев работы) и ответьте на вопросы аудитории.
- Личные собеседования один на один с примерно 5 исследователями, где они задают мне очень разумные вопросы о моей работе / публикациях / патентах, в том числе: технические вопросы, где моя работа вписывается в смежную работу, и как я могу расширить свою работу до новые районы
Вот типичный цикл интервью для инженера SW:
- Телефонное интервью, где мне задают вопросы об алгоритме и, возможно, я занимаюсь кодированием Довольно стандартный.
- Личные собеседования на доске, где они изучают F *** из вас по эзотерическим мелочам C ++ (например, как работает вызов полиморфной виртуальной функции), алгоритмам (заставляют алгоритм всех пар кратчайшего пути работать для вершин 1B) проектирование системы (разработка балансировщика нагрузки базы данных) и т. д. Это продолжается шесть или семь интервью. Смешной.
Зачем кому-то с этим мириться? Какой смысл спрашивать о пустяках C ++ или писать код, чтобы доказать себя? Почему бы не сделать интервью SE больше похожим на интервью исследователя, где вы рассказываете о том, что вы сделали?
Как проходят технические собеседования для других областей, таких как физика, химия, гражданское строительство, машиностроение?