- PVSM.RU - https://www.pvsm.ru -
Недавно на хабре проскакивало пару топиков (PHP. Собеседование в вопросах и ответах [1]) о проблемах собеседования программистов и какие методы для этого лучше всего использовать. В комментариях развернулся неплохой холивор на эту тему. И вот я бы хотел поделиться своим небольшим опытом собеседований со стороны программиста, а также описать их плюсы и минусы.
Вакансия ASP .NET MVC разработчика. Попросили выполнить небольшое тестовое задание. Привожу примерный текст задания:
Необходимо разработать веб-приложение с использованием ASP.NET MVC с описанной ниже функциональностью. В результате вы должны предоставить комплексное решение с инструкциями по разворачиванию и любыми заметками по желанию. Модульные тесты будут плюсом.
Вы должны разработать систему для управления клиентами. У каждого клиента есть следующие поля: ФИО, статус (активный или нет), тип аккаунта (простой, профессиональный, золотой, VIP) и список телефонов. Телефоны могут быть: домашний, мобильный, факс.
Веб-интерфейс должен предоставлять возможно просмотра, редактирования и поиска профиля клиента.
На выполнение данного задание было отведено три дня, после рассмотрения готового задания приглашают на собеседование. Отведенного срока вполне достаточно для качественного выполнения задания.
Плюсы:
Минусы:
Вакансия ASP .NET MVC разработчика. После просмотра моего резюме меня любезно пригласили в офис для собеседования. Собеседовали меня программисты работающие там, в количестве трех человек. Вот задания, которые были предложены мне для решения:
Дана БД, в ней две таблицы: users и organizations. В этих таблицах два поля: id и name. Поле id являеться первичным ключом, name — текстовое поле фиксированной длины.
Что сделать:
Как видим ничего сложного нет. Из трудностей: писать на листике без IDE и её подсказок.
Следующие задания на знание C#:
public List<int> Test(List<int> listA, List<int> listB )
{
}
Необходимо реализовать метод, что бы он возвращал в качестве результата список, содержащий в себе последовательно: первый элемент первого списка, первый элемент второго списка, второй элемент первого списка, второй элемент второго списка и т.д.
class A
{
public void Print()
{
Console.WriteLine("I'm A");
}
}
class B : A
{
public void Print()
{
Console.WriteLine("I'm B");
}
}
static void Main(string[] args)
{
A a = new B();
a.Print();
}
Что выведет данный код? И что надо сделать, что бы вывело другое сообщение?
Еще был вопрос на знание jQuery, но я его к сожалению не помню. Решение всего этого вместе с рассказом о себе и о боевых подвигах занимает около 20-30 минут.
Плюсы:
Минусы
Как видим, практически все вопросы возможно решить при наличии опыта, или хотя бы объяснить на «пальцах» методы решения задач. Отдельно стоит отметить два собеседования, когда мне выдали «опросник»: сшитые вместе листы А4 с распечатанными вопросами. Общее количество их было в районе 50, правильно я ответил на 40% вопросов, т.к. они были слишком уж теоретические, и такие вещи давно уже забыл. Мой результат посчитали неудовлетворительным, возможно оно и к лучшему. Но лично я, все же перед собеседованием пролистываю немного теорию, многие вещи забываются и неплохо их было бы освежить, что бы не выглядеть глупо, запнувшись о простой вопрос. И второй случай, когда после просмотра моего резюме и разбора моего кода (в резюме указал ссылки на сорцы своих проектов, которые писал just for fun), меня пригласили на собеседование уже без всяких тестов и т.д., для взаимного «примеривания» и обговаривания условий.
Если кого либо заинтересуют вопросы, так сказать проверить себя для галочки, могу добавить в пост еще с десяток интересных вопросов.
Автор: vyacheslav_ka
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sobesedovanie/5734
Ссылки в тексте:
[1] PHP. Собеседование в вопросах и ответах: http://habrahabr.ru/post/141290/
[2] мышление: http://www.braintools.ru
Нажмите здесь для печати.