16 мая, с 11:05 по Москве буду участвовать в прямой трансляции. С Иваном Матвеевым, Дмитрием Симоновым и Романом Ивлиевым будем обсуждать тестовые задания: нужны ли они и кому, чем плохи и хороши, почему их ненавидят и как сделать их полезными.
Все заметки с тегом «Собеседования»
-
Онлайн-дискуссия про тестовые задания
7 мая 2020
-
Публичное собеседование Junior PHP, Hexlet
21 апреля 2020
Поучаствовал в публичном собеседовании Junior PHP разработчика, которое провели Hexlet.
Давно не собеседовал новичков и уже начал забывать, как это.
-
Собеседования в Facebook
4 марта 2020
Я собеседовался в Facebook в 2012-ом. Тогда произошло странное. После где-то пяти собеседований HR не вышел на связь. Я подумал, что где-то не справился и в итоге принял предложение Stay.com (к лучшему). Через несколько лет тот же HR написал мне, рассказал, что тогда уволился и извинился что не передал как надо тогда дела. Бывает...
Но этот пост о технической стороне собеседований. А она, судя по всему, мало поменялась с тех пор.
-
JavaScript, задачка Trello
3 февраля 2016
Как-то в Trello решили нанять фронтендщика и натвитили base64-urlencode строчку, которая при раскодировании вела на страницу с прекрасной задачкой. Задачку, как и страницу, похоже, уже выпилили, но у меня сохранилась.
Write code to find a 7 letter string of characters that contains only letters from acdegilmnoprstuw such that the hash(the_string) is 675202166929 if hash is defined by the following pseudo-code: Int64 hash (String s) { Int64 h = 7 String letters = "acdegilmnoprstuw" for(Int32 i = 0; i < s.length; i++) { h = (h * 37 + letters.indexOf(s[i])) } return h } For example, if we were trying to find the 7 letter string where hash(the_string) was 680131659347, the answer would be "leepadg".
Ответ надо было прислать в subject письма HR-у. Первых сколько-то человек получали возможность пообщаться.
Как по мне, поход просто замечательный.
-
Про найм и почему мы всё делаем не так
20 июля 2012
Иван Сагалаев пишет о том, как не нужно нанимать инженеров и частично о том, почему именно так как не нужно нанимают.
Мне довелось побывать и с той и с другой стороны «баррикад». У самого имеются, как выяснилось, проблемы с традиционными собеседованиями: завалил или неблагоприятно для себя закончил около трёх. Как минимум одно точно из-за стресса (привет, Facebook). Во все хорошие места, в которых довелось работать, меня позвали. Традиционных собеседований я там не проходил.
С проведением собеседований тоже интересно. Их я провёл гораздо больше, чем собеседовали меня. При принятии решения я полагаюсь на «чутьё». Сначала я старался как-то формализовать принятие решений, но потом понял, что это, в общем-то, бесполезно. Либо чувствуешь, что человек подходящий, либо нет.
«Чутьё» штука занятная. Иногда оно совершенно противоречит логике. Например, один раз жарким летом собеседовал кандидата в разработчики. Образование не программистское, опыта не очень много. На часть вопросов верных ответов не дал. Английский, который требовался, тоже был не супер. Но был отличный настрой, желание сдвинуть горы и почти верные предположения о собственных пробелах в знаниях. Чутьё сказало «берём». Не ошиблось. Человек за год очень сильно вырос.
Тут важно понимать, что подобные решения, основанные больше на чутье, а не на логике, позволить себе могут далеко не все компании. Классические аутсорсеры и мелкие фирмы, которым необходимо во что бы то ни стало сдать проекты в срок, могут от таких решений сильно пострадать.
-
Трудновылавливаемая ошибка
28 декабря 2010
Вчера в одном из расширений Yii была найдена ошибка в документации, которая напомнила мне об одном из немногих собеседований, которые я проходил в последнее время.
Длилось собеседование несколько дней. В один из дней надо было показать умение писать код на месте, сидя в самом центре офиса компании.
Получив рабочее приложение и, немного попилив код на предмет красивости и оттестировав результат, уставший, но вполне довольный, я отправился на кухню пить кофе… а, придя обратно, обнаружил, что код уже рассмотрели и готовы задавать вопросы. После нескольких общих вопросов было предложено запустить приложение, что и было сделано.
Приложение совершенно внезапно не заработало, не отдавая никаких ошибок. Попытки посмотреть локальную историю IDE, провалившиеся, видно, из-за усталости, ничего, кроме вопроса «вы действительно думаете, что мы такие нехорошие и поменяли ваш код» не дали. На вопрос я, кстати, честно ответил «да».
После нескольких минут тестов было понятно, что не работает клиентская часть на JavaScript. После пяти минут беганья дебаггером я убедился, что код выглядит точно таким же, как я его оставил, уйдя пить кофе, но работает как-то не так:
document.getElementById
не возвращал элемента, который явно был на месте. Спустя несколько минут я оценил коварство правки, которая была внесена в код. Одна из латинских «цэ» была заменена ну русскую «эс».