Собеседования, призванные проверять навыки программиста

Зачем занимающиеся программным обеспечением фирмы проводят собеседования, касающиеся вопросов программирования? Они хотят нанять великолепных программистов, способных работать в коллективе и успешно производить требуемую продукцию. К сожалению, печальный опыт научил работодателей, что изрядная часть кандидатов на должность программиста не в состоянии писать код. Можно предположить, что таких кандидатов можно отсеять путем тщательного анализа их резюме, их прежнего опыта работы над другими проектами и их образования, но это получается далеко не всегда. Удивительное количество претендентов, имея блестящее резюме и большой опыт работы в нужной отрасли, не может решить даже простейшую задачу по программированию. Многие из них хорошо знакомы с терминологией и могут выглядеть достаточно компетентными в беседах на темы программирования и технологий. Но предоставление вакансии одному из этих «разработчиков», не умеющих писать код, способно привести к развалу целого отдела.


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

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


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


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

Раздел: Интересные статьи о разном | 02.12.2018 | просмотров: 957