Как проходит опрос по ИТ

от автора

Темы опроса вывешены на нашем сайте и не меняются уже более 8 лет – это общие базовые знания в ИТ, которые гарантирует студенту любой ИТ-ориентированный ВУЗ. Тем не менее, статистика успешно пройденных собеседований по-прежнему колеблется у рамки 5% в год. Я думаю, настала пора не только рассказать, какие темы подвергаются дотошному опросу, но и как это происходит.
Все вопросы, независимо от тематики задаются на 4 «уровнях».

Базовые знания

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

Понимание терминов и механизмов работы

К данному уровню относятся просьбы рассказать действия алгоритма по шагам, воспроизвести конкретный метод при решении конкретного примера, описать детально как именно и какие данные передаются в каком направлении и для чего.
«опишите по шагам, как производится выборка данных при запросе?»
«расскажите, как производится индексация в БД полей, содержащих дробные числа»
«какой механизм и как производит проверку безопасности запуска транзакции»
«как компилятор узнает адрес вызова полиморфной функции и впишет ее в exe-файл, если точно адрес сформируется только при непосредственной работе программы»
«докажите оценку алгоритма»

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

Умение анализировать данную предметную область

Здесь обычно задаются вопросы с просьбой сравнить или обосновать применение того или иного метода или механизма.
«какие достоинства и недостатки есть у алгоритма»
«в условиях такой-то задачи, какое решение будет наиболее оптимальным»
«зачем нужна инструкция join, если можно и без нее?»

Вопросы подразумевают максимальную открытость ответа, разные кандидаты отвечая на одинаковый вопрос замечают и обосновывают диаметрально противоположные вещи. И оба ответа могу быть признаны верными, если они обоснованы.

Часто послушав рассуждения кандидата, работодатель отдает предпочтение кандидату более адекватно обосновывающему и «правильно» мыслящему, даже если вопросы 1-го уровня были отвечены не блестяще.

Если знания по уровням 1 и 2 можно приобрести в ВУЗе, то умение анализировать и принимать решения преподают гораздо реже. Как приобрести такой навык? Можно ли его воспитать, или это талант, как рисование? Гарантий нет, но попробовать такой навык развить все-таки можно. Попробуйте сначала продумать и обосновать для себя ответ на вопросы о плюсах и минусах технологии или подхода, а потом уже прочесть официальную информацию. Безусловно, чем лучше Вы знаете детали – тем точнее будет анализ.

Умение исправить недостатки или модифицировать

Пожалуй, написать стандартный (рекурсивный) QSort может любой второкурсник, предложить варианты оптимизации – это уже сложней. Как ускорить работу алгоритма, как оптимизировать код, обезопасить себя от переполнения стека?
Задавая подобные вопросы, мы ждем от собеседников умения подумать и предложить варианты ответа. Да, большинство вопросов для кандидата будут, возможно, неожиданны или обескураживающи, но ведь и ответ не требуется сию секунду. Можно подумать, поразмышлять, высказать ряд предположений, уточнить что-то. Возможно, даже здравая идея, без деталей реализации, будет удачным ответом на вопрос.

Вопросы 3 и 4 уровней – самые интересные и показательные, инофрмативней их только решение задач. Задачу могут предложить решить на доске или на листке, и как правило, это не слишком сложная задача, однако, в процессе решения кандидат может не заметить вполне очевидных вещей. Поторопиться и не проверить задачу на паре примеров может быть гораздо хуже, чем потратить дополнительное время.
Вот простой check-list:
— условие задачи точно понятно, и Вы уверены в том, что знаете, что именно от Вас хотят. Быстрое «лобовое» решение за секунду или продуманное оптимальное легко-масштабируемое решение?
— Вы точно соблюдаете условия задачи, используете массив, если сказано массив, пишите именно функцию, если условия сформулировано таким образом? Если набор входных параметров перечислен в условии, Ваша функция точно принимает их, а не какие-то другие?
— Вы проверили свое решение при помощи простого примера, оно работает, не зацикливается, и возвращает именно то, что сказали?
— в Вашем решении есть ветки, предусматривающие отказ? Предусмотрено поведение при ошибке?
— Вашему решению точно необходима рекурсия?

Хотелось бы также добавить, что собеседование — это не допрос с пристрастием, а возможность максимально раскрыть потенциал кандидата, обсудить с ним то, чем он интересовался, выслушать его идеи и пожелания.

ссылка на оригинал статьи http://habrahabr.ru/post/181528/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *