Комментарии 29
Виноваты, как обычно, двое))
С одной стороны, HR и руководство, действительно иногда наплевательски относящиеся к своей работе. Этого у нас, как говорится, сплошь и рядом. И нафиг надо работать в компании, где к работе относятся наплевательски? Правильно, не надо. Очевидный плюс поведенческой модели, описанной в первой части статьи, заключается в супер-фильтре для соискателя - компании с наплевательской атмосферой отсеиваются сразу же. А если говорить о прикормленных газпромчегототам "интеграторами", то их с рынка смывает каждые 2-3 года, когда в этом "чегототаме" меняется линия партии.
С другой стороны, руководители ИТ отделов, кто по идее должен а) растить кадры б) пользоваться испытанием новых сотрудников на испытательном сроке, давать обратную связь и ставить оценки по работе. С этим у нас тоже, не очень. ИТшники, по моим наблюдениям, люди не сильно трудолюбивые, зачастую перекладывают ответственность на всех других подряд. Вы им найдите и принесите на блюдечке идеального кандидата в бюджет 100 тысяч грязью)) а какие вы плохие поисковики, уважаемые HR, вам этот горе-руководитель ответит, как описано во второй части статьи, сбивая кандидата с толку и задавая вопросы с целью убедить, что "его яйца круче".
Просто супер-фильтр соискателя может быть нормальным.
Я вот собеседовался в додо пицца и там мне собеседование очень понравилось. Были сначала технические вопросы стандартные и потом вопросы со звездочкой, которые не вгоняли в уныние, а были действительно интересными. Далее кусок кода на код ревью и там также базовые вещи и со звездочкой, а как финальное задание, проектирование системы для парковки автомобилей. И когда такое проходишь думаешь, вот было круто и интересно)
Статья классная, многое узнал) единственное, не согласен с очередным наездом на алгоритмы и олимпиадников. Ну камон, сколько можно?! На Хабре с упорной регулярностью выходят статьи о ненужности алгоритмов в "реальном" программировании. В некоторых статьях какие-то "сеньоры" даже хвастались, что отказались от алгоритмов на интервью из-за ненужности. Все айти сообщество прямо негативит и токсит к простым ребятам просто за то, что они знают алгоритмы (дожили).
ЗЫ. У знания алгоритмов есть обратная сторона - зачастую интервьюер не ожидавший, что легко справишься с казавшимся для него "интересной" задачей, пытается самоутвердиться на других секциях)) как раз из-за того, что он такой же как и все - не знает и ненавидит алгоритмы.
Вопрос же ведь не в том зачем вообще алгоритмы разрабатывают и про пользу от их применения в разработке чего-то. Вопрос в том что эта секция начинает появляться и доминировать при собесах на различные позиции и я лично не понимаю зачем мне реализовывать собственный метод append или что-то ещё если этот механизм уже встроен в яп на котором я пишу. Так то можно вообще сказать что все япы это тупая трата ресурсов, а вот ассемблер это хорошо и годно и плевать что приходится под каждую архитектуру переписывать зато вот нам кодеръ-батенька во всей красе.
Не соглашусь. Я на рынке труда 13 лет и тренд именно на снижение числа секций алго, потому что взрощено поколение этих самых антиалгоритмистов, которое проводит собесы.
Отсылка "кто-то за меня уже подумал" никак не оправдывает. В чем же отличие секции алго от секции вопросов по фреймворкам, на изучение которых нужно на несколько порядков больше материала? А потому что в случае алго - нужно уметь именно думать, этому и противятся люди. Издревле программирование было про подумать. Можно облегчать работу программиста сколько угодно, но непременно остаётся одно - он должен уметь думать. Элементарное понимание временной и пространственной сложности сэкономит пресловутые ресурсы .
А потому что в случае алго - нужно уметь именно думать, этому и противятся люди.
Если при программировании бизнес-логики вам вдруг потребовались алго, потому что "в лоб лопатить 10 миллионов записей это долго", то есть очень великая вероятность что у вас архитектура гавно, раз приходится вручную лопатить эти 10 миллионов.
Ага, я о том же. Пишут говно архитектуру, потом ещё и говноалгоритмы. В итоге компания тратить миллионы на ресурсы. Но на самом деле причина и следствие, чаще всего, спутаны. Неспособность думаю приводит к поискам архитектурных решений. Репликация, дупликация, кеширование, nosql и блабла. Зачастую потому что не знают алгоритмов и решают все потреблением ресурсов.
Недавно среди таких же коллег (естественно, все антиалгоритмисты) провел опрос, как находить n-е число Фибоначчи. Абсолютно все без исключения написали решение через рекурсию. Ну а что ожидать от фреймворковых разрабов?)) Когда указал на то, что это имеет экспоненциальную сложность(!!!), все стали прикручивать легирование, чтобы избегать дублирования? в итоге кривая рекурсия, которая ещё и память жрёт. В то время как там нужен линейный алгоритм с 2-3 переменными, решение в 2-3 строчки. Вот такие архитекторы среди фреймворковых разрабов? Чуть что пытаются фреймворк прикрутить вместо нормального алгоритма. Лишь "архитектуру" прикрутить и масштабировать что-нибудь без надобности) примеров куча когда алгоритмы нужны, просто вы их не знаете и потому не способны осознать, что вот сейчас нужен такой-то алгоритм.
ЗЫ прикольная истерика у антиалгоритмистов - у всех "говно", "дрочево" в комментариях. Вот это кислота, конечно)
Если разработчик бизнес-приложений ищет числа Фибоначчи, его такого и вовсе увольнять нахер надо. Путь идёт куда-нить в НИИ, там как раз занимаются такого рода проблемами. А в бизнесе немного другие задачи решаются. За них, а не на Фибоначчи, даже платить готовы неплохо.
Тоже согласен, если ты разработчик бизнес-приложений, то ты находишься на уровень выше реализации корневых алгоритмов ведь они уже давно зашиты в ЯП. И уже нужно решать другие вопросы, которые относятся к твоей специализации, проектирование микросервисов, архитектура БД или куда индекс навесить) Как перенести хранимку в код или настроить CI. Редко видел, что нужно прям вспомнить красно-черное дерево и заиспользовать его.
Мммм, действительно, почему же все ненавидят алгосы? Может быть, потому что они не имеют никакого отношения к реальной работе, которую предстоит делать, а на собесы их закидывают, чтобы побыстрее фильтрануть воронку кандидатов? Алгоритмы теперь у всех ассоциируются только с ленивыми, долгими и сломанными процессами отбора
Если компания действительно пилит какой-то фундаментальный продукт, для которого прям реально надо самому реализовать какую-то жесть, и соискатель будет в этом участвовать, то отлично, спрашивание алгосов абсолютно оправдано. Но сколько таких проектов в принципе существует на свете? Их единицы, и каждый такой поддерживает человек 10 от силы. И лично у меня из тех собесов, где присутствовало алго-дрочево, ни один не был на проект с чем-то таким. Все были на перегонку джонсонов
![](https://habrastorage.org/getpro/habr/upload_files/fa9/22c/712/fa922c712d776b90e6a0ab0509981b09.png)
А ещё я скажу так: никто не хочет вечерами сидеть и дрочить LeetCode. Это не интересно.
Я даже не сомневаюсь, что уровень задач, которые вы решаете сводится к перегонке джсонов и по вечерам дрочите вовсе не алгоритмы. Когда не знаешь инструмента, ты не можешь осознавать даже, когда он пригодится. Это как эффект даннинга-крюгера.
А в целом подтвердили тезис кислотности) я даже хотел пошутить, что начнут увольнять за способность думать, потом решил, что назовут нытиком. Но вы привели пример как раз? идиократия во всей красе.
Я даже не сомневаюсь, что уровень задач, которые вы решаете сводится к перегонке джсонов
Ну уж извините. Людей, которые пишут TensorFlow и драйверы для новых видеокарт, в мире не так уж и много. А много библиотек, подобных TensorFlow, миру не нужно. Так что 49.5% лепят формы, 49.5% делают CRUD'ы, 1% делает что-то фундаментальное, для чего действительно нужно алгосы
Я даже не сомневаюсь, что уровень задач, которые вы решаете сводится к перегонке джсонов
Как же я завидую тем, кто гоняет джсоны!
Мой уровень задач - гонять эксельки! Кровавый энтерпрайз он такой.
Это, однако, не отменяет необходимости понимания сложности базовых алгоритмов. Дабы не выстрелить себе в ногу, а также дать костыль тем коллегам, кто выстрелил.
Помимо базовых знаний я умею запустить профайлер, умею выражаться на великом и могучем по поводу разных явлений, типа поиска по списку в двойном цикле. Умею воткнуть словарик вместо списка.
А потом умею писать умные письма бизнесу. рисовать красивые отчеты "повышена производительность на ХХ%", "митигирован риск отказа системы в периоды пиковой нагрузки". Письма, презы, демо, ролики занимают времени даже больше, чем, собственно, работа. И это реально нужно. Печально, но факт. Сам себя не похвалишь - премию не заработаешь.
А умение вращать красно-черные деревья не было нужно ни на одной работе.
Эх, трудно нынче разработчикам?
Я вот несколько тестовых сделал, а работодатели либо игнорировали, либо отказались давать даже фидбек (не говоря уже о обещанном техническом этапе).
Даже на знаю - наступил ли я дважды на грабли или увернулся от двух пуль?
Просто нужно знать цену своим знаниям и опыту, и не тратить время на подобный хлам (п. 1 и 3). Если ты нужен - примут без мозготраха.
Подобного рода "собеседования" показывают либо слабую бизнес-культуру компании, либо никакую. На языке вероятного противника это называется "to win an argument is to lose a sale". Погуглите эти словечки. Там ещё может выскочить что-то про эмпатию, внезапно.
В статье много лишних деталей и мало смысла.
Встречались все три вида интервью. Узнаваемость такая, что за кресле ёрзал. В итоге взяли на работу в компанию из второго кейса.
В алгосах нет ничего плохого, просто их надо уметь готовить правильно и не верить в сказки. В конце концов замер времени является критерием эффективности. Можно например, зная математику обскакать ln(N) на приемах из N^2, потому что на определенном участке значений бывает O(N^2) < O(ln(N)). Поэтому, если задача разбивается на маленькие подзадачи, то можно решить быстрее, чем ln(N). Могу даже привести конкретную задачу, где хваленый индекс строится в 10 раз дольше, чем перебор с N^2.
Тестовые нельзя делать - это закон. Взялся выполнять - не ценишь своё время, согласен бесплатно работать. Технические собесы тоже не рекомендуется проходить или переводите их в шутку, поёрничайте над их вопросами, похихикайте, скажите что давно это было, не помните уже - на работу не возьмут, но зато вы себе настроение не испортите. Если работник нужен, то возьмут без этих дерьмовых процедур.
Для себя решил прерывать такие собеседования, где мне не комфортно, где на мне кто-то пытается самоутвердиться, где присутствуют трудозатратные задачи. На собеседовании сразу чувствуется нужен им сотрудник или просто отрабатывают процесс, и тогда нет смысла тратить свое время на это. За неделю нашел работу, собеседование было по 2-му типу.
Не совсем про собесы, но от себя тоже добавлю, пока свежи воспоминания. Сейчас как раз в поиске.
Пишет HR в телегу, нужен дотнетчик. Пойдёте к нам? Я отвечаю, что согласен на более подробное обсуждение. И что в итоге. Мой ответ прочитан через 2 дня, судя по парным галочкам, а дальнейшего обсуждения или даже хоть какого-то намёка на него так и не поступило.
Прошёл 3 этапа собеса в 1 компанию. На всех этапах сказал про сдвинутый на послеобеда график работы на 2 дня из 5 в неделю. На всех этапах меня заверили, что это не проблема. В итоге отказали, потому что техдир сказал нафиг надо такого работника.
Банки (тут всё в кучу, их было штук 6 + пара чего-то ещё финтеховское). Сказал HR-у про сдвинутый график 2 дня в неделю. Ответ стандартный - программист должен сидеть за копмом с 9 до 18 (с 10 до 20) и точка. Некоторые в вакансии пишут про гибкий график. Это видимо для жителей Урала или Сибири, которые в дефолтсити хотят поработать (удалённо). Т.е. на 2-4 часа раньше можно, но никак не позже.
Опять же про сдвинутый график в 2 дня. Было разок такое возражение: "Да ты чо?! Как можно на стендап не прийти. Это же самый важный элемент аджайла!".
Пишет HR, резюме нам нравится. Анкету не хотите заполнить (типа опросник по хардскилам). Ну не вопрос, 20-30 минут не жалко. Пишу, что ответил. HR пишет, что всё норм, хотим на техсобес пригласить. Я пишу, что ладно, буду ждать приглашения. Прошёл месяц - тишина. Пишет другой HR из той же компании, просит опять тот же опросник пройти. Быстро накидал те же ответы, отправил. В итоге просто человек пропал, а вакансию заархивировали.
Интересные моменты в описаниях встречаются:
экспертиза в использовании Visual Studio. (Серъёзно? У дотнетчика?)
опыт декомпозиции задач. (Да этим даже и джуны занимаются иногда, не что сеньоры)
Я всё жду вакансию, где буден написано про экспертизу в ключевых словах var или class.
От орды 1Сников хочу добавить пять копеек.
Автор - прямо "как Боженька молвил!" (с)
Типы собеседования или как довести соискателя