10 мая 2010 г.

Прохождение собеседования

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

Проходил я в компании "Вита СВ". Занимаются они только разработкой софта, что очень меня порадовало. Направления: разработка ПО для iPhone, а так же разработка сложной веб-системы. Я проходил собеседование на должность веб-разработчика. Требований было достаточно много:
Требования:
* Опыт работы над приложениями, которые были закончены
* PHP5, ООП; Паттерны Проектирования - знать, применять
* SQL
* XHTML/CSS
* JavaScript

Почти обязательно (если не знание, то увереность в быстром освоении):
* Zend Framework (версии как < 1.8, так и >= 1.8).
* Тонкости ООП в JavaScript

Было бы совсем неплохо:
* Английский
* jQuery
* SVN
* Redmine
* Doctrine
Пункт "Требования"
Я был уверен что знаю все на достаточно высоком уровне, ну кроме паттернов проектирования.

Пункт "Почти обязательно"
Zend Framework - последнее время только его и использую, умею работать с основными компонентами. Тонкости ООП в JavaScript - я думал, что разберусь с ними легко, если будет необходимо, поэтому проблем не должно быть.

Пункт "Было бы совсем не плохо"
Английский - знаю достаточно хорошо, с переводом статей и манов трудностей не испытываю.
jQuery - использовал, правда мало, но использовал.
SVN - не использовал, и честно признаться это будет решающим в отказе то что я не пользуюсь SVN, хотя это в пункте "было бы совсем не плохо"
Redmine, Doctrine - не знаю, потому что не было нужды использовать.

Само собеседование
"Ну тем не менее, хуже не будет, зато узнаю куда двигаться дальше" - думал я, отправляясь. И настал тот момент когда я зашел к ним в офис. Со мной разговаривали 2 человека - директор и веб-разработчик. Первый спрашивал общие вопросы, второй технические.

Собеседование с директором
С первым то я справился на ура, мне даже понравилось отвечать на его вопросы, так как они были с подковыркой. Вот несколько из них(привожу основную суть, не дословно):
"Представьте, что вы устроились на работу к нам программистом. Как Вы представляете карьерный рост программиста, ведь программист и есть программист - сиди пиши код, получай зарплату?"
"Кто виноват в том, что в программе содержатся ошибки, тестер или программист?"
"Представьте Вы сегодня сдали свой проект. Поехали домой, переоделись, пригласили свою девушку в ресторан. Приехали, она уже заказала салат и Вам звонят из офиса. Говорят нашли ошибку в вашей программе, немедленно приезжайте исправляйте, клиент ждет. Ваши действия? Оставите девушку или забьете на работу?"

Собеседование с веб-разработчиком
Вот тут то и началось! Первый вопрос:
- Ты же знаешь принципы ООП?
 - Да
- Ну тогда скажите чем отличается ООП от процедурного программирования?
Признаться честно, толком не ответил. Вроде и вопрос легкий, но сформулировать корректно в чем отличия не смог. И тут я начал волноваться.
Второй вопрос:
-Ты же знаешь Zend Framework?
- Да, последние проекты на нем и писал (в резюме я отправлял ссылки на свои проекты)
- Расскажи мне что выполняется при вызове метода PreDispatch.
- ... (молчание с моей стороны). Затрудняюсь ответить, вроде вроде все просто, делаю так и так. Начинаю рассказывать про контроллеры, модели.
- Ну ладно, ты давай не волнуйся!
Третий вопрос:
- В чем главное преимущество реляционной базы данных!
- ... ( Я опять начал мямлить про связи таблиц, зачем то начал употреблять слово id таблицы, в общем не дал точного ответа)
- Ну вообщем правильная мысль, но не конкретная.
Дальше они начали меня спрашивать про то откуда я получал знания о программировании, где и как учился. Естественно ответ был что учился сам, учителя - книги, статьи.
Еще спросили:
- Как быстро ты обучаешься
- Очень быстро, с английским проблем нет, мне главное чтоб доступ к интернет был.
- Чем докажешь что быстро обучаешься?
- Ээээммм. ничем, только если поверите так!

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

Завершение собеседования
Мне не сказали нет. Мне даже сказали, что из меня получится хороший программист. Но на работу меня возьмут после того как я выполню тестовое задание. А тестовое задание будет заключаться в том на сколько я быстро смогу освоить несколько технологий.

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

Удачи Вам на собеседованиях!

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

Отправить комментарий