В дцатый раз про собеседования

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

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

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

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

    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. Фриланс, а так же различные предложения и последующие переписки в почте, соцсетях, скайпе и им подобных — не в счёт.

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

    Продолжение следует…
    Support the author
    Share post

    Similar posts

    Comments 156

      +20

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

        0

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

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

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

              +1
              Это же классика! На такой вопрос принято отвечать — «генеральным директором».
                0
                «То есть, вы хотите идти по менеджерской, а не технической линии?» :)
                  0
                  До генерального можно и по технической дойти. Там же обе ветки сходятся. Да и на самом деле все что выше лида уже сложно поделить на техническое и нет.
                +1
                «А вы сперва мне скажите какие планы развития у вашей компании на эти два года. Что, нет таких? Не знаете (100% что рядовой HR или сотрудник не в курсе таких планов даже если они есть)? Ну тогда чего от меня-то вы хотите, если вы сами не знаете что будет с вашей компанией и будет ли она еще существовать вообще».
                  0
                  Вы таки удивитесь, но в нашей компании регулярно проводятся мероприятия по изложению сотрудникам планов развития компании, приоритетах и стратегии. И их организуют в частности, как раз HRы.
                0

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

                  0

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


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

                  0

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

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

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

                      +10

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

                        0

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

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

                        +1

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

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

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

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

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

                            +14
                            Вы сейчас что-то такое непонятное и безсвязное написали, как-будто вы не человек, а неудавшийся ИИ…
                              +7
                              Судя по тому, что вы отвечаете как человеку — вполне удавшийся.
                                0
                                Тест Тьюринга завален всё-таки.
                            +1
                            Конфетно-букетный период

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

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

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

                              Аналогично, после первого собеседования (несмотря на то что оно было по телефону, без предварительной подготовки и довольно сумбурное), понял, где мое самое слабое место (как оказалось, это был английский), подучился, и в последущем все прошло как по маслу:)
                                0
                                Из личного опыта, пару раз получал ответ в стиле «пока что проект заморожен, и вакансия закрыта», при том что я точно знал, что вакансия все так же открыта. Зачем HR'ам так тупо врать — до сих пор не понимаю, но, как говорится, «осадочек остался».

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

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

                                  >70% работодателей симулируют чтение резюме кандидатов.
                                    +3
                                    Ну справедливости ради, часто вакансию админа пишут сами HR-ы/секретарши/бухи/начАХЗ и там написан совершеннейший бред. А по факту у людей есть парк, который должен работать, и разобраться, что он себя представляет и при этом ничего не уронить — и есть первое задание, причём срочно, ибо что-то уже лежит (потому и ищут), а парень, который за это раньше отвечал — заболел/запил/уволился/в_армии/истерит/оказался_полным_ничтожеством и т.п.
                                      +2
                                      К слову говоря, когда искал работу ходил на собеседования регулярно. Бывало по несколько собеседований в день. Начиная к какого то момента реально уже перестаешь запоминать кому и что конкретно было нужно. Даже если перед выходом почитал. Да и смысл теряется — большинство компаний полный треш и откровенно говоря не стоят того, что бы что-то запоминать, но ясно это становится уже после визита. Был например случай, когда я пришел, а меня не стали собеседовать. Вы не изучили наш продукт? А мы вам забыли сказать это сделать? Идите домой, денек поизучайте и возвращайтесь. При этом noname контора, собеседование на senior+. Кандидатов прямо скажем дефицит.
                                      С собеседованием большого количества кандидатов та же фигня. Если нет HRа, просмотрев пару сотен резюме в лучшем случае об отобранных кандидатах можно запомнить только какую то одну яркую деталь, и то, если она была.
                                        +1

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

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

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

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

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

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

                                                    0

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

                                                      +3
                                                      Еще есть немного другой вопрос: «Почему ушли с предыдущего места работы?». А я с одного места работы ушел, потому что нагрузка была большая. Как-то так получалось, что реально не успевал. И на собеседованиях эта формулировка всегда вызывала недоверие.
                                                      — Почему ушли?
                                                      — Работы было много
                                                      — А вам значит надо, чтобы работы было мало?)
                                                      В двух словах и не объяснишь, почему считаешь что много и сколько это вообще. Но потом я придумал хороший ответ. Я говорю: «А вы считаете, что работы много не бывает?)». И обычно сразу всем всё становится понятно.
                                                        0
                                                        Можно сказать, что руководство экономило на людских ресурсах и вы были не согласны с этим.
                                                  +2
                                                  Это еще нормально. Бывает и похуже. Вот, например, у меня с Акронисом:
                                                  Сначала было интервью по скайпу, потом личное (пришлось ехать из другого города). В результате мне позвонили и предложили оффер. Я взял время на то, чтобы подумать и пройти оставшиеся запланированные собеседования. Договорились, что я постараюсь побыстрее закончить собеседования и что они мне перезвонят через неделю. Через неделю не перезвонили. И чрез 2 тоже. Достучался я до них только через месяц, когда уже свернул все другие предложения, и узнал, что мой оффер отклонен.
                                                  Получается, они обнадежили меня оффером, заставили завершить остальные собеседования, после чего целый месяц динамили, поленившись хотябы сообщить, что мою кандидатуру больше не рассматривают.
                                                  0
                                                  Del
                                                    +1
                                                    Я обычно всегда рассматриваю вакансии, которые мне предлагают.
                                                    Только мне не нравится, когда мне не могут озвучить мой оклад при работе у них.
                                                    Когда HR-ам задаешь вопрос про оклад, они отмалчиваются. А потом при личной встрече называют смешные суммы.
                                                      +1

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

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

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

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

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

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

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

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

                                                              0

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

                                                                0
                                                                и мне, тоже пожалуйста.
                                                                  0
                                                                  И мне, пожалуйста, если не сложно
                                                                    0
                                                                    И мне, пожалуйста
                                                                      0
                                                                      ну и мне :)
                                                                        0
                                                                        Пожалуйста, мне тоже, если не сложно. Стало очень интересно.
                                                                          0
                                                                          И мне, если вас не затруднит. Заранее спасибо!
                                                                            +2
                                                                            Loriowar Вот реально: проще было бы текст опубликовать… ведь не все желающие здесь отметились — и в личке ведь наверняка куча любопытных?..

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

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

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

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

                                                                              0
                                                                              И мне, тоже вышлите, пожалуйста
                                                                                0
                                                                                И мне :)
                                                                                  0
                                                                                  Я немного припозднился, но мне тоже было бы интересно посмотреть.
                                                                                    0
                                                                                    и мне, пожалуйста
                                                                                      0
                                                                                      Если не затруднит, и мне :)
                                                                                      +1
                                                                                      Я часто на экзамене прошу написать запрос, находящий всех авторов, которые все свои книги написали в соавторстве. В единственной таблице два столбца: (автор, книга).
                                                                                        0
                                                                                        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

                                                                                          0
                                                                                          нет :)
                                                                                            0

                                                                                            А что не так?

                                                                                              0
                                                                                              ну попробуйте сами:
                                                                                              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

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


                                                                                                select distinct author from author_book where book in ( select book from author_book group by book having count( author ) > 1 )
                                                                                          0
                                                                                          Сорян, что только сейчас(до этого не читал статью), у меня получился такой запрос:
                                                                                          SELECT DISTINCT author FROM books WHERE book IN (SELECT book FROM books GROUP BY book HAVING count(author) > 1);

                                                                                          Результат вроде верный получается, но наверняка есть более красивое решение
                                                                                            0
                                                                                            Нет, я допустил ошибку, не учел «ВСЕ». Тут исправленный вариант, но короче на чистом SQL пока не придумал. Поделитесь более коротким вариантом
                                                                                        0

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


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


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


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


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

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

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

                                                                                            0

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


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

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

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

                                                                                                +2
                                                                                                А я просто пару раз разделил 2^10 на два.
                                                                                                +1
                                                                                                Как то вы больно возвели ваш личный опыт в абсолют. Не все айтишники прошли ВУЗ.
                                                                                                  0

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

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

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

                                                                                                      0

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


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

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

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

                                                                                                    0

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

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

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

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

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

                                                                                                            +4
                                                                                                            Из очевидного, хотя бы IP адреса, это вообще любой айтишник должен знать. Это четыре тех самых беззнаковых целых через точку, если говорить о v4. 255.255.255.255 это любой эникей знает, не то что разработчик. 256 символов в расширенной ASCII кодировке, 256 вариантов кодирования составляющих цвета в RGB, а уж как только вы что-то хотите бинарно закодировать будете спотыкаться об это сплошь и рядом. Два в восьмой это как количество пальцев на руке, вы знаете что их пять, а не пересчитываете каждый раз. Это же чертов байт, основа основ. Понятно, что такую штуку как «слово» или «двойное слово» никто нынче особо не помнит, но байты они везде.
                                                                                                              0
                                                                                                              Что уж говорить про маску, где было бы неплохо понимать почему может быть 254 и 252, 248, но не 253 или 245.
                                                                                                            0
                                                                                                            Степени двойки обычно используются в битовых картах/масках и т.д. Пример использование во фронтенде: Классические приёмы программирования во фронтенде — Игорь Алексеенко
                                                                                                              0

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


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

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

                                                                                                            +2

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


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

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

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

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

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

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

                                                                                                              Я нигде этого не отрицал, я лишь усомнился в том, что необходимо помнить степени двойки :)
                                                                                                                0
                                                                                                                Программист, который будет думать, что 2^8 = 512 хуже?

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

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

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

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

                                                                                                                Мне кажется, в том и дело, что это не обязательные знания, которые требуются каждый день. Но если человек «в теме», это запоминается — из статей, книг, или примеров при изучении программирования. Поэтому и вывод — раз знает эту мелочь, значит имеются и более нужные знания.
                                                                                                                  –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
                                                                                                                    А вот, если он не будет помнить, что 9 * 9 = 81 и начнет это считать, то у меня не возникнет вопросов.

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

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

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

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

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

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

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

                                                                                                                          Я, например, в своей карьере чаще сталкивался с ограничениями 4 байтовых чисел (поскольку они реально используются в языках и СУБД, которые я использую), чем с 1-байтовыми.
                                                                                                                            0
                                                                                                                            Не кажется, я уже говорил почему. Оно встречается практически во всех областях программирования. Я запомнил это число не по каким-то непонятным причинам, а потому что занимаюсь программированием и часто его встречаю в разных источниках. Чаще, чем например 2^7 и 2^9.

                                                                                                                            В любом случае, это не единственный критерий, и к тому же можно просто посчитать в уме. Уж это-то хороший разработчик должен уметь)
                                                                                                                              0
                                                                                                                              Ну так вы поди запомнили, что 2^32 это ~ 4 с гаком миллиарда?
                                                                                                                  +1
                                                                                                                  Вы как то резко перевели разговор со степеней двойки на GIL. Я могу знать сколько влезает в одну ячейку памяти но не знать какая это степень двойки. Для веб разработчика это далеко не всегда существенно, это у системных программистов надо такие вещи спрашивать.
                                                                                                                    +1
                                                                                                                    так собственно этот вопрос и позволяет понять кто перед тобой сидит. Человек который весь свой стаж просто веб формы фигачит и больше его ничего не интересует, или кто-то поинтереснее.
                                                                                                                      0
                                                                                                                      То есть вы не знаете чем обусловлено то, сколько «влезает» в одну ячейку памяти?
                                                                                                                      –1
                                                                                                                      Многопоточность и GIL это еще ладно, заблуждение от банального незнания. Но сколько народу считает GIL проблемой, а не фичей!
                                                                                                                        +2

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

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

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

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

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

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

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

                                                                                                                    +2

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

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

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

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

                                                                                                                        +1

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

                                                                                                                        +2

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


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


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

                                                                                                                          0

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


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

                                                                                                                            0

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

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

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

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

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

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

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

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

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

                                                                                                                              0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                                                                                                                              +1
                                                                                                                                              Вообще-то обязывает. ТК РФ, Статья 64. Гарантии при заключении трудового договора
                                                                                                                                              По письменному требованию лица, которому отказано в заключении трудового договора, работодатель обязан сообщить причину отказа в письменной форме в срок не позднее чем в течение семи рабочих дней со дня предъявления такого требования.
                                                                                                                                                0

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

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

                                                                                                                                                Обидно, что у таких фидбэк от тех спецов далее hr не уходит.
                                                                                                                                              0
                                                                                                                                              В суде потом предъявляется что вакансия одна, кандидатов много и выбрали другого по целому спектру показателей, которые можно дорисовать если нужно. В суде есть шансы только если в отказе будет какая-то дичь в духе «потому что ты черный».
                                                                                                                                                0
                                                                                                                                                Да, и в любом случае максимум что будет — штраф и моральная компенсация. Что бы обязать нанять человека, суду придется сначала уволить того, который был нанят, а на это ни у кого прав нет.

                                                                                                                                            Only users with full accounts can post comments. Log in, please.