Как проходит собеседование при приеме на работу программиста

Ника Туркина

О чем надо знать программисту перед собеседованием.

Прохождение собеседования программистом

Приглашая вас на собеседование перед приемом на работу, представители компании хотят:

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

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

Собеседование
Источник: dirclub.ru

Вопросы об опыте

  1. Расскажите о проекте, который вызывает у вас гордость. Какова ваша роль в его реализации? Этим вопросом наниматель пытается выяснить ваши амбиции — что является для вас мерилом успеха, говорите ли вы только о себе или упоминаете других членов команды.
  2. Был ли у вас проект, в котором вы сейчас хотели бы что-то улучшить? Работодателю важно понять, что вы умеете анализировать свою работу, чтобы избегать ошибок в будущем.
  3. Что считаете сложным для себя в программировании? Это вопрос на понимание своих слабых сторон.
  4. Как относитесь к тестированию? Хороший разработчик должен уделять достаточно времени тестированию качества, добиваясь минимума ошибок в коде и багов в работающем приложении.
  5. Как вы повышаете уровень своей компетентности? Хорошим ответом будет перечисление источников актуальных знаний (очные либо онлайн-курсы, книги, сайты, подкасты, статьи).
  6. Какими еще языками (или методологиями) интересуетесь? В какой среде предпочитаете работать? Ответ на эти вопросы покажет, умеете ли вы адаптироваться при необходимости под разные технологии. Расскажите о своем опыте работы с юнит-тестированием, системами контроля версий, с различными фреймворками.
Программист
Источник: s1.stc.all.kpcdn.net

Вопросы об управленческих и коммуникативных навыках

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

  1. Какие свои качества считаете наиболее полезными в работе? Ответ на этот вопрос зависит от требований компании к вакансии, на которую вы претендуете. Можете упомянуть, что любите учиться, умеете вести переговоры и быстро решаете возникшие проблемы.
  2. Какие проблемы, не связанные с программированием, вам приходилось решать? Не важно, что именно вы сделали. Ответ на этот вопрос должен показать вашу способность быстро и эффективно находить решения возникших проблем и умение взаимодействовать с людьми.
  3. Как бы вас описали бывшие коллеги и руководители проектов? Ответ показывает вашу самооценку и роль в команде.
  4. Как вы поступаете, когда не можете самостоятельно решить проблему из области программирования? Ответ характеризует ваш путь преодоления трудностей. Попытаетесь ли найти ответ с помощью интернет-ресурсов или обратитесь к коллегам.
  5. Ваше отношение к парному программированию? Нанимателю интересно понять, готовы ли вы будете вместе с коллегой разбираться в написанном им коде.
  6. Есть ли опыт непосредственного взаимодействия с заказчиком? Как вы к этому относитесь? Ответ покажет ваше отношение к возможной критике со стороны коллег и пользователей, насколько болезненно вы реагируете на мнение других людей о вашей работе.
Собеседование с кандидатом
Источник: cs7.pikabu.ru

Вопросы о технических навыках

Эта группа вопросов может отличаться в зависимости от того, претендуете ли вы на должность junior-программиста, или вы уже не новичок и хотите занять должность middle или senior-разработчика. Во втором случае вопросы могут быть узкоспециализированными, направленными на выяснение ваших знаний и навыков в конкретной области программирования, которой вам предстоит заниматься.

Наибольший интерес для нас представляют вопросы для новичков.

Что должен знать junior-разработчик

  • разбираться в принципах объектно-ориентированного программирования;
  • уметь самостоятельно писать код;
  • уверенно знать хотя бы один язык и фреймворк;
  • знать различные алгоритмы сортировки, написать код, используя быструю сортировку;
  • иметь представление о работе с различными технологиями;
  • ориентироваться в работе хотя бы с одной интегрированной средой разработки, уметь подключать библиотеку к проекту;
  • иметь опыт работы с базами данных, уметь к ним обращаться;
  • разбираться в методологиях, знать принципы Agile;
  • разбираться в системе контроля версий;
  • уметь работать с веб-сервисами. 

Помимо этого, претендента на должность junior-программиста могут спросить:

  1. Почему он выбрал именно этот язык. Здесь следует рассказать о его сильных и слабых сторонах, где его предпочтительнее использовать.
  2. Где он проходил обучение и в каких проектах принимал участие.
  3. Какой проект он разрабатывал самостоятельно (для себя или на курсах), в чем состояла задача, как он их решал возникшие проблемы.
  4. Готов ли он все время учиться новому, в том числе за счет личного времени и средств.
  5. Насколько развиты его soft skills, коммуникативные навыки.
  6. Каков уровень знания английского языка (желательно не ниже intermediate). Это необходимо для работы с иностранными коллегами и заказчиками.
  7. Как он будет решать возникшую проблему. Желательно сначала самому найти несколько вариантов решения, и только потом обращаться за советом к более опытному коллеге.
  8. Может ли он оценить срок выполнения поставленной задачи. 
Программирование
Источник: akchabar.kg

С будущим младшим программистом могут провести тестирование. Обычно оно состоит из трех частей:

  • логическая часть — позволяет оценить умение кандидата делать выводы из поступившей информации и выполнить обобщение;
  • проверка внимания памяти, качества усвоения информации — необходимо проанализировать задачу из пяти-шести пунктов, описать пути решения и сделать выводы;
  • проверка скорости мышления, речевых навыков, способности работать в команде, основанная на решении «поведенческих» задач.

Как подготовиться, тактика поведения

Как вести себя на интервью

  1. Не надо надевать костюм и галстук, если вы не носите их достаточно часто. Оденьте то, в чем вы чувствуете себя уверенно и комфортно. Главное, чтобы одежда была опрятной, а ваш внешний вид производил впечатление аккуратного человека.
  2. Узнайте побольше о компании, в которую хотите устроиться. Чем она занимается, какие вопросы будут в вашей компетенции. Поищите информацию в разных источниках, включая сайт, соцсети, блог. Поинтересуйтесь отзывами. Особое внимание уделите тому, что вас в ней привлекает — не забудьте упомянуть это на собеседовании.
  3. Продемонстрируйте свое желание влиться в культуру компании. Все, что для этого требуется — проявить искреннюю заинтересованность к тому, чем компания занимается. Если вы действительно хотите работать в этой компании, вряд ли ваш энтузиазм будет наигранным.
  4. Изучите заранее часто задаваемые вопросы и подготовьте ответы на них. Лучше всего их отрепетировать в спокойной обстановке. При подготовке к техническим вопросам используйте разные источники. Важно не вызубрить готовый ответ, а научиться понимать поставленную проблему, анализировать ее и видеть пути решения.
  5. Вас могут попросить найти несколько способов решения предложенной задачи. Будьте готовы к этому, не паникуйте, если не можете что-то вспомнить. Просто начните рассуждать вслух, показывая ход ваших мыслей.
  6. Подготовьтесь к рассказу о своих достижениях. Лучше всего, если это будут уже реализованные проекты, которые активно используются и показывают реальные результаты. Достижениями могут быть не только проекты, но и выступления на конференциях, успешные переговоры с заказчиком.
  7. Не лгите о своих заслугах, обман вскроется очень быстро. Указывайте в резюме только тот опыт, который действительно имеется — вам могут задать вопросы, чтобы понять глубину ваших знаний в этой области.
  8. Набирайтесь опыта, проходя интервью в разных компаниях. Если вы заинтересовались сразу несколькими вакансиями, проходите собеседование сначала в менее важных для вас. На следующее интервью вы уже придете более подготовленным и уверенным в себе.
  9. Не забудьте задать интересующие вас вопросы о размере заработной платы, о будущем рабочем месте (желательно его посмотреть). Спросите о рабочих проектах, о размерах команд и вашей роли в них. Попросите познакомить вас с вашим будущим начальником.
Работа
Источник: static.elcode.ru

Как правильно отвечать на каверзные вопросы

  1. Рассматриваете ли вы вакансии в других компаниях? Этот вопрос является проверкой на честность. Резюме рассылаются соискателями сразу в несколько компаний. Честно назовите несколько из них. А если вам уже сделали предложение о работе в другой компании — не скрывайте это от HR-менеджера. Этот факт повысит вашу ценность.
  2. Почему вы ушли с прежнего места работы? Не стоит рассказывать об имевшихся конфликтах. Лучше дайте понять, что работа в новой компании более привлекательна. Возможно, на прежнем месте у вас не было возможности полностью реализовать свой потенциал.
  3. Какие у вас достоинства и недостатки? В качестве достоинств стоит перечислить качества, близкие к указанным требованиям в вакансии. В качестве недостатков — то, что не имеет отношения к работе.
  4. Чем вас привлекла работа в нашей компании? Это проверка на то, действительно ли вы заинтересованы работать у них, или вам важен лишь размер заработной платы. Заинтересованный кандидат постарается узнать о компании как можно больше перед собеседованием.
  5. Расскажите о ситуации, когда вы не смогли справиться с поставленной задачей. Ответ продумать стоит заранее. Выберите такой случай, в котором вы сделали все от вас зависящее, чтобы задача была выполнена.
Вопросы на собеседовании
Источник: nazarmed.uz

Какие вопросы HR-ры задают программистам на собеседованиях

Категория общих вопросов

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

  • рассказать о «своем» языке — год выхода последней версии, изменения и нововведения;
  • перечислить операторы цикла этого языка, какие есть методы организации циклов без использования операторов;
  • модульное программирование — что это, плюсы и минусы;
  • описать (изобразить) жизненный цикл программы;
  • рассказать о методологиях программирования, что вы знаете об agile и waterfall;
  • привести несколько примеров и дать определение каждому из типов языков программирования — процедурным, функциональным, императивным;
  • перечислить типы констант;
  • дать определение компилятору и интерпретатору, в чем сходство и отличие;
  • что означает полнота языка по Тьюрингу;
  • рассказать о высокоуровневых и низкоуровневых языках программирования.
Работа за ноутбуком
Источник: avatars.mds.yandex.net

Методы сортировки

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

  • поразрядной сортировки;
  • сортировки подсчетом;
  • блочной сортировки;
  • сортировки методом слияния;
  • сортировки методом вставки;
  • быстрой сортировки;
  • сортировки методом пузырька. 

Алгоритмы поиска и замены

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

  1. Не используя специальных библиотек, написать программу удаления дублированных или вставки пропущенных значений в массиве, содержащим целые числа от 0 до 100.
  2. Без использования библиотек написать программу, переворачивающую массив целых чисел (первое значение меняется местами с последним, предпоследнее встает на место второго и т.д.).
  3. Для отсортированного и не отсортированного массива целых чисел от 1 до 100, написать программу по поиску повторяющихся значений. Текущий массив содержит 101 число.
  4.  Для отсортированного и не отсортированного массива целых чисел от 1 до 100, написать программу по поиску пропущенного значения. Текущий массив содержит 99 чисел.
  5. Для массива из 100 чисел написать программу поиска максимального и минимального значений.

У большинства программистов эти задания не вызовут затруднений. Но проводящий собеседование специалист может попросить обосновать выбор способа решения и предложить поискать другие варианты.

Работа на дому
Источник: instrumenti-nn.ru

Работа со строками

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

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

Для наилучшей подготовки изучите источники с готовыми ответами на всевозможные вопросы. В книге Гейл Лакман Макдауэлл «Карьера программиста» можно найти около 190 вопросов с ответами для прохождения собеседования. А квалифицированные специалисты сервиса Феникс.Хелп, помогут вам справиться с академическими задолженностями, выполнив любой вид учебных работ качественно и в срок.

Заметили ошибку? Выделите текст и нажмите одновременно клавиши «Ctrl» и «Enter»

Бесплатно отвечаем на ваши вопросы. Задайте свой вопрос и получите ответ от профессионального преподавателя. Выберите лучший ответ.

Вопросы могут задавать только авторизованные пользователи. Войти