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

Зачем всё это? Хочу перечислить основные косяки обоих сторон, вовлечённых в процесс трудоустройства в виде назиданий и советов не претендующих на истинность, а являющихся личным мнением автора. Все пункты опробованы на себе, то есть в большинство из них так или иначе вляпался по собственной дурости, либо по милости противоположной стороны. Плюс к этому, некоторые ситуации проходил с двух сторон: и как соискатель и как наниматель. Посему, есть с чем сравнить. Так же, некоторые пункты могут показаться читателю очевидными и «капитанскими», но, увы, многие до сих пор не не знают о них и делают с точностью до наоборот. Как говорится: «то, что очевидно для вас, не очевидно для других».

В общем, если интересен чужой опыт и грабли — прошу под кат.

По ходу повествования упоминаются реально существующие компаний и личные наблюдения и ощущения от взаимодействия с ними. Я не имею никакого прямого отношения ни к одной из них и не имею целью рекламировать кого-либо.

TL;DR По моему мнению, собеседование/интервью (называйте как хотите) — это обмен информацией и никак иначе. Каждая из сторон дозировано рассказывает о себе в течение некоторого периода времени, при необходимости подкрепляя слова делом, и составляет свой образ в голове у собеседника. О взаимности частенько забывают и, кажется, именно из этого растут все проблемы процесса трудоустройства. Именно эта мысль будет являться основой всего ниженаписанного.

Первое знакомство


Обычно, оно проходит в форме переписки. И уже на этом этапе есть много моментов, на которые хочется обратить внимание.

  • Резюме кандидата нужно читать полностью, мало того, хорошо бы запомнить основные моменты из него и не полениться перейти по ссылкам. Может обнаружиться много интересного: например, 100% недоступность всех линков, либо наоборот, интереснейшие проекты и необычные решения за авторством кандидата. Мало того, появится повод для разговора с кандидатом при последующих встречах.

  • Как говорил один хороший человек: «билет на экзамене — это лишь повод пообщаться». Так и с резюме, оно лишь повод для дальнейшего общения. Если после прочтения повода не появилось и желания пообщаться и углубить знания о кандидате не образовалось — берите следующее.

  • Если после прочтения никакое мнение не сформировалось — составьте список вопросов к кандидату, а так же список замечаний по резюме и отправьте ему вместе с описанием вакансии. При правильном подходе и человеку будет приятно, что резюме читали, чего-то там не нашли и предлагают дополнить/улучшить, и компания получит потенциального кандидата (спасибо за отличный пример общения и отзыва о резюме девушке-hr'у из Alytics). Таки да, этот вариант требует гораздо больше времени на обработку резюме и предполагает, что поток кандидатов маленький и каждый из них на счету.

  • Если резюме было прислано целенаправленно именно вашей компании, то, чёрт возьми, ответьте на него в любом случае! Как говорится: «Не плюй в колодец...». Совсем хорошо, если ответ будет хоть сколько-нибудь человеческим, а в идеале с хоть каким-то обоснованием вашего решения. А то уж сколько примеров было о том, что компания продинамила соискателя или ответила шаблонным «извините, на текущий момент, мы не можем вам предложить эту вакансию», после чего человек обиделся, захватил мир и продолжает в тайне ненавидеть обидчика (ну вот например раз и два). А мог бы запомнить их адекватность и дружелюбность, заглянуть к ним на огонёк через год, успешно трудоустроиться и пользу приносить.

  • Соискатели, если вы уверены в себе и в своих знаниях/навыках, а так же спокойно относитесь к критике, то не стесняйтесь задавать вопросы о причине отказа. В лучшем случае вы получите информацию для размышления и саморазвития, в худшем случае — не получите ничего и составите соответствующее мнение о компании. Из личного опыта: эксперименты на людях показали, что только около 10% не прошедших интересуются причиной отказа.

Первое свидание


Начинается с телефона/скайпа и, при взаимных чувствах перерастает в личную встречу.

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

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

  • Скайп-беседа: самое адекватное и запомнившееся, что я встречал (привет, Mail.ru) — это 10 коротких вопросов по предметной области. Все остальные варианты кажутся не таким эффективным (а написание кода в риалтайме в редакторе так вообще издевательство). Вопросы эти позволяют проверить базовые знания, отсеять полных неадекватов, занимает около 10мин и не сильно напряжны для кандидата. Вот часть вопросов:

    1. «Сколько будет 2^8?»
    4: «Какое ключевое слово нужно использовать в MySQL, чтобы применить условие на сгруппированные строки?»
    7: «Что означает „600“ в правах на файл в Linux?»
    10: «В RSpec в чем разница между describe и context?»

    В общем-то по 1-2 вопроса из каждой области, которая будет непосредственно связана с будущей работой (ОС, сети, Ruby, JS, тесты, БД), плюс вопросы на общую адекватность и на алгоритмы. Как узнал позже и сильно удивился: на первый же вопрос часть кандидатов не отвечает.

  • Соискатель, будь терпелив, в самом начале никто не бросит на амбразуру технического директора, которые будет знать все подробности. До этого босса нужно добираться с боем. Так что на первых ступенях собеседования не пытай милых барышень (парни-hr'ы, простите, но на первых этапах девушек действительно большинство) технической стороной вакансии, собери список общих вопросов и задавай их в самом начале, чтобы в будущем не тратить время на них и всласть назадавать технических вопросов людям, приближенным к разработке.

Конфетно-букетный период


Здесь начинаются личные встречи разной степени протяжённости и маразматичности.

  • В самом начале обрисовать план действий и ожидаемые временны?е рамки — хорошая идея. Ещё одна хорошая идея — следовать этому плану. Данное действо сродни сквозной нумерации в презентациях: «5 из 25 слайдов» выглядит гораздо лучше, чем просто «слайд №8». Сразу понятно сколько ещё осталось и можно прикинуть хватит ли сил добраться до конца.

  • В начале первой личной встречи снова расскажите о компании. Про детализацию узнайте у соискателя. Если он уже наслушался вас на предыдущих этапах и всё нужное знает — переходите к сути, если нет — удовлетворите его любопытство по максимуму. А потом уже переходите к удовлетворению своих потребностей.

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

  • Не ходите толпами. По личному мнению, оптимальное количество собеседующих — двое. Первый — непосредственный руководитель, второй — hr. Первый оценивает знания и навыки, необходимые для работы, второй — оценивает человека в целом. Третьего-четвёртого можно привлечь если предметные области вакансии и кандидата не сильно пересекаются и нужен кто-либо для корректировки. Например, должность на RoR, а пришёл человек из PHP и нужен кто-нибудь, кто сможет выяснить уровень знаний в PHP. Больше четырёх — это что-то стрёмное и гнетущее.

  • Как уже когда-то говорил Milfgard, не стесняйтесь сказать человеку что он не подходит через 5 минут общения. Да, такое бывает очень редко, но бывает. Лучше сказать всё как есть и сэкономить время и себе и соискателю, чем мариновать его пару часов, чтобы сообщить тот же результат.

  • Это же справедливо и для соискателя: если вы поняли, что точно не хотите тут работать, просто скажите об этом и сэкономьте время. Если дополните своё решение некоторым количеством фидбэка, то вообще цены вам не будет. Конструктивную критику обязаны любить все. Если кто-то не любит — замолкайте, извиняйтесь, покидайте этих людей как можно скорее и никогда больше с ними не встречайтесь.

  • Не пускайте на собеседование руководителей которые выше вакантного места на две и более ступеней. Они, обычно, только пугают кандидата. Был такой пример в Microsoft (привет, Skype), когда угораздило первым этапом общаться с каким-то из менеджеров всего подразделения в полторы сотни человек (то есть на 4-5 ступеней выше). В итоге час на английском обсуждали как на псевдоязыке (потому что общих языков программирования не нашлось) написать односвязные списки. Вакансия была вообще на Python и причём тут списки решительно непонятно. После этого часа думал они тут все упороты и уходить хотел, но дальше пришёл непосредственный руководитель и всё стало гораздо интереснее и приятнее.

  • Совет соискателю: терпите высокое руководство и задавайте вопросы о том «а чего это за дядя был и зачем я с ним общался?» следующим собеседующим, которые, скорее всего, будут вашими будущими коллегами и доступно ответят на мучающие вас вопросы.

  • Не давайте убогих задач на «скомпилируй в уме», «а что выдаст этот SQL-запрос по вот этим данным» и им подобные. Это же безумно уныло, проверяется исключительно внимание и в стрессовой ситуации (коей является собеседование) ошибаться будут почти всегда. Если нужно проверить какие-либо навыки, желательно придумать одну, но интересную задачу по каждому направлению. Например: для проверки знания английского, спросите перевод какой-нибудь хитровывернутой фразы вида «Уничтожениче человечества является первостепенной задачей для любого уважающего себя ИИ». Сразу же предупредите, что не нужно выдавать дословный перевод или сидеть и долго думать, что интересует сам процесс того, как человек будет пытаться перевести фразу, так же сказать, что если совсем мыслей нет — говори просто что знаешь, своими словами, чтобы передать смысл. В итоге либо человек выдаёт перевод сразу и вопросов к языку более не возникает, либо появляется повод немного поговорить об иностранном языке. Аналогичные задачи и для других областей можно придумать. Для SQL, у меня, например, есть задача, которая проверяет большинство основных принципов языка при помощи одной таблицы с одной колонкой. Людям нравится, особенно когда объяснишь назначение задачи.

  • Ещё раз отдельно: объясняйте назначение задач. Если даёте задачу на логику, опишите цели, которые преследуете, давая такую задачу. Если даёте что-то из реального продакшена — скажите что это реальный трэш и угар, который у вас происходит. Тем самым вы успокоите кандидата и замотивируете его на выполнение задачи. Если человек потеряет связь между вакансией и задачей, то он и выполнять её будет посредственно, и результат будет так себе, и впечатление от собеседования будет негативным.

  • Соискатель — не стесняйся спрашивать «а зачем вы такое спрашиваете?», «вы что, реально такое в проде делаете?!» и тому подобные вещи, которые тебя беспокоят и заставляют усомниться в адекватности работодателя.

  • Собеседующие, будте компетентны в вопросах, которые задаёте. Если вы спрашиваете у кандидата что-либо, то будте добры знать ответ и уметь объяснить его человеку, если он не справится с заданием. Иначе получится эдакая форма издевательства и демотивации. Объясните человеку как нужно было решать задачу или просто скажите ответ, либо коротко опишите что хотели услышать и зачем. Если вы сами не знаете то, что спрашиваете, то не имеете морального права это спрашивать. Снова приведу аналогию с экзаменом: самые запоминающиеся и полезные экзамены — это те, с которых уходишь вместе с новыми знаниями (я таких помню всего 3), а не которые просто сдал и забыл. В личной практике было несколько случаев, когда соискатели хоть и не получили приглашение на работу, но уходили абсолютно довольными и честно говорили, что не ожидали в ходе собеседования узнать что-то новое.

  • Соискатели, отвечайте за свои слова. Если вы говорите что что-то знаете, то будьте готовы к тому, что вас проверят, причём проверят глубоко и подробно. Вот пример: если вы говорите «я знаю SQL» то будьте готовы написать любые извращённые запросы, рассказать про все виды JOIN-ов и вообще знать синтаксис и операторы. Если не уверены, то скажите что был некоторый опыт, перечислите какие задачи решали с его помощью и предложите собеседующему самостоятельно выяснить ваш уровень. Это особенно относится к джуниорам. Многие из них совершают ошибку говоря «я знаю SQL» подразумевая, что знают как написать обычный SELECT.

  • По возможности, воздержитесь от опросников по проф.направлению. Чаще всего это такая муть, что хочется встать и убежать. Лучше уж поговорите лишние 5мин вживую (человек уже добрался до очного этапа, раньше нужно было про тесты думать) и избавьте человека от тестов. Исключение: большие корпорации, которые могут творить всё что хотят; либо много джуниоров, которых нужно хоть как-то отсеять. Вот несколько самых запоминающихся вопросов из опросников по Ruby:

    1. «Продемонстрируйте 5 способов создания цикла от 1 до 10, выводящего эти значения, за исключением нуля.» — до сих пор терзаюсь вопросом: зачем?!
    2. «Как создать экземпляр модуля?» — мне в голову приходит только «никак», но, до сих пор кажется, что автор имел в виду что-то другое;
    3. «В чём отличия между p и pp?» — это гуглится за 30сек, зачем это в бумажном опроснике?
    4. «Что такое объект?» — тут хочется вопросов назадавать: вам определение из википедии, их там 13 и минимум 4 подходят? Класс Object из Ruby? Или вы сами не определились и хотите как можно больше вариантов? Ну и главный вопрос: зачем?

  • Показывайте непосредственное руководство лицом. То есть если высокоуровневых руководителей на интервью пускать нежелательно, то первые две ступени руководства там быть просто обязаны. Как минимум в финальной части. Мало того, нужно чтобы они пообщались с кандидатом и с обоих сторон не осталось вопросов. Так как для руководителей это тот человек, с которым предстоит работать на протяжении долгого времени, а для соискателя — это люди, к образу которых он будет явно или неявно стремиться на протяжении всего времени работы в конкретном месте («45 татуировок менеджера» татуировка 14 «Стая копирует вожака»).

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

  • Общая адекватность и честность важна с обоих сторон. Причём важна не менее чем условия труда, оклад и профессиональные навыки. Если уже в ходе собеседования кто-то что-то недоговаривает или не отвечает явно, то дальше будет только хуже. Из личных примеров: ребята из Альфа-потока. Абсолютно честно говорят чем занимаются, что ожидают, что предлагают взамен и ожидают ровно того же самого от соискателя. Никаких иллюзий и недосказанности. Побольше бы таких людей и компаний.

  • В конце собеседования, чётко описывайте результат и будущие действия. Либо так же чётко обозначайте временной промежуток, когда результат и цели станут известны. То есть если можете сказать результат сразу — скажите, если нужно время — сообщите сколько его нужно, когда ожидать результата и чем вызвана необходимость ожидания. Не держите человека в подвешенном состоянии.

  • Соискатель, всё абсолютно симметрично. Если обещал дать результат в ближайшие два дня — сдержи обещание, обещал сделать тестовое задание за неделю — сделай, либо честно скажи что забил/неосилил/etc.

Домашняя работа


Тестовые задания. К ним прибегают, когда хотят получить гарантии того, что человек так же хорош на деле, как и на словах, либо когда на словах всё плохо, но хочется дать ещё один шанс.
  • Имейте несколько вариантов тестового задания, рассчитанных на разную длительность и уровень исполнителя.

  • Если собираетесь дать тестовое задание — сразу уточните готов ли на него соискатель и если готов, то сколько времени он готов выделить на него. По личному ощущению, задание должно занимать не более 8 часов. В идеале — меньше. При этом, задание имеет смысл давать только в том случае, если человек вакансией уже заинтересовался, иначе он посмотрит на него и забьёт. Самый удачный подход к этой области, как мне кажется, во фрилансе. Почти всегда можно договориться на небольшое задание, которое будет оплачиваться и по результатам которого вы либо продолжите взаимовыгодное сотрудничество, либо поймёте, что вам не по пути.

  • Чётко оговаривайте сроки и способ презентации тестового задания. Так же, полезно явно просить кандидата сообщить, если он решит задание не выполнять. Из личного опыта: отмалчивается меньшинство, большинство сообщает что делать не будет, если явно попросить об этом.

  • Огромные задания, например недельные, допустимы в единственном случае, когда человек на собеседовании ничего толком не показал, но рвётся в бой, стучит кулаком в грудь и хочет доказать что на самом деле он всё умеет (обычно это случается со студентами). В этом случае можно предложить следующий сценарий: «мы даём тебе большое задание и ожидаем что оно будет выполнено в такой-то срок. Таким образом ты доказываешь что на самом деле всё знаешь и умеешь, либо быстро учишься и можешь достичь результата в сжатые сроки.» Справедливости ради, стоит сказать, что личный опыт таких заданий плачевный. Наверное человек 5-6 я спрашивал о таком варианте после не совсем удачного интервью. Явно описывал что задание большое и что в случае успеха готовы сразу брать на работу. Большинство соглашались, но в итоге все забили на выполнение. Задание было довольно банальным: сделать веб-приложение с нуля: 5 таблиц, скафолды, базовый CRUD и немножко CSS. День работы для мидла и выше и неделя для джуниора.

Длительность собеседования


Очень холиварная тема, но всё-таки рискну затронуть. У нас, чаще всего получается одно очное интервью. Длительность ~3 часа. То есть иногда за час заканчивали, а иногда и 4+ общаемся. Да, это много, но я не представляю как можно узнать у человека все интересующие навыки, необходимые для веб-разработки за меньший срок. То есть цель такого общения — это не только ответ на вопрос «подходим ли мы друг другу?», но и приблизительная оценка того, какие задачи можно будет поручить человеку в случае успешного исхода, а так же сколько ему понадобится времени для достижения командного ритма разработки.

Ложь, наглая ложь и статистика


Напоследок приведу немного статистики. Все любят цифры, пропорции и проценты. Вот что было конкретно у нас.

  • Выборка резюме небольшая. Около сотни за последний год. Из них треть — сразу отбрасывается по тем или иным причинам (язык разработки не тот, живёт не там, содержимое слабо похоже на резюме и тд). Из оставшихся примерно 2/3 так или иначе вызывает интерес. Из них ещё процентов 60-70 отваливается из-за неактуальности резюме, незаинтересованности в вакансии, невозможности достучаться до кандидата и тд. И остаётся человек 15-20 с которыми можно побеседовать. Из них ещё половина отваливается на этапе удалённого общения и до личной встречи дошли человек 10, то есть <10% от исходного объёма.

  • В вышеозначенные расчёты не включены студенты, которые периодически появляются в обход сей процедуры. Их не считал, поэтому точной статистики нет. Есть только ощущение, что очень малый процент знает хоть что-нибудь сверх институтской программы. То есть с самообразованием всё грустно.

  • За всё время был ровно один неадекватный господин, который всеми силами хотел хоть кем-нибудь устроиться. Судя по резюме он был нинзя и знал всё от асемблера и верилога до веб-серверов и ESB. Пришлось долго объяснять, что нельзя просто так перепрыгнуть часть этапов собеседования и заиметь оклад двух ведущих разработчиков.

  • Выборка личных собеседований и того меньше. За всю жизнь полноценных было штук 10-15. Фриланс, а так же различные предложения и последующие переписки в почте, соцсетях, скайпе и им подобных — не в счёт.

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

Продолжение следует…
Поделиться с друзьями
-->

Комментарии (153)


  1. vintage
    08.11.2016 10:52
    +20

    Помню однажды меня позвали в "mail.ru". Я пришёл, в надежде, что меня соблазнят чем-то интересным. Первым же вопросом было "Почему вы хотите работать в нашей компании?". Надо ли говорить, что дальнейшее общение не задалось?


    1. Loriowar
      08.11.2016 11:01

      Как я понял, у них, как и у любой другой большой компании, всё сильно зависит от отдела/подразделения в которое зовут. Мне попались очень адекватные ребята. Хорошо пообщались, узнал что-то новое и остались только положительные впечатления.


    1. Hayate
      08.11.2016 11:04

      А в мегафоне как-то спросили «кем вы видите себя у нас через 2 года»?


      1. Loriowar
        08.11.2016 11:17

        Частый вопрос. Раньше отвечал что-то конкретное. Сейчас честно говорю, что исходя из того, что происходит в жизни последние несколько лет, мне самому интересно узнать что же будет ещё через пару лет.


      1. UA3MQJ
        08.11.2016 12:44
        +1

        Это же классика! На такой вопрос принято отвечать — «генеральным директором».


        1. svr_91
          08.11.2016 19:58

          «То есть, вы хотите идти по менеджерской, а не технической линии?» :)


          1. kozzztik
            08.11.2016 20:36

            До генерального можно и по технической дойти. Там же обе ветки сходятся. Да и на самом деле все что выше лида уже сложно поделить на техническое и нет.


      1. JediPhilosopher
        09.11.2016 15:18
        +1

        «А вы сперва мне скажите какие планы развития у вашей компании на эти два года. Что, нет таких? Не знаете (100% что рядовой HR или сотрудник не в курсе таких планов даже если они есть)? Ну тогда чего от меня-то вы хотите, если вы сами не знаете что будет с вашей компанией и будет ли она еще существовать вообще».


    1. ad1Dima
      08.11.2016 12:26

      У меня было интересное: компания нашла моё резюме на hh, выяснили, что я работаю в одной компании с их бывшим сотрудником. Узнали у него мой email (он у меня уточнял, мне аж интересно стало), и прислали на него анкету начинающуюся именно с этого вопроса… Я до сих пор не знаю что это за компания была, но вроде даже мягко послал их им ответ, что так делать нехорошо.


      1. Loriowar
        08.11.2016 13:53

        Про способы поиска данных о кандидате нужно отдельно писать. Там свой большой и странный мир. Некоторые компании очень спорные вещи для этого делают.


        В общем случае, все хотят побольше гарантий адекватности в долгосрочной перспективе. Но способы получения информации иногда приносят больше вреда, чем пользы. Некоторые явно спрашивают поручителя/рекомендацию. Некоторые лезут в соц.сети и начинают оттуда выгребать всё что могут. Кто-то начинает искать через знакомых, знакомых знакомых и тд. Кто-то всё сразу делает и хочет узнать о человеке всё. По мне так, это сомнительное занятие. Да хочется знать больше, но в рамках разумного. И лучше уж прямо у кандидата спросить всё что интересует, чем в КГБшника играть. В книге "Обнимите своих сотрудников" несколько интересных вещей по этому поводу написано.


    1. Steed
      08.11.2016 16:40

      Справедливости ради, Mail.ru уже от этого отучилось. Свой процесс найма они неплохо отдебажили.
      Подобные проколы — личный косяк HR'а, и судить по ним о компании в целом, наверное, не стоит. Хотя неприятно, конечно, особенно если ты время потратил, приехал и выяснилось, что на вакансию обязательно нужен навык, которого у тебя отродясь не было и в резюме не указано.


    1. NIKOSV
      09.11.2016 09:25

      Ладно там если mail.ru, но когда такой вопрос задает малоизвестная конторка с офисом на квартире педалюющая какой-то аутсорс…


  1. Antelle
    08.11.2016 10:59
    +3

    написание кода в риалтайме в редакторе так вообще издевательство

    Почему? По-моему, решить простую задачку на 10 минут может каждый, зато будет показательно, что напишет и будет о чём поговорить и проверить ответы на вопросы на практике. Решение же не должно получиться 100% рабочим.
    ps. обеих сторон


    1. Loriowar
      08.11.2016 11:07
      +10

      Сильно от человека зависит. Кто-то на публике выступать может спокойно, а кто-то накосячит трижды в элементарном задании в риалтайме когда над душой неизвестный дядя стоит, но в более спокойной обстановке сделает всё как надо. Если уж давать риалтайм, то что-то очень простое на проверку базовых навыков и вслед за этим что-нибудь посложнее на 30-60мин для оффлайн решения. Тогда будет полноценная картина: навыки программирования плюс приспособленность к психологическим нагрузкам. Так в Microsoft было у меня.


      1. Antelle
        08.11.2016 11:12

        Ну да, я совсем простое и имел в виду, чтобы базовые навыки проверить. Задачки на понимание тех же событий в js, намного сложнее это теоретически по скайпу объяснять чем пару строк написать. Про психологические нагрузки, так и в вопросах тоже надо быть приспособленным, с тем отличием, что на вопросы человеку не приходится каждый день отвечать.


        1. boldyrev_gene
          08.11.2016 11:39

          Как по мне куда сложнее решить конкретную задачу, чем отвечать на какие-то общие вопросы. При том, общаюсь я каждый день, а вот пишу код, где каждый символ тут же проверяют куда реже, приблизительно никогда…


  1. RPG18
    08.11.2016 11:21

    Я не очень понимаю людей, которые из списка тестовых заданий рекомендуют выполнять что-то подобное:

    Представьте что вам нужно сделать микросервис, который проводит сделки пользователей из трех различных регионов. У каждого пользователя есть некий баланс средств и он не может совершать сделки на отрицательном балансе. Для простоты сделка полностью проводится внутри микросервиса. Каждый пользователь прикреплен к ближайшему к нему датацентру и к одному из датацентров в качестве резервного. Необходимо сделать микросервис прототип, который позволит продолжить торговлю без остановок в случает падения одного из датацентров. Необходимо продумать все стресс сценарии когда могут возникнуть проблемы с расхождениями баланса и придумать пути их решения. Также желательно продумать схему масштабирования на большее число датацентров и возрастающие объемы сделок.


    1. vintage
      08.11.2016 12:03
      +1

      Да ладно, довольно интересное задание. Другое дело, что потратив кучу времени на его выполнение ожидаешь, что на приём тоже потратят достаточно времени, чтобы разобраться почему применяются те или иные решения. И уж точно не хочется слушать реплики в духе "мы решили вам отказать, так как ваше решение не является законченным продуктом и вообще не работает" из-за того, что приёмщик не смог без ошибок скопипастить строку вызова из документации.


      1. RPG18
        08.11.2016 13:23

        Очень интересно такой сервис писать на C++. В том же бизнес центре Avito расположен, у них восстановление в ручную делается.


        1. vintage
          08.11.2016 13:27

          На С++ всё писать "интересно" :-)


  1. lookid
    08.11.2016 11:27
    -12

    Потомучто ищут обычно не раба на галеру уровня ebanoe.it. Долларовый миллионер в 30 без регистрации и смс это дело такое. Темболее бывает, что нужно за вечер написать 1к строк, а бывает и за неделю 100 строк хватит. Никто не знает что будет через год. А на год брать человека не хочется. Тестовое задание? А вы программист или демагого? Код писать не умеете?


    1. Loriowar
      08.11.2016 11:43

      Простите, но я вас не понял.


    1. TimsTims
      08.11.2016 11:50
      +14

      Вы сейчас что-то такое непонятное и безсвязное написали, как-будто вы не человек, а неудавшийся ИИ…


      1. dmitry_dvm
        08.11.2016 17:14
        +7

        Судя по тому, что вы отвечаете как человеку — вполне удавшийся.


        1. Aingis
          09.11.2016 11:20

          Тест Тьюринга завален всё-таки.


  1. tmk826
    08.11.2016 11:54
    +1

    Конфетно-букетный период

    +1


  1. drobzik
    08.11.2016 12:01
    +2

    не стесняйтесь задавать вопросы о причине отказа. В лучшем случае вы получите информацию для размышления и саморазвития, в худшем случае — не получите ничего и составите соответствующее мнение о компании

    Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».

    соискатели хоть и не получили приглашение на работу, но уходили абсолютно довольными

    Аналогично, после первого собеседования (несмотря на то что оно было по телефону, без предварительной подготовки и довольно сумбурное), понял, где мое самое слабое место (как оказалось, это был английский), подучился, и в последущем все прошло как по маслу:)


    1. den_labs
      08.11.2016 12:10

      Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».

      Тоже такое бывало.
      Причем даже в случае отказов бывало HR-ы могут написать, что-то «весёлое», а уж спрашивать о причинах можно только в исключительных случаях.


  1. HellFosa
    08.11.2016 13:46
    +2

    На системного админа к примеру >70% даже не читают вакансию толком. Просто рассылают резюме в стиле «вдруг проканает». К примеру в вакансии четко описаны необходимые навыки, к примеру «linux, nginx, haproxy, mysql, ansible, все на уровне не ниже „джедая“», а в процессе беседы выясняется что человек не понимает в этом ничего, от слова совсем, и линуксы видел только в кино, а сам пару раз переустанавливал винду, да 1с. Естественно в резюме у него 10 лет опыта в highload.

    Из смешного запомнился кандидат, который спросил у нас зачем мы спрашиваем его про nginx, elk, linux.
    -Ваши обязанности будут включать работу с web-серверами, вы текст вакансии изучали же?
    -Я столько раз уже резюме своё рассылал, в каждой вакансии написано куча всего, все их читать что ли?


    1. AcidVenom
      08.11.2016 14:06
      +3

      На системного админа к примеру >70% даже не читают вакансию толком.

      >70% работодателей симулируют чтение резюме кандидатов.


    1. 4ebriking
      08.11.2016 14:10
      +3

      Ну справедливости ради, часто вакансию админа пишут сами HR-ы/секретарши/бухи/начАХЗ и там написан совершеннейший бред. А по факту у людей есть парк, который должен работать, и разобраться, что он себя представляет и при этом ничего не уронить — и есть первое задание, причём срочно, ибо что-то уже лежит (потому и ищут), а парень, который за это раньше отвечал — заболел/запил/уволился/в_армии/истерит/оказался_полным_ничтожеством и т.п.


    1. kozzztik
      08.11.2016 20:46
      +2

      К слову говоря, когда искал работу ходил на собеседования регулярно. Бывало по несколько собеседований в день. Начиная к какого то момента реально уже перестаешь запоминать кому и что конкретно было нужно. Даже если перед выходом почитал. Да и смысл теряется — большинство компаний полный треш и откровенно говоря не стоят того, что бы что-то запоминать, но ясно это становится уже после визита. Был например случай, когда я пришел, а меня не стали собеседовать. Вы не изучили наш продукт? А мы вам забыли сказать это сделать? Идите домой, денек поизучайте и возвращайтесь. При этом noname контора, собеседование на senior+. Кандидатов прямо скажем дефицит.
      С собеседованием большого количества кандидатов та же фигня. Если нет HRа, просмотрев пару сотен резюме в лучшем случае об отобранных кандидатах можно запомнить только какую то одну яркую деталь, и то, если она была.


      1. Loriowar
        08.11.2016 21:00
        +1

        Какой-то дикий поток собеседований у вас. Честно не представляю больше одного хорошего интервью в день. Работу работать легче, чем так активно мозгом шевелить, как хотят на хороших собеседованиях.


        1. kozzztik
          08.11.2016 21:24

          Взялся за раз изучить рынок Питера и не хотел это растягивать. По большей части собеседование занимало не больше часа, и если взять выходной то вполне можно три места посетить за раз. Рекорд — около четырех часов. Час с HR и три на техническом.Туда в итоге и устроился, хоть и сильно не сразу.


  1. kxl
    08.11.2016 14:02
    +1

    В сентябре собеседовался в Норбит…
    Нашли меня в LinkedIn, пригласили на собеседование: " Приглашаем к сотрудничеству программиста/ведущего программиста .NET, в будущем руководителя отдела разработки...".
    Собеседовали сначала по скайпу (сотрудник вроде как в командировке), что было несколько непривычно, собеседника я не видел.
    Задавали вопросы — я отвечал, вроде всё хорошо прошло. Поговорили о проектах… У меня есть свой «домашний проект» который приносит мне некоторую прибыль и не отнимает много времени…
    Потом подошел еще один сотрудник, задал несколько вопросов, пообщались. Я не настаивал на какой-то конкретно вакансии, более того, я сказал, что несмотря на имеющийся у меня опыт готов начать с просто программиста, чтобы узнать внутреннюю кухню и потом уже на что-то рассчитывать (у них и в настоящее время открыты вакансии, которые мне озвучили). Выказал свои ожидания…
    В итоге сообщили, что через пару дней пригласят на повторное собеседование на котором конкретно договоримся по работе/деньгам…
    Через несколько дней письмо от HR менеджера компании — отказ — что-то вроде " вы нам не подходите".
    Хм, думаю, что… вообще? Попросил пояснить причину — уже 2 месяца тишина…
    Вот, думаю, это нормальное поведение для приличных компаний?


    1. zxweed
      08.11.2016 15:01
      +1

      Часто бывает, что человека все прособеседовали, все одобрили (включая руководство), а потом девочка-HR решает вдруг, что кандидат «запросил слишком мало денег, значит — быстро сбежит» и отказывает.


      1. Loriowar
        08.11.2016 15:10
        +3

        Это личные домыслы или реальные случаи были? Просто очень интересно почему hr самостоятельно принимает такое решение, а не коллегиально вместе с руководством и прочими заинтересованными сотрудниками?


        1. Skerrigan
          09.11.2016 14:19

          У меня примерно так в университете дело было. Всех устроил, но я был в шоке, когда вместе с моим «будущим» директором стояли в отделе кадров, а меня «завалили», т.к. ВУЗу не пристало брать на работу человека без диплома и с гражданством другой страны. И им было абсолютно накласть на то, что работы «от забора и до заката», а я уже почти пол-года отработал без трудоустройства. Вот как-то так.
          P.S. несостоявшийся начальник был поражен больше меня, особенно, когда ничего с этим поделать не смог.


          1. saboteur_kiev
            09.11.2016 14:59

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

            В вашем случае это просто дичайшее исключение какое-то.


        1. zxweed
          09.11.2016 20:23

          Вполне реальный случай, лично наблюдал. Хорошего специалиста завернули…


      1. kxl
        08.11.2016 16:18

        Да, я видел несколько записей в Сети на эту тему… Но, думаю, уместно ли будет поинтересоваться у Директора регионального центра (визитку дал после собеседования) о причинах? Да и два месяца прошло…


      1. Lamaster
        08.11.2016 16:57

        У меня был случай, что в самом конце собеседования HR спросила: «Хотели бы вы снова работать в предыдущей компании?».
        Ну и что тут отвечать?
        Хотел бы — а зачем ушли?
        Не хотел бы — вы конфликтный человек?
        Хм, а может это такой контрольный вопрос, чтобы избавиться от кандидата, по неизвестным причинам.


        1. Loriowar
          08.11.2016 17:00

          А может от вас хотели услышать рассказ о собственном росте в виде осознания проблем на прошлом месте, либо описание причин почему вы ушли оттуда и что нужно изменить, чтобы вы захотели там снова работать и ещё много различных "может"...


        1. AlexLysenko
          16.02.2017 13:59
          +2

          Я не считаю мини-QWERTY на которой нельзя печатать десятью пальцам нормальной клавиатурой, это некоторый исторически сложившийся компромисс, слишком далёкий от оптимального устройства ввода. Единственное оправдание использования раскладки QWERTY в карманных устройствах на сегодняшний день — знакомство этой раскладки тем, кто работал на нормальной настольной клавиатуре.
          Но время идёт, и всё чаще получается что QWERTY раскладка становится знакома детям именно потому, что в таком порядке отчего-то расставлены буквы на экране их смартфонов. Может с точки зрения усредненного сегодняшнего пользователя это и нормально, но душа инженера бунтует и требует высшей инженерной справедливости, пусть и путём переучивания всей планеты :)

          Про тонкость — мы до 4мм добавочной толщины дошли, вроде неплохо. Но если совсем тонкость в приоритете — то это про экранные клавиатуры всё же. Любая физическая неизбежно добавит.


          1. BelBES
            16.02.2017 21:26
            +1

            Расширять можно любой вид клавиатур.

            Зачем делать костыли, когда можно с нуля продумать?


            На qwerty вполне можно будет набирать хоткеи с 2 кнопками, 3 конечно будет сложно, но опять же часть кнопок еще и сзади продублировать и все ок.

            На мобильной QWERTY набирать текст можно от силы двумя большими пальцами, никакими хоткеями, отличными от Ctrl-C/Ctrl-V там особо не попользуешься… может быть модальный режим аля Vim там и будет юзабелен, но не Emacs-style...


            1. Lamaster
              09.11.2016 10:20

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


    1. svr_91
      08.11.2016 20:04
      +2

      Это еще нормально. Бывает и похуже. Вот, например, у меня с Акронисом:
      Сначала было интервью по скайпу, потом личное (пришлось ехать из другого города). В результате мне позвонили и предложили оффер. Я взял время на то, чтобы подумать и пройти оставшиеся запланированные собеседования. Договорились, что я постараюсь побыстрее закончить собеседования и что они мне перезвонят через неделю. Через неделю не перезвонили. И чрез 2 тоже. Достучался я до них только через месяц, когда уже свернул все другие предложения, и узнал, что мой оффер отклонен.
      Получается, они обнадежили меня оффером, заставили завершить остальные собеседования, после чего целый месяц динамили, поленившись хотябы сообщить, что мою кандидатуру больше не рассматривают.


  1. AcidVenom
    08.11.2016 14:05

    Del


  1. Trostin
    08.11.2016 15:10
    +1

    Я обычно всегда рассматриваю вакансии, которые мне предлагают.
    Только мне не нравится, когда мне не могут озвучить мой оклад при работе у них.
    Когда HR-ам задаешь вопрос про оклад, они отмалчиваются. А потом при личной встрече называют смешные суммы.


    1. Loriowar
      08.11.2016 15:13
      +1

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


  1. Daemonic
    08.11.2016 15:14

    По личному мнению, оптимальное количество собеседующих — двое. Первый — непосредственный руководитель, второй — hr.

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

    Так сколько руководителей-то надо в итоге?


    1. Loriowar
      08.11.2016 15:17

      Обычно же собеседования идут в несколько этапов. Я как раз их имел в виду. На технической части собеседования (обычно это первые этапы) достаточно пригласить непосредственного руководителя. Хотя, чаще всего, он и проводит собеседование. На финальной части, когда технические вопросы выяснили и все всеми довольны, хорошо бы привлечь руководителя на одну ступень выше.


  1. klim76
    08.11.2016 16:26

    Однажды откликался на вакансию админа на HH — мне без всяких слов в ответку просто скинули анкету на 5 страниц, из них треть вопросов — переписывание резюме, треть вопросов из разряда «что такое TCP/IP» и треть какой то непонятно «философской воды» аля «у главбуха и гендира сломались компьютеры — кого спасать раньше?». В итоге на 2м вопросе — психанул и заполнил в стиле «бывшее место работы — красная площадь д1, охранник Ильича» =) Ответа я тогда так и не получил…


  1. tvictor
    08.11.2016 16:29

    Для SQL, у меня, например, есть задача, которая проверяет большинство основных принципов языка при помощи одной таблицы с одной колонкой. Людям нравится, особенно когда объяснишь назначение задачи.

    Можете озвучить задачу и её назначение?


    1. Loriowar
      08.11.2016 16:39

      Озвучил в личку. Назначение простое: быстро понять на сколько соискатель знает SQL (умеет "думать на нём" и умеет его применять).


      1. Armleo
        08.11.2016 17:07

        Можно мне тоже? Интересно посмотреть :)


      1. klim76
        08.11.2016 17:08

        и мне, тоже пожалуйста.


      1. cheshirrrr
        08.11.2016 17:26

        И мне, пожалуйста, если не сложно


      1. ibnteo
        16.02.2017 14:04
        +1

        Есть куча экранных клавиатур с нестандартными раскладками (я сейчас пользуюсь MessagEase Keyboard), многие в состоянии обучиться ради удобства.


      1. MINYSMOAL
        08.11.2016 20:16

        ну и мне :)


      1. FullBoa
        08.11.2016 20:16

        Пожалуйста, мне тоже, если не сложно. Стало очень интересно.


      1. GrinyaLovesYou
        08.11.2016 20:42

        И мне, если вас не затруднит. Заранее спасибо!


        1. webkumo
          08.11.2016 21:47
          +2

          Loriowar Вот реально: проще было бы текст опубликовать… ведь не все желающие здесь отметились — и в личке ведь наверняка куча любопытных?..

          PS но повторю за остальными — мне также любопытно.
          PPS ошибся комментом :(


          1. Loriowar
            08.11.2016 21:58
            +1

            Всё-таки пока посчитаю сколько заинтересованных. Если поток не иссякнет — опубликую ))


            1. kxl
              09.11.2016 11:45

              +1, нет. пожалуй +7… всему отделу интересно


      1. vintage
        08.11.2016 22:02
        +2

        Выкладывайте уж в открытую :-) Хорошая задача так и так по рукам рразойдётся.


      1. kuznetsovin
        08.11.2016 22:47

        И мне, тоже вышлите, пожалуйста


      1. fireSparrow
        08.11.2016 23:18

        И мне :)


      1. Singerofthefall
        09.11.2016 13:34

        Я немного припозднился, но мне тоже было бы интересно посмотреть.


      1. murminathor
        09.11.2016 14:23

        и мне, пожалуйста


      1. Orygeunik
        09.11.2016 15:18

        Если не затруднит, и мне :)


    1. grigorym
      14.11.2016 19:45
      +1

      Я часто на экзамене прошу написать запрос, находящий всех авторов, которые все свои книги написали в соавторстве. В единственной таблице два столбца: (автор, книга).


      1. vintage
        14.11.2016 20:09

        select distinct author from ( select book from author_book group by book having count( author ) > 1 )

        Правильный ответ?


        Хотя на графе запрос по проще будет:


        select distinct( author ) from books where authors.length > 1


        1. grigorym
          14.11.2016 20:16

          нет :)


          1. vintage
            14.11.2016 20:46

            А что не так?


            1. grigorym
              15.11.2016 05:17

              ну попробуйте сами:
              create table author_book (author varchar(100), book varchar(100));
              select distinct author from ( select book from author_book group by book having count( author ) > 1 );


              1. vintage
                15.11.2016 07:44
                +1

                Да мне лень сервер поднимать :-) Но да, в списке книг же нет авторов..


                select distinct author from author_book where book in ( select book from author_book group by book having count( author ) > 1 )


  1. Armleo
    08.11.2016 17:22

    Из моего опыта:
    9 Лет опыта в Angular.js в требованиях
    2 года опыта в Angular.js 2 в требованиях.


    Так же очень низкие зарплаты для фулл стека (под 20 вакансий) порядка 8кРублей


    На том же сайте junior angular/node.js/php за 15 килорублей без опыта.


    Во время собеседования:
    Почему мы должны взять вас? На собеседовании на фулл стек 12кРублей.
    Ответ: Я единственный кто пришел на собеседование. Потом взял и вышел. Позвонили и получили отказ.


    "Чем отличается класс от структуры?" из собеседования к Node.js.
    "Как объявить глобальную переменную в Node.js?" Ответил через global. Отказали сказав что через windowS (Именно с С в конце)
    И многие глупые вопросы.


    1. dmitry_dvm
      09.11.2016 11:29

      >«Чем отличается класс от структуры?»
      У меня пару раз были собеседования где про С# собеседовали с++ники, не имеющие понятия про сборку мусора и освобождение памяти в шарпе. Для себя решил, что в следующий раз так и скажу — давайте меня будет собеседовать специалист по требуемой технологии, а не черти-кто. Лучше пойду на конфликт, чем буду тратить свое время.


  1. thepry
    08.11.2016 20:02
    +3

    «Сколько будет 2^8?»

    Этот вопрос проверяет навыки возведения в степень в уме, или кандидат должен помнить таблицу степеней двойки?


    1. Loriowar
      08.11.2016 20:14

      Вот даже не знаю что он должен проверять. Но у меня сразу же начинается подозрительное отношение к программисту, который за 2-3сек не может выдать ответ. Скорее всего это обусловлено тем, что при наличии хоть какого-то технического образования и/или после прочтения хотя бы пары книжек по алгоритмам, теории программирования, архитектуре ЭВМ и им подобным, степени двойки запоминаются сами собой.


      Помню случай в институте был. Пара какая-то была, кажись по общей алгебре. Что за задание было уж не помню, но суть в том, что нужно было степени чисел записывать и что-то делать на их основе. Вся группа хором диктовала степени двойки до 2^15… а потом то же самое попросили для тройки: все дружно поплыли после 3^4, а преподаватель бодро продиктовал до той же 10 или 15 степени. Так что это, можно так сказать, отличительная черта IT-шника, приобретаемая автоматически.


      1. thepry
        08.11.2016 22:01

        степени двойки запоминаются сами собой.

        У меня они не запомнились. Увидев этот вопрос я стал в уме высчитывать степень двойки, примерно так: 2^3 = 8, значит 2^4 = 16, и 16 * 16 = 256


        1. Arty_Fact
          09.11.2016 11:16
          +2

          А я просто пару раз разделил 2^10 на два.


      1. Fedcomp
        08.11.2016 22:52
        +1

        Как то вы больно возвели ваш личный опыт в абсолют. Не все айтишники прошли ВУЗ.


        1. Loriowar
          08.11.2016 23:07

          Но большинство читало книги, связанные с их профессиональной деятельность. Вуз — необязательный атрибут и не только из него такое знание может получить. У меня, например, из сравнительно недавно изученного: What every programmer should know about memory и русский вариант. Степени повсюду. Если вдумчиво читать, то запомнятся сами собой… нет от них спасения и в голове они жить будут всю профессиональную жизнь.


          1. Fedcomp
            09.11.2016 10:50

            Вы опять путаете веб разработчика который должен сделать быстро, и системного разработчика который обязан знать это если кодит на языке с явным слежением за памятью, или просто при необходимости высокой эффективности. Т.е вы возвели свой опыт в абсолют считая что это путь абсолютно любого программиста. На мой взгляд вы заблуждаетесь. Степерь двойки разве что у системного программиста будет сидеть с высокой вероятностью, т.к он как раз такую литературу и читает.


            1. Loriowar
              09.11.2016 11:04

              Не путаю. Но и не утверждаю, что это путь всех программистов. Это только моё мнение, "я так вижу" и так живу. И да, пишу на Ruby/RoR довольно давно и не являюсь "системным разработчиком" по вашей классификации.


          1. vintage
            09.11.2016 11:02

            Это выступление — хороший пример:


            1. Как делать не надо.
            2. Как под использование какой-нибудь фичи за уши притягиваются примеры.
            3. Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
            4. Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.


            1. vintage
              09.11.2016 13:30

              Похоже я промахнулся веткой. Это ответ на этот комментарий: https://habrahabr.ru/post/314654/#comment_9900130


    1. GrinyaLovesYou
      08.11.2016 20:41

      Очень простая и быстрая проверка на то, способен ли соискатель хоть немного соображать в технических вопросах. Или, перефразируя, не ошиблись ли HR. Плюс разогревает соображалку соискателя для следующих вопросов.
      Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024; отталкиваясь от этого факта и зная как вообще работает возведение в степень, разделим 1024 на 2 и еще раз на 2 :)

      Писать код на листочке перестал просить с момента как менеджер сообщил после интервью, что «если после исправления ошибок компиляции заработает — то возьмём» и, что ожидаемо, нормального программиста не взяли.


      1. thepry
        08.11.2016 22:02

        Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024

        Ну тогда надо вспомнить, что 2^10 примерно равно 10^3, что равносильно "помнить степени двойки"


      1. ad1Dima
        14.11.2016 10:03

        А мне вот код на листочке писать проще, чем возводить 2ку в степень. Я безнадёжен?


    1. kozzztik
      08.11.2016 20:50
      -2

      Вообще два в восьмой довольно важное число, ибо это ограничение на однобайтовое беззнаковое целое. В седьмой степени — знаковое. У опытного разработчика должно отскакивать от зубов не задумываясь. Если речь конечно не о фронтенде )


      1. Loriowar
        08.11.2016 21:02

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


        1. kozzztik
          08.11.2016 21:20

          Просто особой нужды во фронтенде в этом числе нет. Вполне можно быть нормальным фронтенд разработчиком и не сталкиваться с этим. А работать на бекенде и не знать — это кое-что о человеке определенно говорит. Я просто больше по бекендам, по этому мысль о фронтеде пошла в конце )


          1. thepry
            08.11.2016 22:07
            +3

            А можете описать случай, когда бэкендеру нужно это помнить?


            1. kozzztik
              09.11.2016 12:52
              +4

              Из очевидного, хотя бы IP адреса, это вообще любой айтишник должен знать. Это четыре тех самых беззнаковых целых через точку, если говорить о v4. 255.255.255.255 это любой эникей знает, не то что разработчик. 256 символов в расширенной ASCII кодировке, 256 вариантов кодирования составляющих цвета в RGB, а уж как только вы что-то хотите бинарно закодировать будете спотыкаться об это сплошь и рядом. Два в восьмой это как количество пальцев на руке, вы знаете что их пять, а не пересчитываете каждый раз. Это же чертов байт, основа основ. Понятно, что такую штуку как «слово» или «двойное слово» никто нынче особо не помнит, но байты они везде.


              1. saboteur_kiev
                09.11.2016 15:02

                Что уж говорить про маску, где было бы неплохо понимать почему может быть 254 и 252, 248, но не 253 или 245.


          1. RPG18
            09.11.2016 00:33

            Степени двойки обычно используются в битовых картах/масках и т.д. Пример использование во фронтенде: Классические приёмы программирования во фронтенде — Игорь Алексеенко


            1. vintage
              09.11.2016 13:30

              Это выступление — хороший пример:


              1. Как делать не надо.
              2. Как под использование какой-нибудь фичи за уши притягиваются примеры.
              3. Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
              4. Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.


      1. thepry
        08.11.2016 22:05

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

        Если человек пишет на языке высокого уровня, то какое ему дело до того, сколько там чисел можно одним байтом записать? Он может что в целом это равно двойке в степени n, где n — кол-во битов. Но зачем ему помнить, что 2^8 = 256, а не 512?


        1. Loriowar
          08.11.2016 22:19
          +2

          Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи. Если вы пишете на чём-то высокоуровневом и считаете себя хорошим программистом, то обязаны знать нижележащий слой: как он выглядит, как работает, какие особенности. А то с таким подходом уж столько безобразия натворили люди. То кто-то не в курсе про GIL и свято верит в "натуральность" многопоточности, то бездарно берёт bigdecimal и прочие надстройки для длинных чисел и хранят там значения от 1 до 100, а потом удивляется: "чего это всё тормозит и памяти много куда-то уходит?!".


          В программировании фундаментальные знания — это теория плюс низкоуровневая реализация. Без этого из джуниора не вырасти никогда. Если вы отрицаете это и считаете что уровень языка освобождает от необходимости знать как там всё устроено, то я вам сочувствую.


          1. thepry
            08.11.2016 22:42
            +1

            > Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи.

            Так знание основополагающих вещей — это помнить степени двойки? Программист, который будет думать, что 2^8 = 512 хуже? Я не понимаю как знание конкретного числа коррелирует с остальными вещами.

            > В программировании фундаментальные знания

            Фундаментальные знания — это не знание цифр, а понимание как все работает.

            > Если вы отрицаете это и считаете что уровень языка освобождает от необходимости знать как там всё устроено

            Я нигде этого не отрицал, я лишь усомнился в том, что необходимо помнить степени двойки :)


            1. michael_vostrikov
              09.11.2016 06:29

              Программист, который будет думать, что 2^8 = 512 хуже?

              А программист, который будет думать, что 2*2 = 5? Или что pi в военное время равно 4? Правильно, зачем нам математика, компьютер сам посчитает.

              Фундаментальные знания — это не знание цифр, а понимание как все работает.

              Вычисление 2^8 связано со свойствами двоичной системы. Двоичная система — это фундаментальные знания для программиста. Так же как знание десятичной для всех остальных специальностей, связанных с расчетами. Возьмете на работу бухгалтера, который не может посчитать, сколько будет 10^8?

              я лишь усомнился в том, что необходимо помнить степени двойки

              Мне кажется, в том и дело, что это не обязательные знания, которые требуются каждый день. Но если человек «в теме», это запоминается — из статей, книг, или примеров при изучении программирования. Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.


              1. thepry
                09.11.2016 12:48
                -1

                > А программист, который будет думать, что 2*2 = 5? Или что pi в военное время равно 4?

                Этот человек очевидно не знает как умножать. Это заставит задуматься. А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.

                > Вычисление 2^8 связано со свойствами двоичной системы. Двоичная система — это фундаментальные знания для программиста.

                Как и 2^16, 2^24, 2^32, 2^64, 2^128… Вы помните чему равны степени двойки? В какой момент какая конкретно степень двойки становится «обязательной» для знания хорошим программистом?

                > Мне кажется, в том и дело, что это не обязательные знания, которые требуются каждый день.

                Да, именно поэтому они и забываются. Я вот после этого спора запомнил 2^8 и 2^10, но, возможно, через год уже не вспомню и придется в уме считать.

                > Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.

                Может ли быть так, что требуя от человека знания чему равно 2^8, вы отсеете много таких людей, кто в силу каких-то обстоятельств это не запомнил, но во всем остальном является хорошим разработчиком?
                Требовать помнить значение степени двойки — это как требовать помнить наизусть какой-нибудь метод из библиотеки языка, который еще и не используется никогда.


                1. michael_vostrikov
                  09.11.2016 14:31
                  +1

                  А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.

                  Ну, удачи вам с бухгалтером.

                  В какой момент какая конкретно степень двойки становится «обязательной» для знания хорошим программистом?

                  В тот момент, когда число бит в общепринятом байте меняется, степень двойки равна этому числу. Сейчас везде применяются 8-битные байты. Здесь вам правильно написали. Это же к вопросу «который еще и не используется никогда».

                  но во всем остальном является хорошим разработчиком?

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

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


                  1. thepry
                    09.11.2016 17:08

                    > Мне сложно представить хорошего разработчика, который не знает, что такое байт и сколько в нем возможных значений.

                    Мы обсуждаем, случай, когда разработчик знает, что в байте 8 бит и 2^8 значений, но не помнит чему равно 2^8. Именно об этом весь этот тред.


                    1. michael_vostrikov
                      09.11.2016 17:49

                      Ок, перефразирую. Мне сложно представить хорошего разработчика, который не знает, что в байте 8 бит и 256 возможных значений. И что у него за все время от джуниора до хорошего разработчика не появилось ассоциации «байт — 2^8 — 256».
                      2^18 я тоже сходу не назову, но не знать 2^8 выглядит странно.


                      1. thepry
                        09.11.2016 18:26

                        Но не кажется ли вам, что это может быть ошибкой выжившего? Просто вы по каким-то причинам запомнили это число, а другие — нет?

                        Я, например, в своей карьере чаще сталкивался с ограничениями 4 байтовых чисел (поскольку они реально используются в языках и СУБД, которые я использую), чем с 1-байтовыми.


                        1. michael_vostrikov
                          09.11.2016 20:34

                          Не кажется, я уже говорил почему. Оно встречается практически во всех областях программирования. Я запомнил это число не по каким-то непонятным причинам, а потому что занимаюсь программированием и часто его встречаю в разных источниках. Чаще, чем например 2^7 и 2^9.

                          В любом случае, это не единственный критерий, и к тому же можно просто посчитать в уме. Уж это-то хороший разработчик должен уметь)


                        1. webkumo
                          09.11.2016 21:55

                          Ну так вы поди запомнили, что 2^32 это ~ 4 с гаком миллиарда?


          1. Fedcomp
            08.11.2016 23:01
            +1

            Вы как то резко перевели разговор со степеней двойки на GIL. Я могу знать сколько влезает в одну ячейку памяти но не знать какая это степень двойки. Для веб разработчика это далеко не всегда существенно, это у системных программистов надо такие вещи спрашивать.


            1. kozzztik
              09.11.2016 13:02
              +1

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


            1. VolCh
              11.11.2016 07:07

              То есть вы не знаете чем обусловлено то, сколько «влезает» в одну ячейку памяти?


          1. kozzztik
            09.11.2016 13:05
            -1

            Многопоточность и GIL это еще ладно, заблуждение от банального незнания. Но сколько народу считает GIL проблемой, а не фичей!


            1. vintage
              09.11.2016 13:33
              +2

              Может потому, что для многих эта фича является источником проблем?


              1. kozzztik
                09.11.2016 13:59
                -1

                Как раз устойчивое заблуждение, что GIL является источником проблем и есть самое интересное. Даже последний доклад на PyCon о том что получается, если GIL выпилить не всех наводит на мысли.


                1. vintage
                  09.11.2016 14:16
                  +1

                  А что там получается, если выпилить GIL? Другие языки как-то живут без него и ничего, справляются.


                  1. kozzztik
                    09.11.2016 14:56
                    -1

                    Падение производительности от 2 до 25 раз при многопоточной работе. Если интересно, посмотрите оригинальный доклад, там много занятных технических деталей. В других языках все несколько по другому, GIL по сути одна из «фишек» питона, по этому довольно странно когда этот лок называют источником проблем.


                    1. vintage
                      09.11.2016 17:18
                      +1

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


        1. kozzztik
          09.11.2016 13:00

          Питон для вас достаточно высокоуровневый? Вот вам кусок документации стандартной библиотеки из
          https://docs.python.org/2/library/struct.html
          Тут указано, что вы можете закодировать один байт знаковый или беззнаковый. Нигде не указано, что при этом вы можете закодировать число до 127 или 255 включительно (хотя иногда в таких случаях указывают), потому что подразумевается, что для любого разработчика это очевидно как божий день.
          Я уж молчу о C++, который вообще говоря высокоуровневый и char там никто не отменял.


          1. vintage
            09.11.2016 13:34

            С++ всё же универсальный язык, который имеет как высокоуровневые идиомы, так и низкоуровневые.


    1. ArXen42
      08.11.2016 23:35
      +2

      Почему-то подумал, что вопрос с подвохом, и нужно спросить, не XOR ли имеется ввиду.


  1. zjoin
    08.11.2016 20:15

    Я иногда хожу на позицию js разработчика и это мне часто помогает подтянуть знания.

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


    1. Loriowar
      08.11.2016 20:15

      Если вы не поняли зачем, то, скорее всего, у вас и работодателя разные взгляды на мир и вы вряд ли сработаетесь :)


    1. vintage
      08.11.2016 22:11
      +1

      Очевидно же — вам предстояло бы работать с тем ещё ребусом из легаси кода :-)


  1. Matvey-Kuk
    08.11.2016 20:54
    +2

    Когда искал разработчиков, придерживался принципа "всем писать реальную причину отказа". Проверял тестовые задания, писал список огрехов и присылал тем, кто не подходит. Это же очень круто когда тебе аргументированно указывают на твои ошибки.


    В ответ 90% людей писали оскорбленные злые письма в стиле "Дурачек что ли? А что ты хотел от тестового задания? Я же делал его кое как. Это же тестовое задание. Но в реальности то я делаю гораздо круче.".


    Через 2 недели выгребания помоев и личных оскорблений из почты, перед тем как отправить фидбек, задумываешься: "А может просто написать ему формальную отписку и все?".


    1. Loriowar
      08.11.2016 21:10

      Не повезло как-то вам с соискателями… а может вы слишком критично изъяснялись?


      Я, обычно, в тестовом задании пишут как тут должно было быть (и, иногда, сколько нужно на это времени), если бы это нужно было для продакшена (или если за это достаточно заплатят). В итоге, получается эдакая демо-версия. С одной стороны имеем умеренные трудозатраты в рамках тестового неоплачиваемого задания, а с другой стороны видно, что не только "накаленочные" решения подразумеваются и человек понимает ограничения и пути улучшения архитектуры.


      1. Matvey-Kuk
        09.11.2016 00:16

        Да, достаточно критично, но уважительно. Адекватные люди в итоге нашлись и команда собралась =) Кстати, когда люди пишут объяснения к решению — это огромный плюс даже если решение с косяками.


  1. kloppspb
    08.11.2016 21:48
    +1

    Весело бывает когда первое собеседование проходит не с представителями компании, а с каким-нибудь агенством.

    Года три назад наткнулся на вакансию, которая показалась интересной. Состыковались, на первый взгляд друг другу понравились. Но в конечном итоге некто «сверху» наложил вето в виде категорического отказа в полной или даже частичной удалёнке. Ну, нет так нет, никаких претензий.

    Потом вакансия на какое-то время пропала из поля зрения. Подумал что нашли человека и забыл. Но где-то через полгода она снова стала регулярно попадаться в выборках и рассылках. Уже никак не реагирую, помня, чем всё закончилось. Но отмечаю в уме, что на такое место толп кандидатов в принципе на бывает, и вакансия всё висит. Год висит, второй висит…

    И на третий год уже, по резюме на hh и круге, на меня стали выходить агенства. С первых же слов становилось понятно, что речь идёт о том же самом, даже без упоминания компании в принципе. Поначалу объяснял что раскусил, что уже разговаривал с заказчиком и почему не срослось. Но они, все как один, предлагали всё-таки пройти минимальный техопрос (ну, там, с чем работал, умеешь ли a, b и c, и т.д.) Под предлогом «если всё хорошо, мы попробуем уговорить работодателя пойти навстречу». Всё было хорошо, но ничем ни разу не закончилось :)

    И когда с тем же предложением появилось то ли шестое, то ли седьмое агенство, спросил в лоб: раз они такие все из себя, то почему уже три года не могут закрыть всего лишь одну вакансию? Что-то здесь не так :) Либо не очень нужно, либо текучка (почему?), либо реальные требования не соответствуют заявленным, либо что-то ещё.

    От ответа (который был оттарабанен как по бумажке, как будто заранее готовились) упал и задрыгал ножками :) Оказывается, компания развивается огромными шагами, штат расширяется бешеными темпами, и именно таких специалистов им нужно чуть ли не десятками. Для понимания абсурдности этого могу сказать, что сейчас работаю в компании, где IT-штат несколько сотен человек, но «таких» специалистов трое.

    В общем, если и были мысли про ещё один заход на ту же вакансию, то после подобных историй интерес был убит насмерть. Даже если работа сама по себе может и мечта, но с таким подходом…


    1. kozzztik
      08.11.2016 21:59

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


      1. Loriowar
        08.11.2016 22:09

        Чаще всего, по куску вакансии гуглится без серьёзных проблем. Но способы "конспирации" агенств порой умиляют. Хотя их можно понять, получить 10-30% от годового оклада найденного кандидата — это немало, в то же время сообщить человеку о хорошей вакансии и не получить за это ничего — обидно.


    1. Loriowar
      08.11.2016 22:02

      Вы прямо заинтриговали! Что же это за специалист такой? Как должность называется, если не секрет?


      1. kloppspb
        08.11.2016 22:11

        Да ничего особенного. Просто тонны legacy перла, существующие по принципу «работает — не трогай». А трогать ой как надо :)


        1. Loriowar
          08.11.2016 22:23

          В общем-то, так выглядит большинство долгоживущих энтерпрайзов с "богатым наследием" ))


  1. Diaver
    08.11.2016 22:40

    Мой случай: на собеседовании в крупной компании мне дали вот такую задачу:

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

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


  1. saboteur_kiev
    09.11.2016 03:23
    +1

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

    Первые же вопросы — с трудом дотягивают до теста джуниора.

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

    Для сеньоров задавать вопросы типа сколько будет 2^8 степени?…
    Проще сразу взять реальные задачи из проекта, возможно даже прошлые уже решенные проблемы и попросить предложить гипотетическое решение, а главное обосновать.


    1. Loriowar
      09.11.2016 09:24

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


    1. kozzztik
      09.11.2016 13:07

      Дискуссия выше о том, надо ли разработчику знать сколько будет 2^8 говорит о том, что вопрос не такой и тривиальный )


      1. saboteur_kiev
        09.11.2016 15:07

        Да, но там скорее не про 2^8 а вообще понимание откуда и зачем надо уметь работать с базовой размерностью в байт.
        Я вот совершенно согласен, что если программист редко навскидку скажет что такое ^8 или ^12, то просто знать вплоть до 65536 и уметь быстро просчитать 8 или 12 степеней в уме должен любой джун.


  1. ServPonomarev
    09.11.2016 07:42
    +1

    Здесь в комментариях очень много слов по поводу мотивированного отказа.

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

    Конечно, такая фишка в основном действует для высокооплачиваемых топ позиций, но кадровики правильно делают, что перестраховываются.


    1. Loriowar
      09.11.2016 09:13
      +1

      Так вот откуда ноги растут....


    1. kloppspb
      09.11.2016 10:32

      Что-то слабо представляю себе программиста (или даже IT-шника в целом), который бы таким заморочился.


      1. Loriowar
        09.11.2016 11:08

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


        1. kloppspb
          09.11.2016 14:07

          Насколько я понимаю, для суда нужны формальные обоснования отказа, а не «мамой клянусь» с обеих сторон. Если нет подписанного всеми сторонами протокола допроса :), который включает и вопросы, и ответы, то о чём вообще можно говорить?


    1. GrinyaLovesYou
      09.11.2016 13:04

      Интересно, как так сложилось, что в суде некому применить закон используя формальную логику?
      Ведь раз есть требование, что мотивировка отказа должна быть быть НЕ слабой, то, когда нет отказа, требование не выполнено. Когда нет мотивировки в отказе — требование не выполнено.

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


      1. Antelle
        09.11.2016 14:19

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


        1. Aingis
          09.11.2016 16:42
          +1

          Вообще-то обязывает. ТК РФ, Статья 64. Гарантии при заключении трудового договора

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


          1. Antelle
            09.11.2016 16:49

            О чём я и говорил, по письменному требованию, то есть, когда попросят, а не каждому по просьбе или просто так. "Письменному" с точки зрения закона означает в бумажной форме. Когда попросят письменно, отказ будет, с нормальной причиной.


            1. Aingis
              09.11.2016 18:01

              Письменно — это крайний случай, когда при отсутствии ответа как минимум летит жалоба в Трудовую инспекцию. Ничто не мешает спросить устно, и если HR не совсем неадекватный, то ответят.


        1. GrinyaLovesYou
          09.11.2016 17:27

          Некоторые отказ не присылают, обещая на словах «скоро сообщить» и пропадают. А дальше либо ишак сдохнет, либо шах сдохнет, либо соискатель решит «проехали, хватит ждать, даже если эти позовут, всё равно не пойду». Отказа же нет, ни в устной форме ни в письменной?

          Обидно, что у таких фидбэк от тех спецов далее hr не уходит.


    1. kozzztik
      09.11.2016 13:11

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


      1. kozzztik
        09.11.2016 13:12

        Да, и в любом случае максимум что будет — штраф и моральная компенсация. Что бы обязать нанять человека, суду придется сначала уволить того, который был нанят, а на это ни у кого прав нет.