Летом 22 года я прошел ряд неприятных (и неудачных) технических собеседований. Я столкнулся с компаниями, которые:
меняли описание вакансии после собеседования;
отказывали, потому что у меня не было навыков, которые они НЕ упоминали в вакансии;
требовали пройти несколько раундов технического собеседования для внештатной работы;
проводили «техническое собеседование», не задав ни одного технического вопроса;
давали на дом тестовое задание по кодингу весом в ~30 часов работы.
И больше всего у меня горело от неорганизованности большинства компаний. Эти интервью были пустой тратой времени. Но я не настолько себя люблю, чтобы скинуть всю вину на других. Я вообще не люблю технические интервью. Они мне плохо даются. Я их ненавижу. Вы можете мне отказать, и с такой же вероятностью я просто сольюсь с выполнения задачи.
По идее, техническое интервью — это попытка убедить компанию в том, что человек с улицы сможет что-то покрутить в разработке. На практике же компании расписывают вам, какие они молодцы, имитируя процессы гигантов из FAANG. И получается плохо.
Вывод: техническое собеседование это напрасная трата времени что для меня, что для вас.
Почему вы впустую тратите мое время
Я завел в интернете множество ресурсов, чтобы продемонстрировать свои навыки, указал их в своем резюме, но вы ничего не посмотрели. Я понимаю. Аврал на работе, тяжело заглянуть в чей-то блог или в профиль на гитхабе.
Вы не станете читать мой код, потому что прочитать его в 10 раз сложнее и дольше, чем его написать. Так что, даже если код на моем гитхабе написан филигранно, вы вряд ли это поймете.
Я знаю, что вы собираетесь сделать. Вы считаете, что должны повторять за ребятами из FAANG, да? Зачем изучать портфолио кандидата, если можно взять задачку с Hackerrank или LeetCode и попросить решить ее на доске. А я просто адски, кошмарно, чудовищно в этом плох.
К сожалению, задачи с LeetCode слабо коррелируют с решением реальных проблем (прим. ред.: есть одна статья, которая с этим поспорит). Особенно в области DevOps, моей специализации. Не существует тестового задания по отладке цепочек SSL-сертификатов в рабочей среде в 3 часа ночи. Сколько раз за все время работы вам требовалось вычислить сумму диагональных элементов многомерного массива? Наверное, единственный раз — когда вас собеседовали в FAANG.
Вы могли бы предложить мне домашнее тестовое задание по кодингу. Опять-таки, вроде бы как поступают профи, верно? Но нет — скорее всего, вы сильно недооцениваете временные затраты. Недавно одна компания попросила меня выбрать приложение, создать для него инфраструктуру (включая конвейеры CI/CD) с Terraform, чтобы все это запускалось с нуля одной строкой. Они оценили эту работу в четыре часа. Возможно, у меня получится уложиться в четыре часа, если я просто скопирую код гитхаба. Но даже если бы я был готов пустить на ветер так много времени, опыт подсказывает мне, что у вас нет объективных критериев или ресурсов для надлежащей проверки моего кода. Чтение кода занимает слишком много времени, помните?
Это аксиома: ваш рекрутер ВООБЩЕ НИЧЕГО не знает о технологии, которая применяется на указанной позиции. Вы заплатите им целое состояние, чтобы они подобрали вам кандидата, но, за редким исключением, по уровню они недалеко ушли от телефонных продаж. Половина рекрутеров, с которыми я разговаривал, просили меня составить небольшую рекламную презентацию. Остальные читали названия технологий в моем резюме, как имена малоизвестных средневековых индийских ученых. Они в буквальном смысле просто передают вам мое резюме.
И при всем этом, вы, скорее всего, даже не удостоите меня фидбеком, если я вам не подойду. Вы просто не будете мне писать. Такие отказы вызывают во мне смешанные чувства: если вы настолько неорганизованны, что не можете даже пару строк написать, вы — ужасный работодатель и нам с вами не по пути. Но!
Я всего лишь хотел бы узнать, над чем мне стоит поработать, где я не дотянул до ваших требований. Я понимаю, что могу добиться большего. Я не идиот. Но вместо этого вы выдаете мне набор абсолютно надуманных и посторонних причин, вроде “вы не понравились нам как человек” или “у вас недостаточно опыта работы с технологией X”. Не следует говорить кандидатам, что у них недостаточно опыта, после собеседования. Вы уже ясно понимали это из моего резюме. Ничего полезного я из подобного общения не получу, а следовательно — вы впустую тратите мое время.
Почему я впустую трачу ваше время
Я приукрашиваю практически все свои навыки. Так делают все. Я использую подходящие модные словечки в резюме, завышаю масштаб своих достижений и глубину моих навыков. Я даже добавляю задачи и обязанности, соответствующие вашим требованиям, к своим предыдущим должностям. Вы же не станете их проверять, не так ли?
Несмотря на долгую и успешную карьеру в разработке, у меня мало абстрактных навыков решения задач. Я решаю проблемы итеративно, и с каждой итерацией разбираюсь в ситуации чуточку лучше. Единственная польза от моего опыта — я могу делать это очень быстро. Достаточно быстро, чтобы сдать рабочий компонент до того, как вы обанкротитесь.
Ни разу за всю карьеру я не написал сходу решение, которое хотя бы отдаленно пережило взаимодействие с программными фреймворками, API и аппаратными ограничениями. Каждый раз меня поджидали сотни различных ловушек и ограничений. И единственный способ устранить их и получить устойчивый результат — это действовать пошагово. Так вот, я не смогу вам сотворить что-то осмысленное с LeetCode, если не буду практиковаться в решении задач с LeetCode — потому что это отдельный навык.
А еще на LeetCode нельзя показать упорство, хладнокровие или стрессоустойчивость. Мы не сможем воссоздать ситуацию, когда рабочая среда, неизвестно почему, вышла из строя в 6 вечера в канун Рождества, и мы будем сидеть до рассвета, пока все не починим. Я не смогу продемонстрировать, как я справляюсь с одновременным созданием пятнадцати различных срочных функций, жонглируя пятью продактами, и каждый приходит со своими планами и графиками. Я не смогу изобразить, как работаю 40 часов подряд на выходных не покладая рук, потому что нужно подготовить продукт ко вводу в эксплуатацию. А между тем это как раз те навыки, которые вашей компании действительно нужны.
И само собой, я не собираюсь вам показывать, как пользуюсь Google, хотя каждый разработчик постоянно лезет в поисковик. Каждый день.
В общем, я не собираюсь много рассказывать вам о своей повседневной рутине. Я впустую трачу ваше время, не так ли?
Что нам делать?
Компании, помните, что это палка о двух концах.
Мне нужно пройти ваше собеседование и провалить его, чтобы стать лучше. Мне нужно практиковаться решать задачи с LeetCode. И мне нужна адекватная обратная связь. Это поможет мне успешно прыгать через обручи, но я не думаю, что вам пригодится этот талант.
Если вы хотите закрыть свои вакансии и набрать хороших кандидатов, перестаньте бездельничать и полагаться на LeetCode или ленивый перебор резюме. Проверяйте портфолио кандидата. Задавайте вопросы, приближенные к реальности. Постарайтесь сделать так, чтобы ваши технические собеседования отражали глубинную сущность должности.
Мы ищем разработчиков для стартапов, а они не любят тратить время зря — поэтому интервью проводят быстро и вопросы задают только по делу. Если ищете работу, напишите нам — мы подберём для вас что-нибудь подходящее.
Читайте также:
Комментарии (50)
select26
31.08.2022 17:40+4Домашние задания на десятки часов - это просто пример как делать не нужно.
GospodinKolhoznik
31.08.2022 18:10Если оно нормально оплачивается, то отличный вариант. Сразу видно ху из ху.
DMGarikk
31.08.2022 18:11+5я согласен с автором что техинтервью в том виде какое оно обычно есть — не нужно, НО… но оно не нужно только таким как автор и…
самолюбованиетаким как я ;))
просто потому что я постоянно их заваливаю, но при этом зачастую имею квалификацию лучше всех в команде… из всех работ где я работал, наверное только в одной, тимлид знал и умел больше меня (про остальных разработчиков я вообще молчу)… в итоге… кто бахнет sql запрос в боевую базу — garikk… кто расковыряет ruby сервис когда у нас ниодного рубиста? тоже garikk… кто расковыряет логи swarm кластера и поймет почему golang сервис падает?… ну понятно же яж сеньор бэкэнд на питоне… и golang и исходники докера смогу почитать и исходники ядра линукса, ну и написание софта тудаже (хотя все больше прихожу к тому что не хочу работать именно программистом… очень размах ограничен)
зато на техинтервью… капец как важно напамять по бумажке код писать по сортировке списков… не можешь??? ну лоооох… зато если берут то приходится код за такого суперпрофи который меня собеседовал переписывать…
p.s. ненавижу собесы за это, а вызубрить leetcode у меня терпения не хватает
==
а вот обычным рядовым разработчикам без замаха на повыше. техсобес — неплохой фильтр по знаниямnaff
31.08.2022 20:44+6Как говорил Конфуций: «Если вы самый умный человек в комнате, значит, вы находитесь не в той комнате»
Возможно вы просто попадаете (выбираете) команды слабее вас. Либо команды где общий уровень выше вашего, вас не выбирают. В общем это мало говорит о вашем уровне и больше говорит о том, кого выбираете вы или кто выбирает вас
DMGarikk
01.09.2022 11:09Мне часто так говорят, но у меня синдром самозванца подкрепляемый тем что техинтервью очень сильно меня обрубает. я очень хочу работать в сильной команде чтобы расти дальше, пока, с 14 года (когда рестартнулась моя карьера), я только в одном месте таком работал… потом этот стартап обанкротился ;(
naff
01.09.2022 19:26Раньше я просто дрожал от самой мысли об интервью. Со временем прошло. Когда снова накрывает, стараюсь разогнаться, походив на интервью в мало значимые для меня компании. После трех-четырех, начинаю чувствовать себя уверенно и иду на интервью в нормальные компании.
Попробуйте увеличить кол-во интервью и почувствуете уверенность после нескольких походов
0xd34df00d
01.09.2022 05:52+1Никогда не понимал, зачем зубрить или вообще решать литкод.
Ну и на паре последних мест работы (и десятке мест, с кем ещё общался, но общение не привело к взаимному удовлетворению) не нужно было ни фигачить запросы в базу, ни ковырять скрипты на рубях, ни докер ентот ваш. При этом вот что-то мне подсказывает, что таки возникни такая нужда, и тамошние люди бы справились, а вот в обратную сторону это бы не факт что сработало.
DMGarikk
01.09.2022 11:17+2Никогда не понимал, зачем зубрить или вообще решать литкод.
потому что я например не могу сходу в течении 5 минут решить такую задачку перед интервьювером, у меня мозгов на такое не хватает. мне надо несколько часов сидеть даже с easy задачками оттудаНу и на паре последних мест работы (и десятке мест, с кем ещё общался, но общение не привело к взаимному удовлетворению) не нужно было ни фигачить запросы в базу, ни ковырять скрипты на рубях, ни докер ентот ваш.
ну на моих местах работы, моя должность тоже этого не подразумевала, только я в карьерный рост хочу, а не откладывать таску 'пущай отдел который в sql умеет смотрит'… другой отдел делает отписку, делает криво. пишет отписку что это невозможно (а это блин возможно, я блин же могу так сделать! и вижу что так лучше и так надо)
Я стал тимлидом на питоне через год работы ява-джуном не имея вообще коммерческого опыта программирования, просто потому что есть возможность расти? я буду ей пользоваться, вижу что другой отдел динамит-тупит-реджектит? сделаю сам — покажу — вот работает! и на ретро скажу, — давайте поменяем процессы чтобы такого не было.
Я физически не могу реджектить и затягивать таски потому что ктото сказал что 'так нельзя' (при том что можно)
А сидеть и тупо по ТЗ тошнить однотипные задачки изо дня в день по 8 часов в день 5 дней в неделю, ровно в 18.00 выключая комп… бээ… я такое еще во времена своего 1Сного опыта нажрался
petropavel
31.08.2022 19:13+15Не следует говорить кандидатам, что у них недостаточно опыта, после собеседования. Вы уже ясно понимали это из моего резюме.
Действительно. Может это как-то связано с тем, что
Я приукрашиваю практически все свои навыки. Так делают все. Я использую подходящие модные словечки в резюме, завышаю масштаб своих достижений и глубину моих навыков. Я даже добавляю задачи и обязанности, соответствующие вашим требованиям, к своим предыдущим должностям.
а? Да нет, бред какой-то, при чем тут это.
anonym0use
31.08.2022 20:10Когда последний раз устраивался на работу, устроился по итогам тех. интервью которое проводил 1 из программистов компании, будущий коллега, а те кто задавали задачки на leetcode, или скидывали ТЗ на неделю работы, делаю вывод что специалисты им не сильно то и нужны.
З.Ы. Что интересно, по деньгам в компании куда в итоге устроился предложили тоже выше рынка и выше тех кто задавал задачки.
panzerfaust
31.08.2022 20:24+2Описано не техническое интервью, а шабаш фуфлыжников литкодеров. Я всегда заранее выясняю, есть ли литкодинг и в каком объеме. Если там сплошной литкодинг или эти сопли растянуты на 2-3 этапа, то сразу мимо. Не можете нанять человека без литкодинга и за 1 этап - проблемы вашей квалификации, а не моей.
kamitora
31.08.2022 22:19+5вы выдаете мне набор абсолютно надуманных и посторонних причин, вроде “вы не понравились нам как человек”
Это не надуманная причина. Вы верно подметили, что рекрутеры ничего не смыслят в технологиях найма. СЕО часто тоже. Поэтому единственный объективный критерий доступный им - это их субъективное восприятие. Если собеседующему покажется, что вы слишком:
- агрессивный
- веселый
- скучный
- дотошный
- нудный
- стремный
- мутный
- недоверчивый
- доверчивый
- короче вы отличаетесь от собеседника
То вы идете лесом. Если вам не говорят конкретных ваших косяков, то вы не понравились как человек. Потому что у них есть власть выбирать в данной ситуации, а у вас нет. Поэтому в отрасли куча идиотов, которые непонятно как туда попали.
В случае программистов это особенно дико. Потому что мы отличаемся по складу ума от большинства людей, которые принимают решения о нашем найме. Мы для них чужие, и это будит в людях естественную ксенофобию. От нас требуют интеллекта, но только в рамках работы, чтобы мы не лезли куда не надо, игнорируя проблемы. От нас требуют любознательности, но только пока она касается задрачивания очередного фреймворка. От нас хотят умения отстаивать свою точку зрения в команде, но только пока она не задевает НЕУДОБНЫХ вещей в продукте, организации и т.п.
hard2018
01.09.2022 05:25"единственный объективный критерий доступный им - это их субъективное восприятие."
Может быть тогда там делать нечего? Скорее всего, это значит, что в процессе вместо объективного (профессионального) подхода к проблемам будут демонстрировать всякие психологические трюки.
HellWalk
01.09.2022 09:58+1Все так.
От нас требуют знания языков, различных фреймворков, библиотек, баз данных, кучи сопутствующего софта. Но разумеется, изучать все это нужно не в рабочее время - в рабочее время нужно пилить бизнес-фичи.
Получается, что программисту предлагают все свободное время проводить за чтением книг и изучением технологий.
А потом, самое главное, от вас еще будут требовать софт скиллов. Я реально не понимаю, откуда у классного программиста, который стал классным как раз из-за того, что все время проводил за компьютером, появятся какие-то там навыки коммуникации? Наоборот, чем больше человек вкладывается в развитие себя как программиста, тем сильнее атрофируются навыки общения.
select26
01.09.2022 18:12+1Ну а как иначе? Мне вот почти полтос. Чтобы не отстать - я учусть просто постоянно. Минимум пара-тройка курсов в год. Плюс литература. Код.
Кому нужен сейчас лучший в городе мастер по черно-белым телевизовам? (реальный случай)
Нужно не шагать в ногу со временем, а быть на полкорпуса впереди. Как я думаю.
select26
01.09.2022 18:27Я реально не понимаю, откуда у классного программиста, который стал
классным как раз из-за того, что все время проводил за компьютером,
появятся какие-то там навыки коммуникации? Наоборот, чем больше человек
вкладывается в развитие себя как программиста, тем сильнее атрофируются
навыки общения.
Когда я был маленький, мой начальник говорил мне что лучший инженер это не тот, кто много знает или много работает. А тот, кто платит бОльшую зарплату. Платит, не получает.
Расти приходится не только профессионально, и это действительно важно.
Так что рост карьерный просто неизбежен. Нужно просто не забывать развиваться гармонично и разносторонне.
WraithOW
01.09.2022 17:30Мы для них чужие, и это будит в людях естественную ксенофобию.
Господи, дичь какая. Среднестатистический айтишник перестал быть существом в бесформенном свитере с крошками в бороде еще лет 10 назад, с разморозкой вас.
В случае программистов это особенно дико.
Нет ничего дикого в том, чтобы предпочитать людей, с которыми комфортно работать. И это, кстати, работает в обе стороны - и для нанимающего, и для кандидата.
От нас хотят умения отстаивать свою точку зрения в команде, но только
пока она не задевает НЕУДОБНЫХ вещей в продукте, организации и т.п.Не знаю, кто такие "они", но от меня почему-то "они" ждут указаний косяков в продукте, организации и процессе.
Если вам не говорят конкретных ваших косяков, то вы не понравились как человек.
Вам их не говорят, потому российский ТК мальца слишком заточен под найм людей, профессия которых подразумевает наличие разрядов. И нет гарантий, что получив развернутый ответ вы не пойдете искать правды в трудинспекции. Оно им надо?
Вы верно подметили, что рекрутеры ничего не смыслят в технологиях найма.
Рекрутеры в нормальных компаниях не принимают решения о найме, это делают руководители при участии технического персонала, который, как правило, имеет право вето. Oh, the irony.
Потому что у них есть власть выбирать в данной ситуации, а у вас нет.
Если у вас, как у айти специалиста, нет власти выбирать при поиске работы, то либо вы джун, либо что-то делаете очень не так.
kamitora
01.09.2022 18:27Господи, дичь какая. Среднестатистический айтишник перестал быть существом в бесформенном свитере с крошками в бороде еще лет 10 назад, с разморозкой вас.
Отличия глубже чем крошки в бороде. То что вы их не осознаете лишь говорит, о вашей слабой способности к рефлексии, иначе бы вы подлавливали себя на том, как меняется ваше отношение к людям в зависимости от того как они выглядят.
Нет ничего дикого в том, чтобы предпочитать людей, с которыми комфортно работать. И это, кстати, работает в обе стороны - и для нанимающего, и для кандидата.
Совершенно ничего. Но это означает, что кто-то, потратив уйму времени на совершенствование своих технических навыков, отправится на улицу, потому что лицом не вышел.
Не знаю, кто такие "они", но от меня почему-то "они" ждут указаний косяков в продукте, организации и процессе.
Это какой-то запредельный уровень наивности.
Вам их не говорят, потому российский ТК мальца слишком заточен под найм людей, профессия которых подразумевает наличие разрядов. И нет гарантий, что получив развернутый ответ вы не пойдете искать правды в трудинспекции. Оно им надо?
По всему СНГ уже много лет существует практика работы с программистами как ИП, самозанятыми, ФОП и т.д. Да, на галерах. Но только зарплата там в разы выше чем в местах, где смотрят на ТК.
Рекрутеры в нормальных компаниях не принимают решения о найме, это делают руководители при участии технического персонала, который, как правило, имеет право вето. Oh, the irony.
Нет принимают. Во всех компаниях. Они - первичный фильтр. Решения рекрутера недостаточно для вашего найма. Но достаточно для вашего не-найма.
Если у вас, как у айти специалиста, нет власти выбирать при поиске работы, то либо вы джун, либо что-то делаете очень не так.
Достаточно всего лишь отличаться от человека принимающего решения.
FlyingDutchman
31.08.2022 22:27+6Самые лучшие мои работы были получены в результате не технических, а soft skills интервью. Потому что, нанимая на senior позицию более важно, как человек впишется в коллектив (особенно состоящий из пары десятков таких же senior), как человек будет вести себя в конфликтной ситуации (а они будут возникать по-любому). Любому, даже Senior придется вникать в особенности новой компании - в технологические и бюрократические. И первые месяцы - правильное время для встраивания нового человека в коллектив. Заодно и проверка его знаний. Уволить в тестовый период всегда можно.
Самые дебильные собеседования были у меня в двух индусских бодишопах. В обоих требовалась лишь скорость решения. По их мнению, senior - это тот, кто работает со скоростью 10 junior (ну а получает зарплату как 2-3 junior). С одной стороны - их можно понять, бодишопам нужно гнать план по валу. С другой стороны - да ну нафиг там работать.
slonoten
31.08.2022 23:57Зубодробительные многоуровневые технические интервью нужны чтобы обесценить кандидата и передложить ему яндекс дзен вместо нового проекта по его специализации, который рекрутер выдумала на ходу в погоне за бонусами.
Тестовые задания на много часов иногда похожи на задачи из бэклога команды куда вас приглашают.
Если вам делают офер после общения на тему уже реализованных проектов, если вам задают вопросы на которые интересно отвечать, если вам честно расказывают о существующих болях, то возможно это хорошее предложение и его стоит рассмотреть.
А leetcode надо полюбить. Решение задачек уровня hard или medium с результатами близкими к топу - отличная профилактика Альцгеймера. Надо съесть эту лягушку.
Fen1kz
01.09.2022 00:56Я вот прямо сейчас в поиске работы senior js и опыт совершенно отличный от автора. Правда прошел всего 6 собесов пока что:
Рекрутеры все адекватные, рассказывают про компанию и дальше такие "ну, следующий это тех. собес".
Технические собеседования тоже адекватные, если задачки, то простейшие, типа "напиши асинхронный foreach" или "объедини два массива через друг друга". Сколько типов в жс не спросили ни разу. Почти все зачем-то чекают timeout vs promise, правда, но это просто запоминается.
меняли описание вакансии после собеседования;
Вообще не вчитываюсь в описания вакансии потому что они как правило ни о чем не говорят.
отказывали, потому что у меня не было навыков, которые они НЕ упоминали в вакансии;
Опять таки, в вакансиях обычно пишут прямо все навыки, особенно в графе "так же будет плюсом" так что и тут минус
требовали пройти несколько раундов технического собеседования для внештатной работы;
это да, но собесы коротенькие, по час-два
проводили «техническое собеседование», не задав ни одного технического вопроса;
такого не было
давали на дом тестовое задание по кодингу весом в ~30 часов работы.
Дали одно тестовое задание "на пару часов", которое я сделал за 4 часа. И то я скорее ради развлекухи сделал, размяться.
vsantonov
01.09.2022 03:38Прохожу сейчас собеседования в тот самый FAANG и рядом. Для девопса это сущий кошмар, потому что за 10+ лет карьеры мне ни разу не понадобился ни один язык программирования, всегда есть инструменты автоматизации, никто не пишет с нуля на питоне деплой кубернетиса в облако, для этого есть куча инструментов со своим синтаксисом и своей логикой работы. К тому же я уже давно тим лид и на этом уровне другие задачи. Организовать работу так чтобы заказчик быть доволен, подтянуть джуна, организовать передачу документации в проекте. Но нет же, если я не могу сходу вспомнить синтаксис jq и распарсить json нет мне места в серьезной конторе. Или даже если я успел очаровать менеджера и он меня пропустил на тех собес, в котором я блестяще ответил на все вопросы про технологии от текущих до времен царя гороха, но потом не успел (не не смог, а не уложился в пол часа), наваять ротацию логов на баше, весь опыт можно выкидывать в трубу. Какая разница что ты стоил инфраструктуры на тысячи пользователей, ты не умеешь быстро писать скрипты когда на тебя в упор смотрит интервьюер.
Тут еще одна проблема вырисовывается, когда люди не представляют чем занимается devops или sre то нас гребут под одну гребенку с программистами, типа ну вы же там все должны кодить уметь. Нет не все, и объяснять каждый раз утомляет. Но зато какой я сделал вывод из этого, что надо пытаться не зависимо от описания вакансии и идти собеседоваться и пробовать. Там где будет указано программирование как обязательный скилл, могут в итоге ни одного технического вопроса даже не задать и по результатам 5 бессмысленных собеседований с трепом о жизни дать оффер.
Но туда я не пошел, мышки продалжают колоться о кактус и лезть в FAANG и им подобным:)
select26
01.09.2022 18:15Это да. Собеседуясь в Google на SRE я кодил столько, сколько за год на работе не накодил, наверное ).
И ну их лесом. Слава богу, пока мы выбираем работу, а не она нас.
DmitryMurinov
01.09.2022 05:26Не хватает варианта: "Разный. Где-то действительно интересно и полезно, какие-то вспоминаю с содраганием".
Kekmefek
01.09.2022 06:43Ну и LeetCode надо решать всё же. Тренерует те области мозга, которые в повседневной работе редко используются. Но для оценки навыков специалиста LeetCode конечно не годится.
Nialpe
01.09.2022 09:20+2Учить как правильно или неправильно занятие неблагодарное. Расскажу о своих наймах - нанимался в те компании, где собеседующий: во-первых был из моей будущей команды, во-вторых создавал взаимное ощущение, что мы знакомы уже давно и мыслим одними категориями. А когда с порога уже начинались свистопляски, которые вступали в противоречие с моим взглядом на разработку - то зачем тратить время и свое, и интервьюера? Компаний много, найдется подходящая.
select26
01.09.2022 18:22+1Плюсанул, но хочу добавить: нужно искать не место заработка, а именно место работы - окружение в котором бyдешь проводить бОльшую часть своей жизни. И если есть сейчас возможность выбирать комфорт - грех этой возможностью не пользоваться.
HellWalk
01.09.2022 10:16+2Я вижу ситуацию так:
Вайтишные курсы очень сильно распиарили айти-сферу, как область в которой люди ничего не делают и получают кучу денег
Разумеется, из-за такой рекламы на каждом углу, в айтишку побежала толпа людей
Разумеется, 98% из них оказались потом никому не нужными со своими джуниор-резюме
Далее половина из оставшихся убирает слово джуниор из резюме, добавляют несуществующего опыта и презентуют себя уже как мидл-программисты. У кого-то, возможно, хватает наглости еще и как сеньор себя презентовать.
Компании и рекрутеры начинают закапываться в этом обилии резюме и ищут способы как отделить реально опытных программистов от тех, кто наврал про опыт. И не находят ничего лучше, чем "напишите код на бумажке"
Потом правда оказывается, что реальный мидл волнующийся на собеседовании и не умеющий писать код на бумажке никак не отличается от вайтишника, который наврал про опыт.
Но выбор есть (кризис помог), по этому можно не заморачиваться и отсеивать и тех и тех.
avdosev
01.09.2022 16:08Компании и рекрутеры начинают закапываться в этом обилии резюме и ищут способы как отделить реально опытных программистов от тех, кто наврал про опыт. И не находят ничего лучше, чем "напишите код на бумажке"
Это же появилось как минимум лет десять назад. И кажется вайтишники не были такой явной проблемой (по моей памяти обороты пиара курсов началось году в ~2015). А само решение на листочке позволяет проверить умение мыслить алгоритмически и проверяют его не запуском на пк, а просто смотрят на ключевые элементы алгоритма (что как бы позволяет не так критично относиться к очепяткам и не совсем корректным названиям методов). А фильтрация вайтишников это просто приятный бонус от такой схемы собеседования.
Далее половина из оставшихся убирает слово джуниор из резюме, добавляют несуществующего опыта и презентуют себя уже как мидл-программисты. У кого-то, возможно, хватает наглости еще и как сеньор себя презентовать.
Очень забавная, вещь недавно вот такое видел, и главное 2года опыта
HellWalk
01.09.2022 16:34+3А само решение на листочке позволяет проверить умение мыслить алгоритмически и проверяют его не запуском на пк, а просто смотрят на ключевые элементы алгоритма
Где гарантии что это умение будет конвертироваться в качественный код? Вам от программиста коммиты нужны, или его понимание? Мне вот нужны коммиты с качественным кодом. Если в коммитах говно - он может хоть 5 красных дипломов из МГУ иметь - мне на них будет наплевать
Вы забываете про эффект нестандартной ситуации. Одно дело работать в удобной IDE одному, и другое дело писать код в неудобном редакторе и когда на тебя смотрят. У меня была ситуация, когда я на собеседовании не смог простейший sql написать с одной проверкой IS NOT NULL. И это никак не показывает мои знания sql, это показывает, что на собесах я сильно волнуюсь. Что забавно - волнуюсь я даже когда нахожусь со стороны работодателя, на втором плане (т.е. просто слушаю).
select26
01.09.2022 18:19+1Гарантий никаких. Поэтому есть испытательный срок по трудовому договору - возможность безболезненно расстаться в случае если стороны недовольны друг другом.
avdosev
01.09.2022 18:55- Не умея мыслить алгоритмически вы как планируете писать качественный код? Что бы это делать нужно как минимум понимать, что до вас писалось и понимать как менять существующий код чтобы дополнить алгоритм, а не сломать.
- Тут скорее лично ваша проблема, что собеседования для вас волнительный процесс. И тут без вашего участия и тренировок сложно что-то сделать, и конкретно тут проблема вообще не в решении задачек на листочке, кому то например общаться на собеседовании не комфортно, а задачку решить это не проблема.
HellWalk
02.09.2022 10:52+1Не умея мыслить алгоритмически вы как планируете писать качественный код?
С каких это пор качество кода стало определяться алгоритмом? Авто-тесты, CI/CD (+ ревью кода каждым каждому, плюс адекватные сроки на разработку) и по итогу около нулевое количество багов на проде - вот показатель качества кода.
Для меня код решающий задачу - это только 10% от сложности проекта. А 90% находятся вне его - в тестах, в CI/CD, в правильно выстроенных процессах разработки.
Плюс, наблюдая за окружающими программистами, как они делают ошибки - я не вижу никакой проблемы в знаниях или алгоритмах. Я вижу, что людям было просто лень написать нормальные тесты, лень протестировать код руками - тяп-ляп и в прод, пользователи если что напишут.
Тут скорее лично ваша проблема
Я не вижу никаких проблем. Люди которые знают меня и сколько я получаю, говорят что моему работодателю повезло. А другие работодатели пускай оценивают программистов по "напишите код на бумажке", "прочтите код с бумажки"
Если завтра программистов будут оценивать по скорости бега, вы начнете тренироваться быстро бегать?
StNickolas
01.09.2022 19:47Я провел довольно много тех интервью в свое время, так вот для меня когда я давал кандидатам задачи аналогичные литкоду это не для того чтобы понять чможет ли каднидат решить задачу которая в реальной разработке никогда не встретиться, а для того чтобы посмотреть как кандидат мыслит при получении задачи в работу и как быстро он сможет начти решение. Мне даже не особо важно было если задача не будет решена, главное чтобы не было такого, что кандидат просто 40 минут тупит и в итоге говорит "не знаю",
DMGarikk
02.09.2022 00:00как кандидат мыслит при получении задачи в работу и как быстро он сможет начти решение.
Я сталкивался с тем что интервьювера интересовало не решение задачи в принципе, а чтобы неприменно самым наэффективнейшим способом, причем в тот раз я в итоге затроллил интервьювера указав на то что этот эффективнейший способ нельзя применять на практике поскольку он имеет кучу архитектурных изъянов и дыр безопасности и вообще если мне прилетит такая таска я её реджектну даже без попыток искать решения, поскольку постановщик задачи не в своем уме если пишет такое ТЗ и реальный бизнес такое не ставит, а если ставит то задача одна — убедить что так делать нельзя, а не трясущимися руками искать решение
В итоге интервьювер страшно смутился и потерялся… меня не взяли ;)) слишком умный наверное
p.s. блин я не помню уже в чем была тогда суть, но была какаято смесь из пары задач литкода и чегото бизнесового
marya_java
01.09.2022 19:48Если вы хотите обратить внимание на свой GitHub или другие ресурсы, можно указать их в сопроводительном (даже если они уже указаны в резюме), сделать на этом акцент.
Ещё перед тех.собесом задайте вопрос рекрутеру, в каком формате будет проходить, чего ожидать. Даже если рекрутер сразу не сможет ответить, попросите уточнить этот момент у нанимающего, это не будет дурным тоном.
Ещё лучше сразу проговорить с рекрутером этапы собеседований, сколько их, кто будет проводить, формат, длительность. Так вы сразу сможете понять для себя, готовы ли трать на это время.
Бывает так, что рекрутеры пишут обратную связь шаблоном, проявите интерес, попросите больше конкретики, только очень вежливо, отметьте в письме, что это вам в дальнейшем поможет вырасти, обратив внимание на какие-то провалы в знаниях.
Инициативность ценится:)
habr_do
01.09.2022 19:48Интересно, а бывает такое, что чел отлично решает задачи на Литкоде, но абсолютно бесполезен в повседневной работе?
Nialpe
02.09.2022 08:57Небольшой вопрос к коллегам-разработчикам по обе стороны найма. На интервью бывают ситуации, когда задача или ситуативный вопрос сформулированы "из рук вон плохо" (субъективность никто не отменял). Как вы поступаете? И что это - проверка или отсутствие умения постановки задачи? И если нанимающие оценивают кандидата по решению, ходу мысли и т.п., то справедливо ли зеркально оценить нанимающую компанию по их задачам? На собеседовании не смогли сформулировать задачу, значит и потом будет "сделай то, не зная что". Все-таки собеседование - это двухсторонний процесс, как бы об этом не забывали нанимающие.
kaverdo
02.09.2022 21:50+1Интервьюер тоже человек, мог ещё не до конца отладить формулировку и будет рад обратной связи)
jenki
03.09.2022 00:40Зачем изучать портфолио кандидата, если можно взять задачку
Опыт поиска работы и связанных с этим порядка сотни собеседований разного рода показывает, что примерно в 30% случаев технический специалист именно на интервью видит в первый раз твоё резюме. Уже уловил паттерн в он-лайн интервью по длительным паузам в беседе, что человек пытается на скору руку понять, что написано в резюме и интересно оно ему вообще. Потом просто стал предлагать в таких ситуациях сделать паузу минуты на три, чтобы интервьюер спокойно ознакомился с тем, что подсунул рекрутер. Ну не до этого им. Таски в джире плодятся, сроки горят, на обед хочется.
Недавно одна компания попросила меня выбрать приложение, создать для него инфраструктуру (включая конвейеры CI/CD) с Terraform, чтобы все это запускалось с нуля одной строкой
Вы уверены, что это тестовое задание, а не текущий таск в джире? Очень похоже на то.
Это аксиома: ваш рекрутер ВООБЩЕ НИЧЕГО не знает о технологии, которая применяется на указанной позиции.
Многие об это сразу говорят ещё на этапе предварительного собеседования. Дикость и свинство в одном флаконе. И в отличие от ИТ-ников они совершенно не собираются развиваться и ликвидировать изъяны в этом вопросе.
И при всем этом, вы, скорее всего, даже не удостоите меня фидбеком, если я вам не подойду. Вы просто не будете мне писать.
Где-то до полусотни приглашений в крутую высокотехнологичную компанию (некоторые даже заявляли, что в ближайшее время собираются переплюнуть Фейсбук по количеству пользовательской аудитории) отписывался готовым ответом, почему не могу принять их заманчивое предложение. Потом просто надоело. И просто не реагировал. На что стал получать сообщения от рекрутеров, почему не отвечаю на их предложения. Некоторые даже угрожали тем, что компании заносят в чёрный список тех, кто не отвечал на предложения рекрутеров. Что тут скажешь? "Хорошая попытка, дорогуши". И это показало, что тактика с игнором обратной связи обоюдоострая штука. Сегодня вы плюнули на человека, в следующий раз не обесудьте.
Я всего лишь хотел бы узнать, над чем мне стоит поработать, где я не дотянул до ваших требований. Я понимаю, что могу добиться большего.
Обычно это следует спрашивать в конце интервью у технического специалиста. Когда он вернётся на рабочее место, он может очень быстро позабыть про то что было на интервью.
Я не смогу продемонстрировать, как я справляюсь с одновременным созданием пятнадцати различных срочных функций, жонглируя пятью продактами, и каждый приходит со своими планами и графиками. Я не смогу изобразить, как работаю 40 часов подряд на выходных не покладая рук, потому что нужно подготовить продукт ко вводу в эксплуатацию.
Ну это уже считается должно быть по умолчанию. Поэтому на этом не заостряют внимание. Это как клавиатура. мышка и монитор - неотъемлимые части ПК.
Если вы хотите закрыть свои вакансии и набрать хороших кандидатов
Почему вы решили, что стоят эти задачи? /с сарказмом/ Иногда не нужно ни того ни другого)
Задавайте вопросы, приближенные к реальности
"Как вы боритесь с выгоранием?"
В комментариях была мысь, что кодирование листочке позволяет проверить умение мыслить алгоритмически. На что возникает закономерный вопрос - а в чём выражается понятие мыслить алгоритнмически? Сейчас поясню мысль: было как-то техическое задание написать код по решению олимпиадной задачки по математике (бывают и такие). Посмотрел, покрутил по разному задачку и решил её в базисе матричного исчисления, написал код с кучей массивов, но без вложенных циклов. Показал решение. Оно не устроило, потому что по мнению собеседующего задача решалась по другому: куча циклов, многие из них вложенные. Потом перешли к задаче по обходу двоичного дерева. Предложил решение, рассматривая двоичное дерево как граф. Опять не так. Снова правильное решение на циклах. Вопрос - какой вариант из изложенного более алгоритмический и почему?
select26
А у меня хорошее отношение именно к техническим интервью. И когда проходил сам при поиске работы, и когда сейчас собеседую.
Вместо CV и пачки сертификатов я задаю три вопроса и понимаю сразу кто передо мной и каков его технический бэкграунд. Написал ли он правду в CV или приукрасил.
Jsty
Одни и те же 3 вопроса?
Fen1kz
Один и тот же :D
© Михаил МК
KoCMoHaBT61
"Настоящий пацан может задать настоящему пацану только три вопроса. Кто ты по жизни? Как твоё погоняло? Кто твоя крыша? На все три вопроса следует отвечать: люди знают."
select26
Попытайтесь сами блеснуть космическим талантом:
Представь ситуацию что ты root user на Linux хосте. Пытаешься удалить файл и получаешь сообщение об ошибке. Когда и почему так бывает?
Ответ на вопрос сразу расскажет и про глубину знания Linux (не только консольных команд), но и Linux filesystems, advanced attribute, уровень troubleshooting skills и много еще. Плюс в процессе обсуждения мы моделируем ситуацию: интервьюируемый "набирает команды", а я отвечаю.
5 минут нужно чтобы понять кто перед тобой. Быстро, эффективно, не тратим время друг друга.
Ну и пара вопросов по сетям и виртуализации. Такие же отработанные.
Мне важно наличие фундаментальных базовых знаний и наличие инженерного подхода. Такого сотрудника я за два месяца натаскиваю на рабочий инструментарий и он уже боевая единица в команде. Например для меня важнее чтобы человек понимал на чем базируется работа docker, чем помнил наизусть все его (docker) команды.
KoCMoHaBT61
Это бывает когда установлены расширенные атрибуты immutable или appendonly. lsattr, chattr -i -a
А теперь я спрошу -- то же самое, но на macos со включенным и выключенным SIP?
select26
Извините, мы еще незакончили. )
chattr показал отсутствие спецатрибутов. Что делаем дальше?
p.s. мы проверяем знания Linux администратора. Поэтому вопрос с МАС пропускаем.
Night_Snake
В книге "Сказки тёмного леса" были другие три вопроса (известные так же, как "Три вопроса Блэки"):
- Чей ты друг?
- Чем знаменит?
- Кто тебе здесь рад?