
Техническое собеседование в офисе стандартно состоит из трех этапов
- Проверка знания английского языка
- Технические вопросы и вопросы относительно вашего опыта работы
- Компания рассказывает об условиях работы и отвечает на все ваши организационные вопросы.
Проверка знания английского языка
Вакансии на позицию разработчика не требуют идеального английского. Достаточно умение свободно читать технические тексты (MSDN) и писать со словарем. В зависимости от указанного Вами уровня английского языка вам будет предложен текст для письменного перевода с русского на английский. В тексте перевода можно использовать русские слова вместо незнакомых английских.
Ниже приведен пример текста для перевода соответствующий уровню Intermediate/Upper intermediate:
Часто организации принимают решение развивать компьютерную сеть поэтапно, приобретая продукты по мере развития. То есть сначала просто объединяют компьютеры в сеть под управлением сервера, через год добавляют сервер электронной почты, затем задумываются о повышении безопасности и т.п.
Время на перевод не ограничено (в среднем занимает от 2-х до 15-ти минут).
Технические вопросы
Как говорится, нельзя качественно провести собеседование с разработчиком, не посмотрев, как он пишет код. Поэтому на этапе технического собеседования мы чередуем академические вопросы с небольшими тестовыми заданиями (блиц тест), в рамках выполнения которых предлагается написать фрагменты кода на листике (при этом на синтаксические ошибки типа забытой “;” мы не обращаем внимания). Помимо вопросов по программированию – мы так же можем задать некоторые базовые вопросы по математике. Например, дать определение производной функции или интеграла (своими словами).
Выбор вопросов и тестовых заданий зависит от задекларированных кандидатом знаний и результатов телефонного собеседования. Например, если в рамках телефонного собеседования, кандидат не четко ответил на вопросы относительно понятия статических членов и методов класса, – мы обязательно попросим написать реализацию паттерна синглтон/одиночка.
Ниже приведены примеры вопросов, задаваемых на техническом собеседовании:
- Пожалуйста, объясните почему нельзя вызывать виртуальную функцию из статического метода класса?
- Напишите код реализации стандартной функции atoi (10-20 минут).
- Дано бинарное дерево. Необходимо написать функцию, которая вернет список вершин дерева, находящихся на глубине “N” (20-30 мин).
- С++ WinAPI: Чем отличаются SendMessage от PostMessage?
- С++ Многопоточность: Какова разнича между семафором и мьютексом?
- С#: Расскажите принципы работы сборщика мусора в DotNet.
- C#: Когда необходимо в классе реализовывать метод IDisposable?
- DB: Какие типы объединения таблиц Вы знаете? Напишите пример SQL запроса одного из объединений.
- И т.п.
Далее мы просим кандидата рассказать о его опыте работы в любом порядке – прямо или обратно хронологическом. При этом нас больше всего интересуют те задачи, которые кандидат выполнял лично. Мы будем часто прерывать монолог с описанием выполненных работ просьбой обосновать, почему было принято то или иное решение. Нами будет задано множество вопросов относительно решений, связанных с возникновением всевозможных исключительных ситуаций и обработкой ошибок. В соответствии с Вашими ответами, мы сможем сделать выводы относительно Вашей роли в описанных проектах.
Через 1-1,5 часа после начала технического собеседования прозвучит фраза о том, что мы подошли к финалу, и теперь готовы поменяться местами. На этом этапе – очередь компании отвечать на вопросы кандидата. Мы детально опишем условия работы, текущие вакансии, все используемые технологии. На память о техническом собеседовании, помимо интересного опыта, Вы сможете оставить у себя ручку с логотипом нашей компании.

Комментарии