вторник, 26 июля 2011 г.

Собеседования

Вот решил суммаризировать результаты более десятка проведенных собеседований - и выложить наиболее проблемные для кандидатов вопросы, а так же - их наиболее интересные ответы. Нужен был человек со знанием какого-либо объектно-ориентированного языка (под знанием имеется ввиду знание синтаксиса, теории ООП и умения написать несложный код).
Итак самые сложные для кандидатов вопросы и их самые любопытные ответы:
1. Что такое полиморфизм - правильное определение я услышал всего один раз (от бывшего студента, который его не успел забыть), а вот объяснить что это на самом деле такое уже не смог никто.
Самые прикольные ответы:
- это возможность в программировании решать одну и ту же задачу разными способами (и был дан пример математической задачки, которую действительно можно решить по-разному)
- это множественное наследование (наследие, как сказал один из кандидатов) - самый короткий ответ :)
- это что-то связанное с виртуальными функциями (уже горячо :) ) - опа! услышав такое я даже заинтересовался кандидатом, но вот что такое виртуальная функция объяснить мне уже не смогли
2. Что такое SSH (да, я знаю что это не связано с программированием) - только один! из кандидатов смог ответить на этот вопрос
Самые прикольные ответы:
- это веб-сервер о_0
- это программа
- это что-то связанное с linux (ага!)
3. Что такое структура данных (как тип данных в программировании) - всего один правильный ответ.
Самые прикольные ответы:
- это последовательность команд вводимых в компьютер о_0
- это последовательность вызовов функций в коде
4. Что такое интерфейс (в программировании) - кое-то даже давал правильный ответ :)
Самые прикольные ответы:
- это что-то связанное с коллекциями (имелось ввиду коллекции в Java)
- это список параметров функции - тоже весьма короткое определение
5. Отсортировать одномерный массив простых чисел - справился всего один! кандидат. Либо вычислить n!, где n - простое число - многие даже не начинали решать эту задачку, а сразу говорили, что не знают как это делать (правда один раз мне показали практически правильный код :) ).
6. Что такое xml и для чего он нужен - многие могли сказать, что это расширенный язык разметки - а вот что он размечает и чем он расширен - большинство ответить не могли (были правда и те, кто давал весьма корректные ответы на этот вопрос)
Самые прикольные ответы:
- xml используется для написания парсеров, когда не хватает возможностей html
- xml используется для структурирования информации и документов - чтоб она хранилась в упорядоченном виде
7. Что такое статическая переменная (поле) - ни одного правильного ответа, большинство даже не пытались ответить
Самый прикольный ответ:
- статические поля нужны для того, чтоб к ним можно было обратиться извне класса

Вот так вот грустно - а среди кандидатов были: Delphi программисты из гос организаций (с опытом работы более 2х лет), php фрилансеры с солидным запасом готовых проектов, один Java ME разработчик, парочка выпускников вуза с красными дипломами.

Комментариев нет: