Зачем всё это? Хочу перечислить основные косяки обоих сторон, вовлечённых в процесс трудоустройства в виде назиданий и советов не претендующих на истинность, а являющихся личным мнением автора. Все пункты опробованы на себе, то есть в большинство из них так или иначе вляпался по собственной дурости, либо по милости противоположной стороны. Плюс к этому, некоторые ситуации проходил с двух сторон: и как соискатель и как наниматель. Посему, есть с чем сравнить. Так же, некоторые пункты могут показаться читателю очевидными и «капитанскими», но, увы, многие до сих пор не не знают о них и делают с точностью до наоборот. Как говорится: «то, что очевидно для вас, не очевидно для других».
В общем, если интересен чужой опыт и грабли — прошу под кат.
По ходу повествования упоминаются реально существующие компаний и личные наблюдения и ощущения от взаимодействия с ними. Я не имею никакого прямого отношения ни к одной из них и не имею целью рекламировать кого-либо.
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)
Antelle
08.11.2016 10:59+3написание кода в риалтайме в редакторе так вообще издевательство
Почему? По-моему, решить простую задачку на 10 минут может каждый, зато будет показательно, что напишет и будет о чём поговорить и проверить ответы на вопросы на практике. Решение же не должно получиться 100% рабочим.
ps. обеих сторонLoriowar
08.11.2016 11:07+10Сильно от человека зависит. Кто-то на публике выступать может спокойно, а кто-то накосячит трижды в элементарном задании в риалтайме когда над душой неизвестный дядя стоит, но в более спокойной обстановке сделает всё как надо. Если уж давать риалтайм, то что-то очень простое на проверку базовых навыков и вслед за этим что-нибудь посложнее на 30-60мин для оффлайн решения. Тогда будет полноценная картина: навыки программирования плюс приспособленность к психологическим нагрузкам. Так в Microsoft было у меня.
Antelle
08.11.2016 11:12Ну да, я совсем простое и имел в виду, чтобы базовые навыки проверить. Задачки на понимание тех же событий в js, намного сложнее это теоретически по скайпу объяснять чем пару строк написать. Про психологические нагрузки, так и в вопросах тоже надо быть приспособленным, с тем отличием, что на вопросы человеку не приходится каждый день отвечать.
boldyrev_gene
08.11.2016 11:39Как по мне куда сложнее решить конкретную задачу, чем отвечать на какие-то общие вопросы. При том, общаюсь я каждый день, а вот пишу код, где каждый символ тут же проверяют куда реже, приблизительно никогда…
RPG18
08.11.2016 11:21Я не очень понимаю людей, которые из списка тестовых заданий рекомендуют выполнять что-то подобное:
Представьте что вам нужно сделать микросервис, который проводит сделки пользователей из трех различных регионов. У каждого пользователя есть некий баланс средств и он не может совершать сделки на отрицательном балансе. Для простоты сделка полностью проводится внутри микросервиса. Каждый пользователь прикреплен к ближайшему к нему датацентру и к одному из датацентров в качестве резервного. Необходимо сделать микросервис прототип, который позволит продолжить торговлю без остановок в случает падения одного из датацентров. Необходимо продумать все стресс сценарии когда могут возникнуть проблемы с расхождениями баланса и придумать пути их решения. Также желательно продумать схему масштабирования на большее число датацентров и возрастающие объемы сделок.
vintage
08.11.2016 12:03+1Да ладно, довольно интересное задание. Другое дело, что потратив кучу времени на его выполнение ожидаешь, что на приём тоже потратят достаточно времени, чтобы разобраться почему применяются те или иные решения. И уж точно не хочется слушать реплики в духе "мы решили вам отказать, так как ваше решение не является законченным продуктом и вообще не работает" из-за того, что приёмщик не смог без ошибок скопипастить строку вызова из документации.
RPG18
08.11.2016 13:23Очень интересно такой сервис писать на C++. В том же бизнес центре Avito расположен, у них восстановление в ручную делается.
lookid
08.11.2016 11:27-12Потомучто ищут обычно не раба на галеру уровня ebanoe.it. Долларовый миллионер в 30 без регистрации и смс это дело такое. Темболее бывает, что нужно за вечер написать 1к строк, а бывает и за неделю 100 строк хватит. Никто не знает что будет через год. А на год брать человека не хочется. Тестовое задание? А вы программист или демагого? Код писать не умеете?
TimsTims
08.11.2016 11:50+14Вы сейчас что-то такое непонятное и безсвязное написали, как-будто вы не человек, а неудавшийся ИИ…
drobzik
08.11.2016 12:01+2не стесняйтесь задавать вопросы о причине отказа. В лучшем случае вы получите информацию для размышления и саморазвития, в худшем случае — не получите ничего и составите соответствующее мнение о компании
Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».
соискатели хоть и не получили приглашение на работу, но уходили абсолютно довольными
Аналогично, после первого собеседования (несмотря на то что оно было по телефону, без предварительной подготовки и довольно сумбурное), понял, где мое самое слабое место (как оказалось, это был английский), подучился, и в последущем все прошло как по маслу:)den_labs
08.11.2016 12:10Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».
Тоже такое бывало.
Причем даже в случае отказов бывало HR-ы могут написать, что-то «весёлое», а уж спрашивать о причинах можно только в исключительных случаях.
HellFosa
08.11.2016 13:46+2На системного админа к примеру >70% даже не читают вакансию толком. Просто рассылают резюме в стиле «вдруг проканает». К примеру в вакансии четко описаны необходимые навыки, к примеру «linux, nginx, haproxy, mysql, ansible, все на уровне не ниже „джедая“», а в процессе беседы выясняется что человек не понимает в этом ничего, от слова совсем, и линуксы видел только в кино, а сам пару раз переустанавливал винду, да 1с. Естественно в резюме у него 10 лет опыта в highload.
Из смешного запомнился кандидат, который спросил у нас зачем мы спрашиваем его про nginx, elk, linux.
-Ваши обязанности будут включать работу с web-серверами, вы текст вакансии изучали же?
-Я столько раз уже резюме своё рассылал, в каждой вакансии написано куча всего, все их читать что ли?AcidVenom
08.11.2016 14:06+3На системного админа к примеру >70% даже не читают вакансию толком.
>70% работодателей симулируют чтение резюме кандидатов.
4ebriking
08.11.2016 14:10+3Ну справедливости ради, часто вакансию админа пишут сами HR-ы/секретарши/бухи/начАХЗ и там написан совершеннейший бред. А по факту у людей есть парк, который должен работать, и разобраться, что он себя представляет и при этом ничего не уронить — и есть первое задание, причём срочно, ибо что-то уже лежит (потому и ищут), а парень, который за это раньше отвечал — заболел/запил/уволился/в_армии/истерит/оказался_полным_ничтожеством и т.п.
kozzztik
08.11.2016 20:46+2К слову говоря, когда искал работу ходил на собеседования регулярно. Бывало по несколько собеседований в день. Начиная к какого то момента реально уже перестаешь запоминать кому и что конкретно было нужно. Даже если перед выходом почитал. Да и смысл теряется — большинство компаний полный треш и откровенно говоря не стоят того, что бы что-то запоминать, но ясно это становится уже после визита. Был например случай, когда я пришел, а меня не стали собеседовать. Вы не изучили наш продукт? А мы вам забыли сказать это сделать? Идите домой, денек поизучайте и возвращайтесь. При этом noname контора, собеседование на senior+. Кандидатов прямо скажем дефицит.
С собеседованием большого количества кандидатов та же фигня. Если нет HRа, просмотрев пару сотен резюме в лучшем случае об отобранных кандидатах можно запомнить только какую то одну яркую деталь, и то, если она была.Loriowar
08.11.2016 21:00+1Какой-то дикий поток собеседований у вас. Честно не представляю больше одного хорошего интервью в день. Работу работать легче, чем так активно мозгом шевелить, как хотят на хороших собеседованиях.
kozzztik
08.11.2016 21:24Взялся за раз изучить рынок Питера и не хотел это растягивать. По большей части собеседование занимало не больше часа, и если взять выходной то вполне можно три места посетить за раз. Рекорд — около четырех часов. Час с HR и три на техническом.Туда в итоге и устроился, хоть и сильно не сразу.
kxl
08.11.2016 14:02+1В сентябре собеседовался в Норбит…
Нашли меня в LinkedIn, пригласили на собеседование: " Приглашаем к сотрудничеству программиста/ведущего программиста .NET, в будущем руководителя отдела разработки...".
Собеседовали сначала по скайпу (сотрудник вроде как в командировке), что было несколько непривычно, собеседника я не видел.
Задавали вопросы — я отвечал, вроде всё хорошо прошло. Поговорили о проектах… У меня есть свой «домашний проект» который приносит мне некоторую прибыль и не отнимает много времени…
Потом подошел еще один сотрудник, задал несколько вопросов, пообщались. Я не настаивал на какой-то конкретно вакансии, более того, я сказал, что несмотря на имеющийся у меня опыт готов начать с просто программиста, чтобы узнать внутреннюю кухню и потом уже на что-то рассчитывать (у них и в настоящее время открыты вакансии, которые мне озвучили). Выказал свои ожидания…
В итоге сообщили, что через пару дней пригласят на повторное собеседование на котором конкретно договоримся по работе/деньгам…
Через несколько дней письмо от HR менеджера компании — отказ — что-то вроде " вы нам не подходите".
Хм, думаю, что… вообще? Попросил пояснить причину — уже 2 месяца тишина…
Вот, думаю, это нормальное поведение для приличных компаний?zxweed
08.11.2016 15:01+1Часто бывает, что человека все прособеседовали, все одобрили (включая руководство), а потом девочка-HR решает вдруг, что кандидат «запросил слишком мало денег, значит — быстро сбежит» и отказывает.
Loriowar
08.11.2016 15:10+3Это личные домыслы или реальные случаи были? Просто очень интересно почему hr самостоятельно принимает такое решение, а не коллегиально вместе с руководством и прочими заинтересованными сотрудниками?
Skerrigan
09.11.2016 14:19У меня примерно так в университете дело было. Всех устроил, но я был в шоке, когда вместе с моим «будущим» директором стояли в отделе кадров, а меня «завалили», т.к. ВУЗу не пристало брать на работу человека без диплома и с гражданством другой страны. И им было абсолютно накласть на то, что работы «от забора и до заката», а я уже почти пол-года отработал без трудоустройства. Вот как-то так.
P.S. несостоявшийся начальник был поражен больше меня, особенно, когда ничего с этим поделать не смог.saboteur_kiev
09.11.2016 14:59В нормальной компании HR обслуживает деятельность, а не руководит ею, и если вы добрались до потенциального начальника, то HR уже выполняет роль исключительно организации желаний.
В вашем случае это просто дичайшее исключение какое-то.
kxl
08.11.2016 16:18Да, я видел несколько записей в Сети на эту тему… Но, думаю, уместно ли будет поинтересоваться у Директора регионального центра (визитку дал после собеседования) о причинах? Да и два месяца прошло…
Lamaster
08.11.2016 16:57У меня был случай, что в самом конце собеседования HR спросила: «Хотели бы вы снова работать в предыдущей компании?».
Ну и что тут отвечать?
Хотел бы — а зачем ушли?
Не хотел бы — вы конфликтный человек?
Хм, а может это такой контрольный вопрос, чтобы избавиться от кандидата, по неизвестным причинам.Loriowar
08.11.2016 17:00А может от вас хотели услышать рассказ о собственном росте в виде осознания проблем на прошлом месте, либо описание причин почему вы ушли оттуда и что нужно изменить, чтобы вы захотели там снова работать и ещё много различных "может"...
AlexLysenko
16.02.2017 13:59+2Я не считаю мини-QWERTY на которой нельзя печатать десятью пальцам нормальной клавиатурой, это некоторый исторически сложившийся компромисс, слишком далёкий от оптимального устройства ввода. Единственное оправдание использования раскладки QWERTY в карманных устройствах на сегодняшний день — знакомство этой раскладки тем, кто работал на нормальной настольной клавиатуре.
Но время идёт, и всё чаще получается что QWERTY раскладка становится знакома детям именно потому, что в таком порядке отчего-то расставлены буквы на экране их смартфонов. Может с точки зрения усредненного сегодняшнего пользователя это и нормально, но душа инженера бунтует и требует высшей инженерной справедливости, пусть и путём переучивания всей планеты :)
Про тонкость — мы до 4мм добавочной толщины дошли, вроде неплохо. Но если совсем тонкость в приоритете — то это про экранные клавиатуры всё же. Любая физическая неизбежно добавит.BelBES
16.02.2017 21:26+1Расширять можно любой вид клавиатур.
Зачем делать костыли, когда можно с нуля продумать?
На qwerty вполне можно будет набирать хоткеи с 2 кнопками, 3 конечно будет сложно, но опять же часть кнопок еще и сзади продублировать и все ок.
На мобильной QWERTY набирать текст можно от силы двумя большими пальцами, никакими хоткеями, отличными от Ctrl-C/Ctrl-V там особо не попользуешься… может быть модальный режим аля Vim там и будет юзабелен, но не Emacs-style...
Lamaster
09.11.2016 10:20Можно сказать, что руководство экономило на людских ресурсах и вы были не согласны с этим.
svr_91
08.11.2016 20:04+2Это еще нормально. Бывает и похуже. Вот, например, у меня с Акронисом:
Сначала было интервью по скайпу, потом личное (пришлось ехать из другого города). В результате мне позвонили и предложили оффер. Я взял время на то, чтобы подумать и пройти оставшиеся запланированные собеседования. Договорились, что я постараюсь побыстрее закончить собеседования и что они мне перезвонят через неделю. Через неделю не перезвонили. И чрез 2 тоже. Достучался я до них только через месяц, когда уже свернул все другие предложения, и узнал, что мой оффер отклонен.
Получается, они обнадежили меня оффером, заставили завершить остальные собеседования, после чего целый месяц динамили, поленившись хотябы сообщить, что мою кандидатуру больше не рассматривают.
Trostin
08.11.2016 15:10+1Я обычно всегда рассматриваю вакансии, которые мне предлагают.
Только мне не нравится, когда мне не могут озвучить мой оклад при работе у них.
Когда HR-ам задаешь вопрос про оклад, они отмалчиваются. А потом при личной встрече называют смешные суммы.Loriowar
08.11.2016 15:13+1Вакансии без вилки зп — это совсем неприлично. Такое, обычно, делают либо те, кому стыдно показать реальную вилку, но нужно любым способом найти сотрудника, либо большие компании, про которые все и так знают что окладом не обидят и у которых реальный разброс окладов для одной и той же должности может быть очень большим.
Daemonic
08.11.2016 15:14По личному мнению, оптимальное количество собеседующих — двое. Первый — непосредственный руководитель, второй — hr.
То есть если высокоуровневых руководителей на интервью пускать нежелательно, то первые две ступени руководства там быть просто обязаны.
Так сколько руководителей-то надо в итоге?Loriowar
08.11.2016 15:17Обычно же собеседования идут в несколько этапов. Я как раз их имел в виду. На технической части собеседования (обычно это первые этапы) достаточно пригласить непосредственного руководителя. Хотя, чаще всего, он и проводит собеседование. На финальной части, когда технические вопросы выяснили и все всеми довольны, хорошо бы привлечь руководителя на одну ступень выше.
klim76
08.11.2016 16:26Однажды откликался на вакансию админа на HH — мне без всяких слов в ответку просто скинули анкету на 5 страниц, из них треть вопросов — переписывание резюме, треть вопросов из разряда «что такое TCP/IP» и треть какой то непонятно «философской воды» аля «у главбуха и гендира сломались компьютеры — кого спасать раньше?». В итоге на 2м вопросе — психанул и заполнил в стиле «бывшее место работы — красная площадь д1, охранник Ильича» =) Ответа я тогда так и не получил…
tvictor
08.11.2016 16:29Для SQL, у меня, например, есть задача, которая проверяет большинство основных принципов языка при помощи одной таблицы с одной колонкой. Людям нравится, особенно когда объяснишь назначение задачи.
Можете озвучить задачу и её назначение?Loriowar
08.11.2016 16:39Озвучил в личку. Назначение простое: быстро понять на сколько соискатель знает SQL (умеет "думать на нём" и умеет его применять).
ibnteo
16.02.2017 14:04+1Есть куча экранных клавиатур с нестандартными раскладками (я сейчас пользуюсь MessagEase Keyboard), многие в состоянии обучиться ради удобства.
vintage
08.11.2016 22:02+2Выкладывайте уж в открытую :-) Хорошая задача так и так по рукам рразойдётся.
grigorym
14.11.2016 19:45+1Я часто на экзамене прошу написать запрос, находящий всех авторов, которые все свои книги написали в соавторстве. В единственной таблице два столбца: (автор, книга).
vintage
14.11.2016 20:09select distinct author from ( select book from author_book group by book having count( author ) > 1 )
Правильный ответ?
Хотя на графе запрос по проще будет:
select distinct( author ) from books where authors.length > 1
grigorym
14.11.2016 20:16нет :)
vintage
14.11.2016 20:46А что не так?
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 );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 )
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 (Именно с С в конце)
И многие глупые вопросы.dmitry_dvm
09.11.2016 11:29>«Чем отличается класс от структуры?»
У меня пару раз были собеседования где про С# собеседовали с++ники, не имеющие понятия про сборку мусора и освобождение памяти в шарпе. Для себя решил, что в следующий раз так и скажу — давайте меня будет собеседовать специалист по требуемой технологии, а не черти-кто. Лучше пойду на конфликт, чем буду тратить свое время.
thepry
08.11.2016 20:02+3«Сколько будет 2^8?»
Этот вопрос проверяет навыки возведения в степень в уме, или кандидат должен помнить таблицу степеней двойки?
Loriowar
08.11.2016 20:14Вот даже не знаю что он должен проверять. Но у меня сразу же начинается подозрительное отношение к программисту, который за 2-3сек не может выдать ответ. Скорее всего это обусловлено тем, что при наличии хоть какого-то технического образования и/или после прочтения хотя бы пары книжек по алгоритмам, теории программирования, архитектуре ЭВМ и им подобным, степени двойки запоминаются сами собой.
Помню случай в институте был. Пара какая-то была, кажись по общей алгебре. Что за задание было уж не помню, но суть в том, что нужно было степени чисел записывать и что-то делать на их основе. Вся группа хором диктовала степени двойки до 2^15… а потом то же самое попросили для тройки: все дружно поплыли после 3^4, а преподаватель бодро продиктовал до той же 10 или 15 степени. Так что это, можно так сказать, отличительная черта IT-шника, приобретаемая автоматически.
Fedcomp
08.11.2016 22:52+1Как то вы больно возвели ваш личный опыт в абсолют. Не все айтишники прошли ВУЗ.
Loriowar
08.11.2016 23:07Но большинство читало книги, связанные с их профессиональной деятельность. Вуз — необязательный атрибут и не только из него такое знание может получить. У меня, например, из сравнительно недавно изученного: What every programmer should know about memory и русский вариант. Степени повсюду. Если вдумчиво читать, то запомнятся сами собой… нет от них спасения и в голове они жить будут всю профессиональную жизнь.
Fedcomp
09.11.2016 10:50Вы опять путаете веб разработчика который должен сделать быстро, и системного разработчика который обязан знать это если кодит на языке с явным слежением за памятью, или просто при необходимости высокой эффективности. Т.е вы возвели свой опыт в абсолют считая что это путь абсолютно любого программиста. На мой взгляд вы заблуждаетесь. Степерь двойки разве что у системного программиста будет сидеть с высокой вероятностью, т.к он как раз такую литературу и читает.
Loriowar
09.11.2016 11:04Не путаю. Но и не утверждаю, что это путь всех программистов. Это только моё мнение, "я так вижу" и так живу. И да, пишу на Ruby/RoR довольно давно и не являюсь "системным разработчиком" по вашей классификации.
vintage
09.11.2016 11:02Это выступление — хороший пример:
- Как делать не надо.
- Как под использование какой-нибудь фичи за уши притягиваются примеры.
- Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
- Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.
vintage
09.11.2016 13:30Похоже я промахнулся веткой. Это ответ на этот комментарий: https://habrahabr.ru/post/314654/#comment_9900130
GrinyaLovesYou
08.11.2016 20:41Очень простая и быстрая проверка на то, способен ли соискатель хоть немного соображать в технических вопросах. Или, перефразируя, не ошиблись ли HR. Плюс разогревает соображалку соискателя для следующих вопросов.
Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024; отталкиваясь от этого факта и зная как вообще работает возведение в степень, разделим 1024 на 2 и еще раз на 2 :)
Писать код на листочке перестал просить с момента как менеджер сообщил после интервью, что «если после исправления ошибок компиляции заработает — то возьмём» и, что ожидаемо, нормального программиста не взяли.thepry
08.11.2016 22:02Решить можно вообще не возводя в степень и не помня точно таблицу степеней двойки. Лично мне как-то накрепко запомнилось, что 2^10 примерно равно 10^3, а значит точно равно 1024
Ну тогда надо вспомнить, что 2^10 примерно равно 10^3, что равносильно "помнить степени двойки"
ad1Dima
14.11.2016 10:03А мне вот код на листочке писать проще, чем возводить 2ку в степень. Я безнадёжен?
kozzztik
08.11.2016 20:50-2Вообще два в восьмой довольно важное число, ибо это ограничение на однобайтовое беззнаковое целое. В седьмой степени — знаковое. У опытного разработчика должно отскакивать от зубов не задумываясь. Если речь конечно не о фронтенде )
Loriowar
08.11.2016 21:02А фронтенд, нынче, за разработчиков не считается и базовой компьютерной грамотности обучен быть не должен? Не понимаю я вас.
kozzztik
08.11.2016 21:20Просто особой нужды во фронтенде в этом числе нет. Вполне можно быть нормальным фронтенд разработчиком и не сталкиваться с этим. А работать на бекенде и не знать — это кое-что о человеке определенно говорит. Я просто больше по бекендам, по этому мысль о фронтеде пошла в конце )
thepry
08.11.2016 22:07+3А можете описать случай, когда бэкендеру нужно это помнить?
kozzztik
09.11.2016 12:52+4Из очевидного, хотя бы IP адреса, это вообще любой айтишник должен знать. Это четыре тех самых беззнаковых целых через точку, если говорить о v4. 255.255.255.255 это любой эникей знает, не то что разработчик. 256 символов в расширенной ASCII кодировке, 256 вариантов кодирования составляющих цвета в RGB, а уж как только вы что-то хотите бинарно закодировать будете спотыкаться об это сплошь и рядом. Два в восьмой это как количество пальцев на руке, вы знаете что их пять, а не пересчитываете каждый раз. Это же чертов байт, основа основ. Понятно, что такую штуку как «слово» или «двойное слово» никто нынче особо не помнит, но байты они везде.
saboteur_kiev
09.11.2016 15:02Что уж говорить про маску, где было бы неплохо понимать почему может быть 254 и 252, 248, но не 253 или 245.
RPG18
09.11.2016 00:33Степени двойки обычно используются в битовых картах/масках и т.д. Пример использование во фронтенде: Классические приёмы программирования во фронтенде — Игорь Алексеенко
vintage
09.11.2016 13:30Это выступление — хороший пример:
- Как делать не надо.
- Как под использование какой-нибудь фичи за уши притягиваются примеры.
- Многим, кто пытается учить других, не хватает системного взгляда на то, чему они учат.
- Многочисленным конференциям не хватает рецензирования, а то иногда такую чушь порят, что уши складываются.
thepry
08.11.2016 22:05ибо это ограничение на однобайтовое беззнаковое целое.
У опытного разработчика должно отскакивать от зубов не задумываясь.Если человек пишет на языке высокого уровня, то какое ему дело до того, сколько там чисел можно одним байтом записать? Он может что в целом это равно двойке в степени n, где n — кол-во битов. Но зачем ему помнить, что 2^8 = 256, а не 512?
Loriowar
08.11.2016 22:19+2Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи. Если вы пишете на чём-то высокоуровневом и считаете себя хорошим программистом, то обязаны знать нижележащий слой: как он выглядит, как работает, какие особенности. А то с таким подходом уж столько безобразия натворили люди. То кто-то не в курсе про GIL и свято верит в "натуральность" многопоточности, то бездарно берёт bigdecimal и прочие надстройки для длинных чисел и хранят там значения от 1 до 100, а потом удивляется: "чего это всё тормозит и памяти много куда-то уходит?!".
В программировании фундаментальные знания — это теория плюс низкоуровневая реализация. Без этого из джуниора не вырасти никогда. Если вы отрицаете это и считаете что уровень языка освобождает от необходимости знать как там всё устроено, то я вам сочувствую.
thepry
08.11.2016 22:42+1> Вы множеством комментариев упорно стараетесь отрицать основополагающие вещи.
Так знание основополагающих вещей — это помнить степени двойки? Программист, который будет думать, что 2^8 = 512 хуже? Я не понимаю как знание конкретного числа коррелирует с остальными вещами.
> В программировании фундаментальные знания
Фундаментальные знания — это не знание цифр, а понимание как все работает.
> Если вы отрицаете это и считаете что уровень языка освобождает от необходимости знать как там всё устроено
Я нигде этого не отрицал, я лишь усомнился в том, что необходимо помнить степени двойки :)michael_vostrikov
09.11.2016 06:29Программист, который будет думать, что 2^8 = 512 хуже?
А программист, который будет думать, что 2*2 = 5? Или что pi в военное время равно 4? Правильно, зачем нам математика, компьютер сам посчитает.
Фундаментальные знания — это не знание цифр, а понимание как все работает.
Вычисление 2^8 связано со свойствами двоичной системы. Двоичная система — это фундаментальные знания для программиста. Так же как знание десятичной для всех остальных специальностей, связанных с расчетами. Возьмете на работу бухгалтера, который не может посчитать, сколько будет 10^8?
я лишь усомнился в том, что необходимо помнить степени двойки
Мне кажется, в том и дело, что это не обязательные знания, которые требуются каждый день. Но если человек «в теме», это запоминается — из статей, книг, или примеров при изучении программирования. Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.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, вы отсеете много таких людей, кто в силу каких-то обстоятельств это не запомнил, но во всем остальном является хорошим разработчиком?
Требовать помнить значение степени двойки — это как требовать помнить наизусть какой-нибудь метод из библиотеки языка, который еще и не используется никогда.michael_vostrikov
09.11.2016 14:31+1А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.
Ну, удачи вам с бухгалтером.
В какой момент какая конкретно степень двойки становится «обязательной» для знания хорошим программистом?
В тот момент, когда число бит в общепринятом байте меняется, степень двойки равна этому числу. Сейчас везде применяются 8-битные байты. Здесь вам правильно написали. Это же к вопросу «который еще и не используется никогда».
но во всем остальном является хорошим разработчиком?
Мне сложно представить хорошего разработчика, который не знает, что такое байт и сколько в нем возможных значений.
А вы, кстати, чем занимаетесь, можно ли где-то ваш код посмотреть? Может вы действительно хороший разработчик, и я не прав.thepry
09.11.2016 17:08> Мне сложно представить хорошего разработчика, который не знает, что такое байт и сколько в нем возможных значений.
Мы обсуждаем, случай, когда разработчик знает, что в байте 8 бит и 2^8 значений, но не помнит чему равно 2^8. Именно об этом весь этот тред.michael_vostrikov
09.11.2016 17:49Ок, перефразирую. Мне сложно представить хорошего разработчика, который не знает, что в байте 8 бит и 256 возможных значений. И что у него за все время от джуниора до хорошего разработчика не появилось ассоциации «байт — 2^8 — 256».
2^18 я тоже сходу не назову, но не знать 2^8 выглядит странно.thepry
09.11.2016 18:26Но не кажется ли вам, что это может быть ошибкой выжившего? Просто вы по каким-то причинам запомнили это число, а другие — нет?
Я, например, в своей карьере чаще сталкивался с ограничениями 4 байтовых чисел (поскольку они реально используются в языках и СУБД, которые я использую), чем с 1-байтовыми.michael_vostrikov
09.11.2016 20:34Не кажется, я уже говорил почему. Оно встречается практически во всех областях программирования. Я запомнил это число не по каким-то непонятным причинам, а потому что занимаюсь программированием и часто его встречаю в разных источниках. Чаще, чем например 2^7 и 2^9.
В любом случае, это не единственный критерий, и к тому же можно просто посчитать в уме. Уж это-то хороший разработчик должен уметь)
Fedcomp
08.11.2016 23:01+1Вы как то резко перевели разговор со степеней двойки на GIL. Я могу знать сколько влезает в одну ячейку памяти но не знать какая это степень двойки. Для веб разработчика это далеко не всегда существенно, это у системных программистов надо такие вещи спрашивать.
kozzztik
09.11.2016 13:02+1так собственно этот вопрос и позволяет понять кто перед тобой сидит. Человек который весь свой стаж просто веб формы фигачит и больше его ничего не интересует, или кто-то поинтереснее.
VolCh
11.11.2016 07:07То есть вы не знаете чем обусловлено то, сколько «влезает» в одну ячейку памяти?
kozzztik
09.11.2016 13:05-1Многопоточность и GIL это еще ладно, заблуждение от банального незнания. Но сколько народу считает GIL проблемой, а не фичей!
vintage
09.11.2016 13:33+2Может потому, что для многих эта фича является источником проблем?
kozzztik
09.11.2016 13:59-1Как раз устойчивое заблуждение, что GIL является источником проблем и есть самое интересное. Даже последний доклад на PyCon о том что получается, если GIL выпилить не всех наводит на мысли.
vintage
09.11.2016 14:16+1А что там получается, если выпилить GIL? Другие языки как-то живут без него и ничего, справляются.
kozzztik
09.11.2016 14:56-1Падение производительности от 2 до 25 раз при многопоточной работе. Если интересно, посмотрите оригинальный доклад, там много занятных технических деталей. В других языках все несколько по другому, GIL по сути одна из «фишек» питона, по этому довольно странно когда этот лок называют источником проблем.
vintage
09.11.2016 17:18+1Питон меня не на столько волнует, чтобы идти искать где-то этот доклад. :-) Скорее всего там просто криво реализовали эту многопоточную работу или бенчмарк или и то и другое. Нормальная реализация, наоборот, должна была бы сильно ускориться.
kozzztik
09.11.2016 13:00Питон для вас достаточно высокоуровневый? Вот вам кусок документации стандартной библиотеки из
https://docs.python.org/2/library/struct.html
Тут указано, что вы можете закодировать один байт знаковый или беззнаковый. Нигде не указано, что при этом вы можете закодировать число до 127 или 255 включительно (хотя иногда в таких случаях указывают), потому что подразумевается, что для любого разработчика это очевидно как божий день.
Я уж молчу о C++, который вообще говоря высокоуровневый и char там никто не отменял.vintage
09.11.2016 13:34С++ всё же универсальный язык, который имеет как высокоуровневые идиомы, так и низкоуровневые.
ArXen42
08.11.2016 23:35+2Почему-то подумал, что вопрос с подвохом, и нужно спросить, не XOR ли имеется ввиду.
zjoin
08.11.2016 20:15Я иногда хожу на позицию js разработчика и это мне часто помогает подтянуть знания.
Часто спрашивают типичные задачи на логику, и всех компаний они почти одинаковы и которых полно в гугле. Один раз сказали собирать кубик Рубика и я совсем не понимаю зачем все это и как это поможет делать интерфейс на реальном проекте.Loriowar
08.11.2016 20:15Если вы не поняли зачем, то, скорее всего, у вас и работодателя разные взгляды на мир и вы вряд ли сработаетесь :)
vintage
08.11.2016 22:11+1Очевидно же — вам предстояло бы работать с тем ещё ребусом из легаси кода :-)
Matvey-Kuk
08.11.2016 20:54+2Когда искал разработчиков, придерживался принципа "всем писать реальную причину отказа". Проверял тестовые задания, писал список огрехов и присылал тем, кто не подходит. Это же очень круто когда тебе аргументированно указывают на твои ошибки.
В ответ 90% людей писали оскорбленные злые письма в стиле "Дурачек что ли? А что ты хотел от тестового задания? Я же делал его кое как. Это же тестовое задание. Но в реальности то я делаю гораздо круче.".
Через 2 недели выгребания помоев и личных оскорблений из почты, перед тем как отправить фидбек, задумываешься: "А может просто написать ему формальную отписку и все?".
Loriowar
08.11.2016 21:10Не повезло как-то вам с соискателями… а может вы слишком критично изъяснялись?
Я, обычно, в тестовом задании пишут как тут должно было быть (и, иногда, сколько нужно на это времени), если бы это нужно было для продакшена (или если за это достаточно заплатят). В итоге, получается эдакая демо-версия. С одной стороны имеем умеренные трудозатраты в рамках тестового неоплачиваемого задания, а с другой стороны видно, что не только "накаленочные" решения подразумеваются и человек понимает ограничения и пути улучшения архитектуры.
Matvey-Kuk
09.11.2016 00:16Да, достаточно критично, но уважительно. Адекватные люди в итоге нашлись и команда собралась =) Кстати, когда люди пишут объяснения к решению — это огромный плюс даже если решение с косяками.
kloppspb
08.11.2016 21:48+1Весело бывает когда первое собеседование проходит не с представителями компании, а с каким-нибудь агенством.
Года три назад наткнулся на вакансию, которая показалась интересной. Состыковались, на первый взгляд друг другу понравились. Но в конечном итоге некто «сверху» наложил вето в виде категорического отказа в полной или даже частичной удалёнке. Ну, нет так нет, никаких претензий.
Потом вакансия на какое-то время пропала из поля зрения. Подумал что нашли человека и забыл. Но где-то через полгода она снова стала регулярно попадаться в выборках и рассылках. Уже никак не реагирую, помня, чем всё закончилось. Но отмечаю в уме, что на такое место толп кандидатов в принципе на бывает, и вакансия всё висит. Год висит, второй висит…
И на третий год уже, по резюме на hh и круге, на меня стали выходить агенства. С первых же слов становилось понятно, что речь идёт о том же самом, даже без упоминания компании в принципе. Поначалу объяснял что раскусил, что уже разговаривал с заказчиком и почему не срослось. Но они, все как один, предлагали всё-таки пройти минимальный техопрос (ну, там, с чем работал, умеешь ли a, b и c, и т.д.) Под предлогом «если всё хорошо, мы попробуем уговорить работодателя пойти навстречу». Всё было хорошо, но ничем ни разу не закончилось :)
И когда с тем же предложением появилось то ли шестое, то ли седьмое агенство, спросил в лоб: раз они такие все из себя, то почему уже три года не могут закрыть всего лишь одну вакансию? Что-то здесь не так :) Либо не очень нужно, либо текучка (почему?), либо реальные требования не соответствуют заявленным, либо что-то ещё.
От ответа (который был оттарабанен как по бумажке, как будто заранее готовились) упал и задрыгал ножками :) Оказывается, компания развивается огромными шагами, штат расширяется бешеными темпами, и именно таких специалистов им нужно чуть ли не десятками. Для понимания абсурдности этого могу сказать, что сейчас работаю в компании, где IT-штат несколько сотен человек, но «таких» специалистов трое.
В общем, если и были мысли про ещё один заход на ту же вакансию, то после подобных историй интерес был убит насмерть. Даже если работа сама по себе может и мечта, но с таким подходом…kozzztik
08.11.2016 21:59Весело когда рядом с вакансией агенства «для нашего тайного заказчика ищем специалиста» висит вакансия этого самого тайного заказчика с вакансией буква в букву. Но на собеседовании будут тщательно скрывать, чья же это вакансия…
Loriowar
08.11.2016 22:09Чаще всего, по куску вакансии гуглится без серьёзных проблем. Но способы "конспирации" агенств порой умиляют. Хотя их можно понять, получить 10-30% от годового оклада найденного кандидата — это немало, в то же время сообщить человеку о хорошей вакансии и не получить за это ничего — обидно.
Loriowar
08.11.2016 22:02Вы прямо заинтриговали! Что же это за специалист такой? Как должность называется, если не секрет?
Diaver
08.11.2016 22:40Мой случай: на собеседовании в крупной компании мне дали вот такую задачу:
Есть автомат который выдает сдачу из имеющихся у него монет.
Написать алгоритм который будет возвращать сдачу минимальным количеством монет.
Интересно то, что у меня было 4 собеседования подрят с разными людьми и два из них задали эту задачу. Задачу я решил, но позже, в спокойной обстановке.
Интересно что крупные компании типа Амазона, не объясняют что именно было не так, просто отказ и все.
saboteur_kiev
09.11.2016 03:23+1Начало статьи — о том, как нужно собеседовать как минимум сеньора. Тщательно вычитывая его резюме и бегая по ссылкам, в поисках его интересных реализаций и докладов.
Первые же вопросы — с трудом дотягивают до теста джуниора.
Кого мы собеседуем? Зачем нужно тщательно собеседовать каждого интерна, если проще это сделать на испытательном сроке? Для первичного отбора, для интернов-джуниоров будет достаточно пробраться через гуманитарный барьер сотрудниц отдела HR, чтобы попасть на техническое интервью.
Для сеньоров задавать вопросы типа сколько будет 2^8 степени?…
Проще сразу взять реальные задачи из проекта, возможно даже прошлые уже решенные проблемы и попросить предложить гипотетическое решение, а главное обосновать.Loriowar
09.11.2016 09:24Не спорю, сумбурно и местами в кучу навалено. Но если раскладывать по полочкам, по полочек будет много, а лежать на них будет мало и часто будут пересечения. Поэтому решил всё одной "портянкой" написать. Суть мне видится именно в озвучивании этих пунктов, а определение целевой аудитории для их применения решил оставить на откуп читателя. Поэтому да, извините за сумбур.
kozzztik
09.11.2016 13:07Дискуссия выше о том, надо ли разработчику знать сколько будет 2^8 говорит о том, что вопрос не такой и тривиальный )
saboteur_kiev
09.11.2016 15:07Да, но там скорее не про 2^8 а вообще понимание откуда и зачем надо уметь работать с базовой размерностью в байт.
Я вот совершенно согласен, что если программист редко навскидку скажет что такое ^8 или ^12, то просто знать вплоть до 65536 и уметь быстро просчитать 8 или 12 степеней в уме должен любой джун.
ServPonomarev
09.11.2016 07:42+1Здесь в комментариях очень много слов по поводу мотивированного отказа.
Не забывайте, что по закону, ушлый перец может к вам устроиться, если докажет слабую мотивировку отказа. И снять с компании тыщ 300 за время испытательного срока, откуда его тоже не так-то просто уволить.
Конечно, такая фишка в основном действует для высокооплачиваемых топ позиций, но кадровики правильно делают, что перестраховываются.kloppspb
09.11.2016 10:32Что-то слабо представляю себе программиста (или даже IT-шника в целом), который бы таким заморочился.
Loriowar
09.11.2016 11:08Но если посмотреть с этой точки зрения, то ненулевая (хоть и маленькая) вероятность вполне материальных штрафов, выплат и трудозатрат юристов, скорее всего перевесит не очень материальные и труднооцениваемые показатели лояльности людей, не прошедших собеседование.
kloppspb
09.11.2016 14:07Насколько я понимаю, для суда нужны формальные обоснования отказа, а не «мамой клянусь» с обеих сторон. Если нет подписанного всеми сторонами протокола допроса :), который включает и вопросы, и ответы, то о чём вообще можно говорить?
GrinyaLovesYou
09.11.2016 13:04Интересно, как так сложилось, что в суде некому применить закон используя формальную логику?
Ведь раз есть требование, что мотивировка отказа должна быть быть НЕ слабой, то, когда нет отказа, требование не выполнено. Когда нет мотивировки в отказе — требование не выполнено.
Тоесть, такая перестраховка кадровиков не обеспечивает выполнение требования, и должна приводить как раз именно к тому самому сценарию, от которого они страхуются.Antelle
09.11.2016 14:19Мотивировка в отказе "есть", но её не сообщают до судебного разбирательства. Сообщать соискателю закон не обязывает.
Aingis
09.11.2016 16:42+1Вообще-то обязывает. ТК РФ, Статья 64. Гарантии при заключении трудового договора
По письменному требованию лица, которому отказано в заключении трудового договора, работодатель обязан сообщить причину отказа в письменной форме в срок не позднее чем в течение семи рабочих дней со дня предъявления такого требования.
Antelle
09.11.2016 16:49О чём я и говорил, по письменному требованию, то есть, когда попросят, а не каждому по просьбе или просто так. "Письменному" с точки зрения закона означает в бумажной форме. Когда попросят письменно, отказ будет, с нормальной причиной.
Aingis
09.11.2016 18:01Письменно — это крайний случай, когда при отсутствии ответа как минимум летит жалоба в Трудовую инспекцию. Ничто не мешает спросить устно, и если HR не совсем неадекватный, то ответят.
GrinyaLovesYou
09.11.2016 17:27Некоторые отказ не присылают, обещая на словах «скоро сообщить» и пропадают. А дальше либо ишак сдохнет, либо шах сдохнет, либо соискатель решит «проехали, хватит ждать, даже если эти позовут, всё равно не пойду». Отказа же нет, ни в устной форме ни в письменной?
Обидно, что у таких фидбэк от тех спецов далее hr не уходит.
kozzztik
09.11.2016 13:11В суде потом предъявляется что вакансия одна, кандидатов много и выбрали другого по целому спектру показателей, которые можно дорисовать если нужно. В суде есть шансы только если в отказе будет какая-то дичь в духе «потому что ты черный».
kozzztik
09.11.2016 13:12Да, и в любом случае максимум что будет — штраф и моральная компенсация. Что бы обязать нанять человека, суду придется сначала уволить того, который был нанят, а на это ни у кого прав нет.
vintage
Помню однажды меня позвали в "mail.ru". Я пришёл, в надежде, что меня соблазнят чем-то интересным. Первым же вопросом было "Почему вы хотите работать в нашей компании?". Надо ли говорить, что дальнейшее общение не задалось?
Loriowar
Как я понял, у них, как и у любой другой большой компании, всё сильно зависит от отдела/подразделения в которое зовут. Мне попались очень адекватные ребята. Хорошо пообщались, узнал что-то новое и остались только положительные впечатления.
Hayate
А в мегафоне как-то спросили «кем вы видите себя у нас через 2 года»?
Loriowar
Частый вопрос. Раньше отвечал что-то конкретное. Сейчас честно говорю, что исходя из того, что происходит в жизни последние несколько лет, мне самому интересно узнать что же будет ещё через пару лет.
UA3MQJ
Это же классика! На такой вопрос принято отвечать — «генеральным директором».
svr_91
«То есть, вы хотите идти по менеджерской, а не технической линии?» :)
kozzztik
До генерального можно и по технической дойти. Там же обе ветки сходятся. Да и на самом деле все что выше лида уже сложно поделить на техническое и нет.
JediPhilosopher
«А вы сперва мне скажите какие планы развития у вашей компании на эти два года. Что, нет таких? Не знаете (100% что рядовой HR или сотрудник не в курсе таких планов даже если они есть)? Ну тогда чего от меня-то вы хотите, если вы сами не знаете что будет с вашей компанией и будет ли она еще существовать вообще».
ad1Dima
У меня было интересное: компания нашла моё резюме на hh, выяснили, что я работаю в одной компании с их бывшим сотрудником. Узнали у него мой email (он у меня уточнял, мне аж интересно стало), и прислали на него анкету начинающуюся именно с этого вопроса… Я до сих пор не знаю что это за компания была, но вроде даже мягко послал
ихим ответ, что так делать нехорошо.Loriowar
Про способы поиска данных о кандидате нужно отдельно писать. Там свой большой и странный мир. Некоторые компании очень спорные вещи для этого делают.
В общем случае, все хотят побольше гарантий адекватности в долгосрочной перспективе. Но способы получения информации иногда приносят больше вреда, чем пользы. Некоторые явно спрашивают поручителя/рекомендацию. Некоторые лезут в соц.сети и начинают оттуда выгребать всё что могут. Кто-то начинает искать через знакомых, знакомых знакомых и тд. Кто-то всё сразу делает и хочет узнать о человеке всё. По мне так, это сомнительное занятие. Да хочется знать больше, но в рамках разумного. И лучше уж прямо у кандидата спросить всё что интересует, чем в КГБшника играть. В книге "Обнимите своих сотрудников" несколько интересных вещей по этому поводу написано.
Steed
Справедливости ради, Mail.ru уже от этого отучилось. Свой процесс найма они неплохо отдебажили.
Подобные проколы — личный косяк HR'а, и судить по ним о компании в целом, наверное, не стоит. Хотя неприятно, конечно, особенно если ты время потратил, приехал и выяснилось, что на вакансию обязательно нужен навык, которого у тебя отродясь не было и в резюме не указано.
NIKOSV
Ладно там если mail.ru, но когда такой вопрос задает малоизвестная конторка с офисом на квартире педалюющая какой-то аутсорс…