Pull to refresh

Comments 288

Если бы решили и последнюю задачку хорошо, был бы ещё один собес с задачей. У меня было 6 таких раундов, на шестой, как и у вас у меня попался собеседующий, который не знает моего ЯП. И его я как бы завалил. Тогда и до общения с финальными командами допустили.

Получается реально сильные олимпиадники всё ещё в этом круговороте, потому что всегда решают задачи? Я то думаю, куда друг пропал

Когда Я(ндексу) надоедает, он использует чит-код - собеседующий с фразой "нам будет сложно".

/на правах шутки-юмора

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

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

Т.е. не знает ЯП он, а не приняли тоже вас? Круто у яшки всё я погляжу.

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

- Напишите структуру данных, которая ...

- <stdlib.dict>

- У нас так не принято. Вы должны решить задачу на голом <ассемблере> и объяснить её верстальщику, пользуясь исключительно листком бумаги и ручкой. Мы верим, что только такие кандидаты достойны перекладывать json в команде <киборгов>.

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

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

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

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

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

Я не понимаю другое: зачем нанимать олимпиадников, если в результате они всё равно выпускают бажные продукты?

Иногда прямо да. Один мой знакомый до сих пор помнит один из релизов клиента Я.Диска, который сносил на Windows диск С под корень https://habr.com/ru/articles/204580/

Ошибка очень неприятная, но ничего не говорящая о качестве кода. Склоее всего в каком-то конфиге кто-то нечаянно вставил лишний перевод строки. Косяк, что это не заметили в код-ревью.

Ошибка очень неприятная, но ничего не говорящая о качестве кода

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

Косяк, что это не заметили в код-ревью.

И на тестировании тоже.

И на тестировании тоже.

«тяжело найти чёрную кошку в тёмной комнате, особенно если её и не особо искать».

Могу дать пример поинтереснее, но непубличный. Я.Облако при создании виртуалок пачкой (включая 2) умеет давать неуникальные внутренние IP адреса. Поддержка ответила в стиле "ну так бывает, deal with it".

Так специально задумано, наверное, чтобы быть в топе )

Представь, что было бы, если бы нанимали не олимпиадников) Спутник/Рутьюб...

Блин, это лучшее что я читал за последние пару лет на habr-e! :)

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

Соглашусь. Стиль изложения реально доставляет)

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

ИМХО, в коня. В мерина я бы сказал.

Это какая-то схватка плюсовиков? Как будто под этим сообщением много контекста который скрыт

Иногда сигара - это просто сигара.

Для меня до сих пор загадка, как Яндекс вообще умудряется кого-то находить с такой идиотской системой найма?

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

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

просить сплясать на интервью, или отсекать всех, у кого ИНН четный.

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

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

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

Алгоритмы отсеивают эффективнее некомпетентных и тех, у кого нет навыков

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

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

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

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

Еще раз:
1000 человек. Из них 500 тупых, 500 умных. Из умных алгоритмы знают 200, а из тупых — 100, те самые олимпиадники. Надо нанять не всех умных, а всего десять человек. Выбираем тех, кто нравится эйчарам — получаем 7 тупых, 3 умных. Выбираем рандомно — получаем 5 тупых и 5 умных. Выбираем по оценкам в школе/красному диплом — получаем 6 умных и 3 тупых. Отсеиваем всех, кто не умеет в алгоритмы, из оставшихся 300 выбираем рандомно десять, получаем где-нибудь 3 тупых и 7 умных. Или еще лучше, потому что умные, если мотивированы, алгоритмы подучат и со второго раза пройдут.

3:7 лучше, чем 5:5. Алгоритмы работают. Ценой отсеивания 300 умных, да, им обидно, они статьи на хабре пишут, как так, не взяли, а я ведь хороший, а интервьюер ничего не понимает, плохой яндекс, фу.

А он не плохой, он рациональный.

К тому же, алгоритмы эффективно отсеивают программистов-"звезд", а это, если вам нужны управляемые кодописатели, еще хуже, чем тупые программисты.

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

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

Это вы бы статью почитали, меня взяли.

И вы пошли «душить змею»? Всё-таки, в корпорациях к этому языку зачастую прилагаются довольно душные задачи.

Я так полагаю, "продолжение следует" :)

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

1000 человек. Из них 500 тупых, 500 умных. Из умных алгоритмы знают 200, а из тупых — 100

"Откуда вы берёте все эти числаПоттер?"

Ну в вот в итоге и получаем такой Яндекс, какой получили. С тормозными и перегруженными приложениями

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

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

Алгоритмы работают.

Только что столкнулась с работой "лучших из лучших" верстальщиков/фронтендеров.

Что там говорили про "важнее отсеять придурка"? Тут каким-то образом аж целое созвездие придурков сошлось - одни наверстали, не имея представления о существовании других языков, кроме английского; другие "протестировали" с тем же уровнем знаний; третьи выпустили в релиз. И это не богом забытая страница, которую видит 1,5 человека в год. А лендинг флагманского продукта супер-пупер-корпы.

Я в статье подробнее объяснил. Алгоритмы все-таки релевантны.

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

Это невозможно. Будет разброд и шатание. Невозможность внутренней мобильности.

учитывая ну хотя бы знания и опыт человека в конкретном языке

Знания в конкретном языке тоже не самая релевантная метрика, ибо там у них своя кухня, свой стиль, свои фреймворки. Я не знаю, как в яндексе, но в гугле только подмножество C++20 используется. И то на него, по крайней мере в хроме, только в этом году перешли. Потому что легаси и все тяжко. А еще обширная внутренняя библиотека. Поэтому ваш многолетний опыт не то чтобы абсолютно релевантен.

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

Это невозможно. Будет разброд и шатание. Невозможность внутренней мобильности.

Стек внутренних технологий своеобразен, поэтому преимущество "внутренней мобильности" - отсутствие временных затрат на погружение/обучение. И кто сказал, что при миграции между подразделениями, не бывает не формальных собесов?

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

именно так и нанимают в бизнес-юниты типа я.путешествий - нет этих вот 7 кругов клоунады для миддла

Не, разбивать компанию на подкомпании не надо, у них и так «Каждый HR автономен и не имеет доступа ко всей информации» )

только вот хотелось бы нанять в итоге лучших из них

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

Однако, проверка алгоритмами, в отличии от упомянутых выше методов

А ведь отсекать всех, у кого ИНН четный — это и есть проверка алгоритмом. Но тут есть ньюанс! :-)

Беда с наймом у яндекса. Видимо поэтому создали отдельное подразделение "Яндекс Крауд". Интересно было бы почитать про найм с внутрянки яндекса.

Москва и Питер. Там рассадник международных олимпиадников. И даже среди них высокий отбор.

Не могу говорить за Яндекс, но расскажу, как у нас в Гугле.

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

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

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

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

То есть ищут роботов в команду роботов

UFO just landed and posted this here

как что? не работают у конкурентов

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

Тут, честно говоря, вопрос к QA больше или процессам, а не разрабам.. Наверное. Так кажется мне :)

UFO just landed and posted this here

Есть мнение, что без алгоритмов оно бы тормозило и баговало бы еще больше. Плюс это все скорее вызвано не навыками программистов, а давлением бизнеса, бюракратией и спецификой большой компании. Скажем так, в гугле хоть и произносят магические слова "user excellence", просто за количество исправленных багов не повышают, надо какую-то новую фичу запилить (отсюда, кстати, выбешивающие пользователей бессмысленные изменения в интерфейсе).

UFO just landed and posted this here

Это безусловно так, особенно в отношении части сервисов и гугла, но интересно, является ли этот «усердный» (не знаю какое слово подобрать) отбор и огромный упор на алгоритмы действительно эффективным?

Эффективным с какой точки зрения? Работающая система найма, дающая высокий процент компетентных работников? Я уверен - да. Дает ли это 100% самых эффективных разработчиков из всех пришедших на собеседование? Очевидно - нет. Но такая чудесная система просто не существует на таких масштабах. У любых других методов свои проблемы. Опять бесстыдно воткну тут ссылку на свою статью, где я эту тему и обсуждаю.

UFO just landed and posted this here

Есть мнение, что FAANG это большие неэффективные монополии

С другой стороны, некоторые сервисы только такие огромные монополии и способны сделать. Карты всего мира. Или та же stadia была: шикарные технологии и гугловые датацентры по всему позволяли играть без лагов. Если бы не идиотская совершенно схема монетизации, стриминговый гейминг мог бы стать мейнстримом.

Карты может сделать команда из нескольких человек.

Но в целом с вашей позицией согласен

Карты может сделать команда из нескольких человек.

Какой-то сайт с картами - да.

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

Карты всего мира, сделала не очень большая команда из Германии, Гугл потом украл алгоритм на основе которого они строились (не доказано, но был убедительный суд).

Есть мнение, что без алгоритмов оно бы тормозило и баговало бы еще больше.

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

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

Характерные времена изменений кода в таких больших местах — это неделя

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

Не может, но длится? ) Шесть раундов за какое время проходят?

Шесть раундов за какое время проходят?

6x45 минут = 4.5 часа.

Ну так это не день подряд. Шесть дней по 45 минут, большой задачей так тоже можно заниматься.

У меня первый раунд был 4,5 часа, к слову.

Главное отличие - эту предполагаемую неделю кандидат будет что-то делать без присмотра дома. Скорее всего с помощью друзей и наставников с курса "с нуля до мидла за 2 месяца".

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

Далее, для большей объективности и необходимого уровня отсечения, таких заданий все-равно будет 3-6. Т.е. кандидату уже месяц придется работать над этими заданиями. Это, по вашему, лучше текущей ситуации?

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

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

Главное отличие - эту предполагаемую неделю кандидат будет что-то делать без присмотра дома.

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

Вроде бы работники Яндекса тоже каждую неделю что-то делают без присмотра дома, да ещё и очень много времени.

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

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

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

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

Я считаю, что блестяще объяснить чужое решение существенно сложнее, в этом и разница. А ответить на вопросы смогут единицы.

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

Сложно объяснить сложное решение. Но вы же не хотите писать домашнее задание неделю. А все простое что пишется за несколько часов объяснить просто. Там нет никакой сложности в любом конкретном решении.

Я недавно заметил, что главная страница Ютуба на смартфоне мне предлагает куда более интересный контент, чем та же страница на ПК в браузере. Учётка, естественно, одна и та же.

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

Вот только не надо тут "шутить за 300" про то, что Ютуб тебе предлагает на основе твоей истории просмотра, поэтому у тебя в предлагаемых всякие КВН и Бурунов. Потому что на смарте та же самая история, и их там нет (c)

UFO just landed and posted this here

Более того, сам ютуб не забыл, что они просмотренные ,т.к. на этих роликах прогрессбар полностью заполнен.

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

UFO just landed and posted this here

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

А это не мысль, это ИДЕЯ. Я как-то не задумывался, что один из недостатков чёрного ящика — это тяжесть изменений, отладки и поддержки. То есть, понимал, что чёрный ящик — это хуже аналогичного прозрачного алгоритма, но думал, что это скорее связано с развитием, улучшением. Вот улучшить чёрный ящик можно только «методом тыка».

Спасибо!

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

Если же вы - продавец чёрных ящиков, то для вас он полностью прозрачен.

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

Тут формулируется вопрос - а что нужно тем самым настройщикам нейронки Ютуба? Какой результат они хотят получить на выходе?

У меня только один ответ на этот вопрос: они хотят получить увеличение времени, проведённого пользователем за просмотром роликов, чтобы показать больше рекламы. Я в курсе про Россию после февраля 2022, Ublock, SponsorBlock, Revanced и ещё много других слов.

Заметил такое давно, с тех пор расставлял лайки/дизлайки на любом посмотренном ролике. А потом ещё поставил дополнение Youtube Watchmarker. Ну и совмещать всё это с «не рекомендовать этот канал».

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

Ютуб наверное уловил тенденцию и теперь предлагает массово такой контент.

а что именно делают эти супер пупер сильные кандидаты после принятого оффера?

Системы трекинга за пользователеями, системы выкачивания личных данных, системы рекламы. Или вы думаете, что гугл это про поиск, почту, карты, ютуб и прочие андроиды? Гугл это в первую и самую главную очередь про рекламу.

И самое забавное, что кнопка play у них работает криво, если переключиться на вкладку со спотифаем спустя N часов (например на следующий день).

Клик по кнопке не делает ничего, помогает перезагрузка страницы.

Видимо отдельная команда нужна для такого.

Выделено, как будто 15 человек для такой критической функции это много. Последние 2 коммента в скриншоте более чем верны.

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

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

Некоторые инженеры отлично решают задачки и без подготовки - ну ок, тоже неплохо)

Будут ли эти навыки использованы на работе? Ну только если делать что-то проактивно, что в целом весьма поощряется в Гугле, и когда-то поощрялось в Яндексе (теперь всё вымыто напрочь голзами и беспощадными ревью, где нужно найти причину (не)дать бабло).

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

Я однажды искал себе подработку. Было нужно. Попробовал в техподдержку пользователей Яндекса. Да, та самая, где надо пользователям помогать в веб-интерфейсе почты кнопочку найти или почту из папки в папку переместить.

Так как кандидатов много, то первый этап - тест. Вопросы типа "на ПК запущен процесс с выводом текста в консоль. Как понять, что процесс не работает?" и "пользователь просит переместить 2к писем из одной папки в другую. Что вы ответите?"

На первый вопрос 3-4 варианта кинул, на подобные второму отвечал, максимально придерживаясь корпоративного стиля Яндекса.

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

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

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

Странно что вообще от постороннего человека требуют какого-то "соответствия корпоративному стилю". КМК на такие должности надо в первую очередь отбирать по принципу - умеет общаться, не токсичен, спокойно отвечает даже на "тупые вопросы". А стилю можно и обучить перед началом работы.

Они стиль не требовали. Я просто копировал стиль из писем, которые от Яндекса в моей почте лежат.

Я же хотел "как можно лучше" :)

Наверное, их бесит стиль общения Яндекса.

Напоминает анекдот про мордоворотов на фейс контроле пафосных клубов, рядом с которыми ставят зеркало и говорят: «вот таких — не пускать».

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

А они подумали что вы дразнитесь. ;)

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

Так как с этого тестового у меня немного подгорело - пошел искать дальше и откликнулся на вакансию в поддержку бизнеса/гео-данные. Трудоустройство туда заняло у меня примерно месяц и 3 или 4 этапа тестов. В тестах, кстати, были и вопросы, ответы на которые человек узнаёт в процессе внутреннего обучения, но гуглёж помог. Ещё запомнилось бесконечное заполнение данных о себе по несколько раз. В течение месяца обучения (100+ страниц детальных мануалов) и работы (а-ля Толока) я обнаружил, что там нереально хоть сколько-то заработать и уволился.

Итого минус два месяца жизни. Зато опыт, одновременно, самого длительного трудоустройства и самой низкооплачиваемой работы в жизни :D

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

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

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

Какой процент из тех, кому так комфортнее на самом деле просто побоялись обострять обстановку, ответив ок?

А чего вы боитесь? Что вас не возьмут в компанию, где вы будете бояться ответить "нет"?

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

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

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

Завернут чуть потом. В Яндексе обращение на ты ко всем коллегам это корпоративный стандарт.

HR задал нормальный вопрос. Который чуть потом станет очень важен.

Ничего страшного, все люди разные

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

Блин, ну на основе одного человека делать выводы - такое)

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

А на подкорке у принимающих решение: да ну, сноб какой-то, софтскиллы плохие, отказать

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

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

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

интересно, вот в языках типа английского, где ты/вы в одном флаконе, по каким поводам запариваются носители?)

По местоимениям. Потому что твой гендер и местоимение могут не совпадать. Например, в Слаке часто пишут «John, he/him”.

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

Я независимо от обращения рекрутёра отвечаю на «вы» (если предлагают на «ты», поясняю, что так не принято), а при личной встрече предлагаю/соглашаюсь на «ты». Всё вежливо, без гонора, но с достоинством. А если рекрутёр принципиально требует фамильярностей, значит, наши переговоры зашли не в то русло.

Лично меня наоборот на собеседовании дико напрягает "выканье" и я обычно сам предлагаю на "ты".

Hidden text

Это ничего, что я к Вам спиной сижу?

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

очень веселый рассказ, спасибо. (но палец Татьяны все же надо найти)

Youtube / The Rock Finds A BFG | Doom | Sci-Fi Station

У меня только один вопрос: кто на каком-то там высшем уровне принял когда-то решение, что гонять людей по алгоритмам - это эффективная стратегия отбора? И по каким причинам он его принял? Иначе говоря, какой конкретно человек запустил эту моду на LeetCode-собесы и почему?

Еще было бы интересно узнать у яндека, а проводилось ли какое-нибудь A/B тестирование подходов к найму. Кто-то может сказать, что это дорого и зачем менять то, что работает. Но вопрос найма ведь стратегический и яндекс в состоянии себе такое позволить. Если люди, прошедшие не по алгоритмическим собесам будут не хуже алгоритмических, это ведь уже огромный плюс к пуллу потенциальных работников.

Примерно так: как там собесит условный гугл ? Так, а чем мы хуже ? Давайте эту систему копипастнем ... Платить можно пониже рынка (во всяком случае по РФ), к нам один фиг пойдут чисто из-за имени .

Ок, карго-культ, понятно, допустим. Тогда по-другому сформулирую вопрос: почему вот так вот делает Google? При этом раньше Google вообще задавал вопросы про канализационные люки и настройщиков пианино в Чикаго

И интернет был полон нытья по поводу люков. Ах так, пдумали в гугле... Ну, погодите!

Ну смотрите: 2 раза подряд интервьюером был буратино, читавший с листочка. Максимум такого буратины - это как раз скопипастить вам задачку с литкода. Таких буратин в каждой конторе пруд-пруди. И на пару порядков меньше людей, которые без этого булшита умеют расколоть и оценить кандидата. А show must go on, кандидатов много - поэтому буратины побеждают.

Как же эти буратины сами попали, если умеют читать только с листочка?

UFO just landed and posted this here

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

а почему сразу не прекратили собес ?

Просто интересно: а чем вы сейчас занимаетесь? Для понимания каких спецов отсеивает "хороший flow" найма

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

Потому что '..надо х.як-х.як - и в продакшн'

Почему все собеседования построены именно на решении задач на время, как будто набирают в спецназ?

Думаю, это оттого, что компаниям-гигантам в первую очередь нужны среднячки+ — люди, которые в короткий срок с плюс-минус приемлимым качеством могут деливирить фичи. И алгосы являются хорошей метрикой как раз для этого случая.

Мой мозг работает по другому - длительное время накапливает информацию, а затем выдает готовое решение во сне, стоя в душе или на прогулке, как некое озарение

Как это проверять на этапе найма? Может вы просто умеете хорошо рассказывать, а на деле все обстоит хуже. А таких людей немало (я и сам скорее такой).

Я тоже не понимаю интервью как из статьи, где три секции на алгоритмы, да еще и фидбек из разряда "не выделил в отдельную функцию". Но одна секция на алгоритмы вполне норм.

Поэтому экзамены, олимпиады и собеседования для меня огромный стресс

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

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

Тогда бы разрешали гуглить.

Хз в чём прикол алгоритмов.

Конечно во многом всё зависит от специфики, однако мне за 5 лет алгоритмы на практике ни разу не пригодились. Всё давным давно написано за меня, и протестировано миллион раз. Зачем мне изобретать свой велосипед?

А мне в гугле - много раз пригождались. Ваша проблема может быть в том, что вы даже не заметили, что вам алгоритмы-то нужны были.

Посмотрите те же задачки с литкода. Большая часть из них сформулирована "сделайте то-то и то-то". И можно это "то-то и то-то" буквально перевести в медленный код. А когда у вас еще и задача не сформулирована, а вам надо фичу запилить, то вот это "то-то и то-то" у вас в голове появляется как решение вашей задачи запилить фичу. Вы даже не рассматриваете это задачей, чтобы подумать, а может тут алгоритм нужен.

Всё давным давно написано за меня, и протестировано миллион раз.

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

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

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

Почему все собеседования построены именно на решении задач на время, как будто набирают в спецназ?

Потому что это более зрелищная клоунада, к тому же куда более понятная гуманитариям, чем реальная работа программиста.

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

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

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

Программиста на знание можно прогнать хотя бы: алгоритмы, языки, базы данных.

А вот менеджеров кто-нибудь прогоняет так?))

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

Почему все собеседования построены именно на решении задач на время, как будто набирают в спецназ?

Потому что кандидатов много, а Я один ). Захотят - могут потребовать ламбаду танцевать и видеоролик приложить с питчем о себе.

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

Да, тоже была история почти 3 года назад. Пытался найти место работы в айти после получения диплома о высшем образовании. Ну в итоге в Яндекс я попал на 3 месячную стажировку (оплачиваемую), но от первого письма до последнего когда сказали, что через 2 недели начинается стажировка и туда тебя берём, прошло не менее 4 месяцев, правда 2 недели можно вычеркнуть, майские праздники. И 3 собеседования проектных, собеседований на задачи и алгоритмы было штуки 4-5 как я помню. В итоге после стажировки не взяли, сказали мало опыта, но устроился в другую компанию.

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

Из статьи я не понял, вас всё-таки приняли или нет, и остались ли вы там работать?

Если правильно понял, то работает в Белграде.

А зарплата примерно на какую рассчитывали? Хотя бы на 400 тыс. за эти мучения и унижения можно рассчитывать?

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

Если вилку цен не озвучивают - это самый красный, даже краснючий флаг. Значит будут стараться предложить настолько мало, насколько получится, и скорее всего задачи будут давать такие, чтобы показать, что на большее вы и не подходите.
Когда еще учился в универе, к нам приходили кадровики из РКК Энергия. Про великую миссию рассказывали, про то, как космические корабли бороздят пространство вселенной, а на вопрос о ЗП - "Ну сначала устроится нужно, потом уже и за зарплату поговорим". Я не смог сдержать смех, и меня выгнали)

UFO just landed and posted this here

Яндексоиды сливают, договорившись об этом на внутреннем форуме, только тссс

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

При этом, с RSU у них можно выйти на вполне неплохие деньги -- знакомые там 600к в месяц пробивали в довоенное время, когда ещё и рубль был подороже.

UFO just landed and posted this here

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

Предложили разумный компромисс вестингу, больше года выдавали остатки рублями(раз в квартал). Затем остатки незавестившихся RSU переложили в зарплату.

Ссылка на коммент про стриптизёршу вообще кринж. Утверждения там голословные. Когда опционы работали, это было очень круто.

UFO just landed and posted this here
UFO just landed and posted this here

Да, так бывает. Когда я прошёл все этапы и ожидал оформления, мне внезапно сообщили об отказе с формулировкой "к сожалению вакансия была закрыта внутренним кандидатом". (ノಠ益ಠ)ノ彡┻━┻

Внутреннего кандидата тоже без алгоритмических собеседований не возьмут ни на какую вакансию.

Это гораздо лайтовее чем для любого из вне (даже не у яндекса)

А если он его заваливает, из яндекса увольняют или что делают в таком случае?

Полагаю что остаётся на своём же проекте.

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

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

И правда и нет. Один мой знакомый переходил из тестировщиков в разработчики. Первый собес на алгосы прошел очень слабо, второй завалил. В итоге все равно взяли.

Ох, этот маршрут я воспроизвожу уже пять лет, но "все равно" не срабатывает...

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

Справидливости ради, код у вас весьма переусложнен. Сравните с этим:

lass Solution {
public:
    int trap(vector<int>& height) {
      int max_index = 0;
      for (int i = 1; i < height.size(); ++i) {
        if (height[i] > height[max_index]) max_index = i;
      }
      int total_water = 0;
      int current_max = 0;
      for (int i = 0; i < max_index; ++i) {
        current_max = max(height[i], current_max);
        total_water += current_max - height[i];
      }
      current_max = 0;
      for (int i = height.size()-1; i > max_index; --i) {
        current_max = max(height[i], current_max);
        total_water += current_max - height[i];
      }
      return total_water;
    }
};

Но вообще, идея разбить массив на 2 части максимумом у вас шикарная. Если бы меня не просили решить за O(1) памяти, я бы остановился на решении за O(n) памяти: сохранил все максимумы в префиксах одним циклом в векторе, а потом при проходе назад брал бы минимум из левого и правого максимума.

Не надо никаких лябд и рэнжей, ибо основной цикл, который вы пытались не писать 2 раза - это всего 2 инструкции. С таким повторением код читабельнее, ИМХО. Ну и короче, естественно. Поиск максимума можно и заменить на std::max_element, но максимум одну строчку вы там сократите.

Код я тогда не рефакторил, просто вставил в литкод.

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

Хм, можно и одним проходом:

class Solution {
    private data class Head(
        val direction: Int,
        var index: Int,
        var value: Int = 0,
    ) : Comparable<Head> {
        override fun compareTo(other: Head): Int = value.compareTo(other.value)
    }

    fun trap(data: IntArray): Int {
        var sum = 0

        val ltr = Head(
            direction = 1,
            index = -1,
        )
        val rtl = Head(
            direction = -1,
            index = data.size,
        )
        do {
            val smallestHead = minOf(ltr, rtl)

            val nextIndex = smallestHead.index + smallestHead.direction
            val nextValue = data
                .getOrElse(nextIndex) { 0 }
            when {
                nextValue > smallestHead.value -> {
                    smallestHead.value = nextValue
                }
                else -> {
                    val rem = smallestHead.value - nextValue
                    sum += rem
                }
            }

            smallestHead.index = nextIndex
        } while (ltr.index != rtl.index)
        return sum
    }
}

А можете объяснить суть решения?

что такое rem?
Ну и вообще, смысл?
Есть две границы ltr и rtl?
Далее выбираем наименьшую(smallestHead) из них по значению value.
Следующий индекс определяется как сумма index и direction этого наименьшего значения.

Получаем след.значение массива по этому след.индексу - либо ноль, либо значение.

Если следующее значение больше самого маленького (наименьшего smallestHead),
то присваиваем след значение этому smallestHead

Иначе находим разницу между наименьшим значением и следующим и суммируем к общей сумме.
И присваиваем в конце меньшему smallestHead индекс следующего

Я все разобрал, но магии не понял в решении задачи с водой https://leetcode.com/problems/trapping-rain-water/description/

В процессе найма тоже имел дело с яндексом.

  1. Позвонили, НеРелевантная позиция идти в доставку с бэкграундом в электроннике, в резюме.

  2. Выполнил тестовое (QA), отклонено, обратная связь без описания причин отказа.

  3. Снова QA, ответ через 8 месяцов, без скринингов, без техинтервью, что вакансия закрыта (ммм... не удивительно).

    У яндекса имеются классные продукты, но следуя кадровой политике, что оно применяет сейчас, оно может скатится в днище.

UFO just landed and posted this here

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

На заводах обычно Цикл выглядит так. Закупка необходимых компонентов -> производство продукции -> продажа готовой продукции -> закупка необходимых компонентов. То есть без денег нельзя купить новые компоненты, без новых компонентов, нельзя произвести новую продукцию, без наличия готовой продукции её нельзя продать, чтобы на полученные деньги купить новые компоненты, из который будет производиться новая продукция и так далее. И когда Цикл выходит на «проектную мощность», то он будет работать по инерции. И если на всех этапах Цикла нет косяков и достаточно рабочей силы, то все те процессы, которые не являются частью Цикла могут не влиять на него настолько, что сломают работу Цикла. И из-за этого некоторые процессы не входящие в Цикл могут быть нарушены, так как не являются основными для получения прибыли. То есть даже их поломанные процессы могут быть достаточными для того, чтобы поддерживать работу Цикла. И обычно чинить эти процессы начинают только тогда, когда они начинают влиять на работу Цикла.

У меня есть подозрение, что в Яндекс есть тоже самое. Может быть даже на уровне HR. Типа В отчётах есть нехватка спецов -> найди новых соикателей -> отсей за невыполнение заданий по алгоритмам -> добавь в отчёт нехватку спецов

это когда были эти собесы? Просто один в один как у меня несколько лет назад)

Ага! Попался самозванец! Вывел тебя Яндекс на чистую воду, никакой ты не программист!

Hidden text

сарказм, конечно

@Kelbon Восторг, у меня на собесах в Y не было ничего с leetcode, это больше было похоже на задачи с yandex.code.

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

Поделюсь своим опытом, летом собеседовался на позицию тимлида в ML. Обещали три секции - 1) код 2) прикладной ML 3) лидершип (скатали у Amazon лидершип принципы и всю методику).

Итак:

  • Код: две задачи уровня медиум литкод. Решил за 45 минут, даже осталось много времени, собеседующий сказал, что на этом всё, можем просто поболтать.

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

  • Лидершип: это секция булшит-вопросов в стиле «на вас орет начальник, команда вас ненавидит и устраивает гражданскую войну, ваши действия?». Был готов к ней и прошел идеально. На что получил максимально позитивный фидбек, но оценку немного снизили по причине, цитирую «скорее всего в FAANG готовился». Ха-ха.

И тут нужно было ждать финал и оффер? Как же. А давайте еще АА секцию пройдём? Алгоритмы. Причем я уточнял не раз, мне правда на позиции тимлида придется КОДИТЬ? Алгоритмы? Ну ок, не бросать же. И четвертую секцию я завалил (решил 1 задачу из 2), тк совершенно был не готов к задаче на дерево, внутри которого нужно было найти все одинаковые подмножества букв, образующиеся проходом по под-дереву). А проходной фильтр это 2/2 задач.

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

И это не конец. Недавно пришел рекрутер в личку и предлагает пройти 5 собесов заново!! Я ему говорю — уже проходил 3 таких, вы же даже фидбеки видите. А мне в ответ — «да, вижу, хорошо прошли, но это другой Яндекс, давай заново». Смеяться или плакать?

Желаю успехов Яндексу в найме.

другой Яндекс

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

А потом мне прислали документы об оформлении на работу в НЕ ТУ СТРАНУ. То есть они даже не понимали, что я уже работаю в их же офисе...

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

А на ML секции кодить не надо было, просто пофантазировать?

К счастью, нет. Она была разделена на две части: 1) теоретические вопросы по комп. зрению (детекция, классификация, сегментация) и немного по базе глубокого обучения. 2) System Design кейс: «есть такая-то система с камерами, нужно сделать то-то». На понимание как строить полный пайплайн от сбора и разметки данных до выбора правильных алгоритмов, использования нейросетей в условиях разных ограничений на тип камеры, объем хранение данных, скорость работы алгоритмов, канал связи и т.д. и т.п.

Тему яндекса для себя закрыл давно и навсегда.

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

Короче стал искать работу (С/С++, опыт 25+ лет, все дела...). В т.ч. и в яндекс подавался. Тогда отказали, но, видимо, где-то там осел у них.

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

А еще через полгода рекрутер из яндекса - вы нам интересны, хотели бы поговорить. На что резонно ответил что работу уже не ищу, у меня все хорошо - задачи, команда, руководство, условия - все устраивает. Но прилипла как банный лист - ну может хотя бы поговорить. Ладно, за поговорить денег не берут - вдруг там что-то мегаинтересное. Но сразу поставил условие - только разговор. Чем занимаются там, какие задачи и все такое. Может мне это сразу не подойдет, может мой опыт для них "нерелевантен"... Договорились, назначили встречу (онлайн). Подключаюсь - интервьюер сходу - у меня тут дала срочные, давайте на полчаса перенесем. Ну ладно, может действительно что-то там... Через полчаса - мы тут подготовили тестовое задание... Извините, с рекрутером договаривались иначе - вы рассказываете что у вас, я рассказываю что умею и чем занимался, а дальше смотрим возможен ли взаимный интерес. Так-то у меня уже есть работа и неплохая. Нет, у нас порядок, протокол, все такое. Ну и до свидания тогда. Мне все это сразу стало неинтересным.

С тех пор еще раз-два приходили, но тут уже сразу рекрутеру объяснял что не моя тема и даже пробовать не стану.

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

Заметил в статье весомый плюс: Яндекс предоставляет достаточно развернутую обратную связь, причем по каждому этапу собеседования. Всем бы так поступать!

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

этого плюса нет, лично мне не предоставили вообще никакую

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

В принципе, простая и логичная идея. Делаем 15 уровней собеседований, от изи до супер-хардкор. Если прошли все 15 уровней, берём на должность технического директора (предыдущего выгоняем, он провалился на 14м, 15й придумали уже после его прихода). Если провалились, например, на 7м — будете миддлом. Если на 9м — синьором...

;)

ХА, ЛОЛ!

Ты даже не попал на самое основное! Там ещё смешнее! Знаете почему в яндексе так много этапов собеседований? Это как напроситься монахом в какой-нибудь буддийский монастырь. Надо показать что ты очень хочешь работать с их страной велосипедов. ТАМ ВСЁ НАФИГ СВОЁ! ВСЁ! Нет, некоторые решения конечно удачные, но в основном это кривые велосипеды. Никогда не пойду работать в яндекс. Платят там не сильно больше, чем в остальных компаниях, а головняк огромный.

P.S. Я почти уверен, яндекс парсит комменты хабра на предмет хейта, так вот вам хейта. ПРИДЕЛАЙТЕ БЛИН КНОПКУ СМЕНЫ АККАУНТА ВО ВСЕХ СЕРВИСАХ! ХРЕН ЛИ Я ДОЛЖЕН ЛЕЗТЬ В ПОЧТУ МЕНЯТЬ АККАУНТ, ЧТОБ ЗАКАЗАТЬ ЕДЫ С ПРАВИЛЬНОЙ УЧЁТКИ?

 страной велосипедов

дошёл-дошёл, да, абсолютно всё своё. И главное - оно так не исторически сложилось, а сравнительно недавно начали такой тренд. Как по мне это просто ошибка "дизайна", взвалили на себя всё и объективно не тянут уже

Да какой уж недавно? Велосипедов много было всегда. Если есть доступ к внутренней вики, можно глянуть на y5 или XScript.

ХРЕН ЛИ Я ДОЛЖЕН ЛЕЗТЬ В ПОЧТУ МЕНЯТЬ АККАУНТ, ЧТОБ ЗАКАЗАТЬ ЕДЫ С ПРАВИЛЬНОЙ УЧЁТКИ?

А хрен ли вы не используете Multi-Account Containers в Firefox-е?

Удивляет, что разработчикам дают решать задачи для аналитиков или архитекторов. Разработчику лучше давать постановку и смотреть, как он её реализует на имеющемся стеке

В Яндексе разработчики должны уметь архитектуру. В статье не написано, но должно было быть ещё архитектурное интервью. 7-м или 6-м по счету , сложно сказать :)

Это еще что. Пришел в одно место на собеседование на разработчика C# (веб-бекенд). И меня первым делом спросили про модель OSI. Я сперва подумал, что я по ошибке куда-то не туда зашел. (Что смешно, я когда-то в универе курсовую по этой теме писал, но это было почти 30 лет назад - и, естественно, что я уже почти ничего про это и не помню).

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

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

1)Если вы копипастите собесы с FAANG, готовы ли вы предоставить такие же условия, как и они ? И почему вы решили, что такой метод отбора эффективный ?

2)В чем цель алгоритмических собесов ?

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

-- Вы хотите проверить навыки мышления ? Тоже лесом, так это зубрежка. Как в ЕГЭ. Есть люди, которые любят решать такие головоломки , а я лично люблю оружие, может на собесах спрашивать про него? Если не соберёшь автомат с закрытыми глазами за 25 сек, в пролёте.. Если завтра фанги начнут так делать, это тоже будут копировать и даже будут адепты таких собесов

-- Вы хотите иметь единый стандарт отбора ? Отлично работает, если вы нанимаете кассиров, грузчиков и т.д...Типовой отбор+ огромная текучка на таких работах это норма... Очень плохо работает, если от сотрудника вам нужен интеллект (hard + soft skills) + адекватная цена + у вас не типовые проекты и задачи

человек может вызубрить литкод при этом вообще не уметь работать и положить вашу базу такими запросами

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

Как в ЕГЭ.

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

Вы хотите иметь единый стандарт отбора

Это один из главных плюсов алгоритмических интервью, да.

Очень плохо работает, если от сотрудника вам нужен интеллект

фаанги считают, что работает неплохо.

фаанги считают, что работает неплохо.

Хех, в свое время фаанги считали, что вопросы про квадратные люки "работают неплохо", все эти дурацкие вопросы у них передирали. Сейчас "концепция поменялась", в моде 100500 алгоритмических задач, теперь принято на это "молиться", через N лет будут "молиться" на что-нибудь еще.

Только религия претендует на истину в последней инстанции. То, что "концепция поменялась" - это отлично. Это значит, что есть прогресс.

Это значит, что есть прогресс.

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

Выставил резюме на hh, от Я 3 бота начали долбить одновременно, на авах красивые девушки, явно не живые люди, абсолютно одинаковые сообщения и ответы.

Три "алго собеса" -- это, имхо, максимум который должен быть. А вообще лучше два. Какие, нахрен, 6+ алогособесов? Лучше, уж, посидеть и хорошенько придумать задачи, которые будут оценить именно умение подумать над задачей (даже если нет правильного решения), а не заучивание литкод паттернов, которые сами же интервьюеры потом пытаются опровергнуть путем вот такого же бесчисленного числа интервью. Типа, а может он заучил? Давайте еще одно интервью! А может и тут повезло? Давайте еще одно! В итоге трудозатрады на вот такие интервью у обоих сторон будут большими. А у кандидата, так еще и здоровье подсядет. Но ведь собеседование не должно быть таким стрессовым, если только не в "армию".

UFO just landed and posted this here

Хм, откликался на вакансию ночного администратора в Я(ндекс), на hh была одна сумма ЗП, а в сообщении от Я(ндекс), после прохождения теста, другая сумма и причем в меньшую сторону. Всегда интуитивно не любил Я(ндекс), а фактов убеждающих меня, что интуиции стоит верить всё больше.

Я конечно могу понять зачем существует секция кодинга для разработчика. Но вот зачем секция кодинга для DevOps/SRE? Всего лишь чтобы отсеять и попытаться сбить зарплатные ожидания?

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

Зависит от секции кодинга, написать простенький Cluster Operator - очень даже в тему.

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

Все верно. Для успешного прохождения надо еще прокачать навык написания на бумажке/доске. А еще могут предъявить, что а вот тут у вас не компилится, точку с запятой не поставили. Думаешь про себя, ёмаё, это ж бумажка, пойдет для обрисовать поверхностно решение, но не продакшн код. Я не знаю кто как, но у меня хитрые моменты в коде пишутся не за одну итерацию, сперва крупными мазками так сказать, потом всякими ньюансами дополняется. Когда все это на бумажке, правки наползают одна на другую и все превращается в нечитаемую кашу из перечеркнутого, вставленного и т.п. Прокачивать скилл сразу чистого написания - идиотская затея, достижимая разве что заучиванием правильных решений, что есть абсурд.

Я полностью согласен. Я отвечал на вопрос "зачем кодинг для devops/sre".
Я понимаю как Яндекс внутри обосновывает эту алго-чушь, но фишка в том, что она нужна им для 5-10% персонала максимум, а они её применяют ко всем.
У Avito тоже самое, проектируют твиттер на собесах, и вроде MVP, а вроде и не MVP и бюджет 20 лямов $. Просто взаимоисключающие параграфы.
Мне раньше интересно было поработать в яндексе/авитах и тд, мне интересны люди которые сделали тот же сфинкс или https://github.com/avito-tech/navigator, но я больше никогда не буду тратить время на собеседования в их компании, если прям хотят - 100$/час по предоплате за полный цикл, включая скрининги, подготовки, дорогу в офис и тд.

Я собеседовался в американскую фирму, косящую под Faang. Было четыре собеса с кодингом. Все задачи не идеально, но решил. Пришло письмо, что продолжать не имеет смысла. Так что такая петрушка не только в Яше.

О, тоже не так давно проходил к ним собесы. С самого начала был настроен скептически, так как много читал про собесы в Яндекс, но для опыта решил поучаствовать. В итоге на третьем интервью не успел решить одну задачу и мне написали, что не могут пригласить меня на следующие (!) этапы. Вообще весь процесс был очень странным. Один из собеседующих параллельно занимался какими-то своими делами и, по-моему, даже не смотрел, чего я там нарешал. Обратная связь от HR приходила примерно через неделю. На три этапа ушёл почти месяц.

Где-то есть рейтинг российских IT компаний по отзывам работников и кандидатов?

Спасибо, вот который на карьере это интересно. Посмотрю.

Который на карьере - не понял как там все отзывы посмотреть. Видно только последний.

Можно, по отдельной компании. Тыкаете в компанию, дальше "ОЦЕНКА В ДЕТАЛЯХ"

Этим летом написала эйчар с предложением пособеседоваться в минский офис в команду которая занимается алисой. Первые два собеседования (естественно с задачами) прошли ровно. Из удивительного: на первом собеседовании, после того как я быстро решил задачу и ответил на уточнающие вопросы по алгоритму, собеседующий начал задавать вопросы по плюсам и чем я занимаюсь на нынешней работе (необычная ситуация для собеседования в яндекс, я считаю). Вторая секция была типичной для Яндекса, но вот третья. Эйчар сообщила что на третьей секции будет специальный собеседующий, то ли он какой-то лютый алгоритмист, то ли он только собеседованиями и занимается. Так вот на третьей секции я жестко затупил на второй задаче, собеседующий мне сразу сказал, что можно получить сложность O(1). Я эту задачу и так крутил и этак, ну никак не получалось O(1), с горем пополам и подсказками от собеседующего выдал решение O(n) и его это не устроило. В коцне концов он написал своё O(1) решение, мне ещё тогда показалось странным, что он проигнорировал один входной аргумент. Я тогда решил, что раз уж собеседующий в очках, то он умнее меня и не стал задавать вопросы. Сразу после собеседования начал крутить его решение и оказалось что оно работает только в определённом случае и вообще его можно назвать неправильным. То есть если бы эта задача была на литкоде, то 100% его решение не было бы принято.

Пост с юмором, очень понравилось! Особенно изображение компьютера, к которому идёт палец Татьяны )))

Мне кажется как-раз в Яндекс я решал задачки вообще без конкретного языка, там нужно было просто в блокноте рисовать как ходят у меня указатели на данные и объяснять, что я хочу сделать. Это вот было на алгоритмы как-раз. Я так понимаю задачка - это на конкретном языке решение, а алгоритмы - это просто алгоритм придумать и на пальцах описать, код не нужен. )

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

У меня аж слезы выступили от смеха. Воистину театр абсурда какой-то)

Я наверное что-то не понимаю, но какова мотивация людей проходить много кругов собеседований до того, как объявлена предлагаемая ЗП?

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

@wataruа можно я воспользуюсь случаем и поинтересуюсь, почему в чудесном хроме, написанном не менее прекрасными олимпиадниками, начиная с какого-то момента диалог сохранения файлов перестает появляться сразу после запуска браузера, и пока вручную не скажешь ему удалить историю загрузок? При том, что после перезапуска в истории всплывают айтемы, которые там были чуть ли не полгода назад, несмотря на удаление. Наверняка там этим завидует какой-то хитрый алгоритм. Я бы даже сказал, слишком хитрый, чтобы работать нормально.

гипотеза: этот код не тестировался совсем, у тестировщиков браузер настроен "по-безопастному" - "удалять всю историю при выходе" или вообще "Incognito" (в терминологии фаерфокса "Private browsing mode").

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

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

Оставьте, пожалуйста, баг-репорт на crbug.com. Сразу советую: запустите хром с включенным логированием, воспроизведите проблему и приложите файл chrome_debug.log к вашему репорту.

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

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

  1. Запускаем браузер, открываем какой-нибудь сайт. Пытаемся сохранить картинку. Диалог не появляется.

  2. Заходим в историю загрузок, чистим ее полностью. Диалог появится при следующей попытке сохранения.

  3. Если перезапустить браузер, то баг снова проявится. При этом в истории загрузок могут всплыть элементы, которые уже были ранее удалены.

Что я выяснил по ходу дела:

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

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

  • В дебаг-логе нет абсолютно ничего в момент "непоявления" диалога сохранения файла.

Не принимайте близко к сердцу по поводу олимпиадников. У меня просто с ними довольно негативный опыт работы. Они делают хорошие алгоритмические решения, но часто пишут отвратительный код. Если в FAANG еще какое-то ревью, возможно, делают, то в российских компаниях на это кладут болт, и порождение ужаса продолжает плодиться. Олимпиадник хорошо работает вкупе с руководителе-архитектором/лидом, который ему объясняет, как правильно проектировать.

UPD: Вот сейчас, после очередного перезапуска, в истории загрузок есть один айтем от 2016 года, в дополнение к исключительно сегодняшним. Хотя с того момента удалений было тьма.

Вы с --v=1 запускали хромиум? В любом случае, пожалуйста, отправьте баг-репорт.

Да, разумеется. Я в точности следовал вашим инструкциям)

Отправлю.

Логику этого решения я объясняю ?.. отсеиванием слишком квалифицированных сотрудников?..

Логика в том, что в оценке после интервью ставят не только "нанять / не нанять", но и грейд, с которым нанимать. И если дать слишком простую задачу, то у кандидата не будет шанса доказать свою сеньорность/лидовость, получит обычный средненький грейд.

А помогите решить задачу со столбиками воды. У меня она до сих пор не решеная на leetcode.

Я как раз думал над ней последнею неделю, и тут в статье обсуждается подобная задача. Причем я пришел к выводу что у меня совершенно нет идей как решить её меньше чем за О((n^2)/2). Собеседование я бы завалил, но я и не стремлюсь в яндекс, а решать алгоритмические задачи люблю. Код не смотрю специально, хочу сам додуматься. Нужна только идея в какую строну думать.

Hint: проход в одну сторону, потом проход в другую.

Это в своё время, скорее всего, была научная статья. Поэтому либо вы знаете, как решать такие задачи, будучи натренированными на них, либо у вас нет никаких шансов её «решить». На собеседовании вы не решаете задачи — для этого слишком мало времени, а вспоминаете решение подобных.

Hint: проход в одну сторону, потом проход в другую.

Это очень плохая подсказка на самом деле.

Это в своё время, скорее всего, была научная статья.

Ну уж нет. Можно до этого допереть лишь чуть-чуть подумав. Рассмотрите один столбик. Если там вода какой-то высоты, значит, она на этой высоте не вытекает и где-то слева и справа во что-то упирается. Значит и слева и справа должны быть столбики хотя бы такой высоты. Раз выше этого уровня вода стекает, то хотя бы с одной стороны максимальный столбик именно такой высоты и не выше.

Решил поупражняться, в общем решение вроде нормальное нашлось. Сама идея такая же, но другими словами:

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

Вот тут это не работает: {3,2,1}. Самый левый столбик выше, вы что-то прибавляете к ответу, а в итоге-то должен 0 получиться. Или тут тройка - максимальный столбик и поэтому ни разу не выполняется эта операция слева?

Слева не выполнится, т.к. самый высокий первый (идем сперва слева направо до самого высокого). Но при проходе справа налево все встанет на свои места. Ну и до кучи, с всотами 3,2,1 все равно ноль будет. Надо хотябы 3,2,0,1

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

Еще, вместо поиска максимального столбика, можно сдвигать вот так левый или правый край - в зависимости от того, что меньше. Кстати, решение за O(1) по памяти получается. Найс.

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

Я вот как представил (нарисовал) себе процесс сдвигания столбика и как он вытесняют воду,

Но ведь и в тесте {3,2,1,2} самый левый столбик точно также вытесняет воду. Почему нет? Почему надо именно до максимального столбика это делать?

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

Более менее математическое доказательство ваших алгоритмов - это очень полезное дело.

Я не владею теорией по доказательствам алгоритмов. Я отталкивался от физической картинки процесса и для меня эта картинка очевидна. Если начать двигать самый высокий столб в какую-то сторону, то мне не очевидно, как посчитать сколько и чего он там вытеснет, потому как неизестно, есть ли барьеры для образования бассейнов для воды по сторонам от этого столба. А если двигаться навстречу самому высокому, то все попадающиеся на пути бассейны действительно бассейны, потому что они где-то впереди ограничены как минимум этим самым высоким столбом.

Я не особо опытный решатель подобных задачек, но в итоге пришел к такому алгоритму: я беру нижний ряд, и суммирую "пустые ячейки" (нули) между двумя крайними "не пустыми ячейками". А "не пустые ячейки" уменьшаю на 1, тем самым перехожу к ряду повыше. И так пока у меня есть хотя бы 2 "не пустые ячейки". То есть если у нас на входе [3,0,1,0,2], то после первого прохода сумма будет 2, а массив превратится в [2,0,0,0,1], затем сумма станет 5, и массив превратится в [1,0,0,0,0], и на этом завершится.

А почему ты hr не написал, что у тебя собеседующий не знал кресты и ты ему весь собес рассказывал про них? Причем, кажется, что нужно было сразу после собеса писать и не дожидаться результатов

Там пройди тренинг на интервьюера и походи-пособеседуй, много нового узнаешь...

две хард - вызывает уважение, хотя одна из них встречалась, но сталкивался с hard, которую я решал неделю

Слабовато готовят интервьюеров в Яндексе :)

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

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

А в чём проблема реализовать merge sort или quicksort? Это достаточно простые алгоритмы, если не загоняться супероптимизациями. HashMap ещё проще.

Ну ок, хотят проверить знание каких-то базовых вещей.

Спасибо за отличный рассказ и прелестный юмор! Это в копилку треш-рассказов про некогда лучшую IT-компанию России

Спасибо! ваша статья украсила мой день, я получила огромное удовольствие от чтения!

знакомлюсь с командой... В которой нет никого, кто пишет не на Python.

Так это же круто. Можно по памяти написать что-то вроде

from openai import OpenAI

client = OpenAI(api_key='...')
completion = client.chat.completions.create(
  model="gpt-4",
  messages=[
    {"role": "user", "content":"Дан массив из нулей и единиц. Нужно определить, какой максимальный по длине подинтервал единиц можно получить, удалив ровно один элемент массива."}
  ]
)
print(completion)

Или такое решение по какой-то причине не принимается?

Раньше были stackoverflow кодеры, которые могли только первый похожий на решение код оттуда скопировать. Теперь будут GPT кодеры, способные производить еще больше бреда за то же время.

Разумеется, такое решение не принимается. Попробуйте вы на экзамене по ПДД написать что-то вроде "вон в методичке же все написано".

А главное, никогда не спрашивайте у этих нейросеток вопросы по теме, в которой вы не эксперт. У них нет знаний, нет разума или абстрактного мышления. Только статистика. И они выдают статистически самый вероятный ответ. С очень умным видом и очень правдоподобно. Они просто не умеют говорить "я не знаю". С очень ощутимой вероятностью оно вам выдаст правдоподобный бред, ошибку в котором вы никак не найдете.

Разумеется, такое решение не принимается. Попробуйте вы на экзамене по ПДД написать что-то вроде "вон в методичке же все написано".

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

У них нет знаний, нет разума или абстрактного мышления. Только статистика. И они выдают статистически самый вероятный ответ. С очень умным видом и очень правдоподобно. Они просто не умеют говорить "я не знаю". С очень ощутимой вероятностью оно вам выдаст правдоподобный бред, ошибку в котором вы никак не найдете.

Это вы про нейросети, или про программистов, которые бросаются решать любую задачу по-своему, игнорируя десятилетия накопленных знаний? И считают, что они сами напишут алгоритм лучше, чем в учебнике (научной работе, методичке, stackoverflow, etc), куда они принципиально смотреть отказываются?

Программистам вроде-как не нужно уметь решать leetcode задачки за доли секунды в аварийной ситуации,

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

Это вы про нейросети, или про программистов, которые

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

лучше, чем в учебнике (научной работе, методичке, stackoverflow, etc), куда они принципиально смотреть отказываются?

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

Не думал, что среди программистов есть настолько талантливые комики. Автор, ты мой кумир. Пошел изучать С++

кажется нужно чтобы все следующие этапы после 1-го были платными, чтобы не тратить время кандидата просто так, и либо отказывать сразу, либо хотя бы компенсировать его потраченное время из-за непутевых/интервьюеров HR

Обычно я на интервью, сразу задаю один очень простой вопрос: для каких задач Вы ищете программиста ? Если интервьюер не может ответить на вопрос, сразу прощаюсь. Таким компаниям разработчики не нужны. Ответы типа у нас много проектов и прочие, туда же. Возвращайтесь когда у вас будет понимание проекта и вы сможете объяснить зачем я вам понадобился. Да, это отсеит 95% вакансий, но сбережет мое время и нервы. Я понимаю, что кандидатов много, и HR делает некие воронки кандидатов пытаясь отсеить лучших и прочее. К сожалению, сейчас это не работает и как правило лучшие остаются out of scope. Причина очень проста. На интевью сажаются далеко не лучшие программисты. Я бы даже сказал, что худшие. Ведь не будете жы вы отрывать от работы хорошего программиста, что бы он потратил время на ваше интервью. Вы посадите посредственного. Многие HR-ы считают, что если интервьюер отсеивает 100% кандидатов, то он крут. И им часто не в домек, что если он не может выбрать из десятка двух кандидатов, то что то с ним не так. Если компания, не может закрыть вакансию за 3-5 дней, что то с ней не так. Можно привести еще множество если. Но смысл, в том, что превращая найм программистов, в некий конвеер, компания теряет 99% отличных кандидатов.

У меня был смешной случай. Собеседовался в одну смешную конторку, которая позиционировала, себя как супер профи, работающих только с финтехом. Прошел одно интервью, на втором послал, после неспособности объяснить что за проект и пр. Буквально через полгода, устроился в некий бидишоп, и что бы вы думали. Появляется на горизонте эта самая конторка, которая организовывает мне интервью со своим американским заказчиком (финансовый брокер), и который принимает меня на проект после первого интервью но уже как outsourcer от этого бодишопа. Проработал в этом проекте еще год потом. Т.е. как кандидат в штат, я им не нужен был. Не смогли замотивировать, отсеяли и пр, не важно какие причины, а когда дело доходит до конкретных проектов, где надо работать и применять знания и главное опыт, то пожалуйста. Чудны дела твои господи.

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

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

В больших компаниях интервью часто проводят Hiring Manager'ы - тим лиды, engineering manager'ы, директоры инжиниринга, т.е. программисты, которые так же занимаются менеджментом.

13 раундов. Итог: я получил приглашение на 14-й раунд!

Это всё собесы или уже финалы?

У меня было 4 собеса и 7 финалов, причём я понять не мог, почему так много.

Оказалось в итоге, я им нравился, но денег не было

У меня примерно та же пропорция + архитектура и статистика. Впрочем, на финалах я также решал задачки. Причем решал их все отлично, не знаю зачем они их продолжали задавать. На 10-ом раунде всё шло к офферу (задачник кончался), но они решили устроить раунд по статистике. Наконец я этот раунд завалил, за что получил еще несколько раундов с задачками. Я сказал что приду на 14-й этап только после получения оплаты за предыдущие этапы. Года 3 прошло с тех пор, оплаты так и нет (

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

Мне кажется ТС мог бы свой "яндекс" сделать, но он пошел работать к ссаным питонщикам? Работы чтоль нет? Со знание C++ гораздо больше можно заработать и в РФ

Поделюсь историей, которую мне рассказал сам участник событий. Летом один мой знакомый пытался пройти в Яндекс. Очень долго и старательно готовился, потратил кучу времени и сил. С потом прошел все собесы, добрался до финального босса - лида команды, получил от него положительный фидбек и обещание офера. Уже успел порадоваться - почти сбылась мечта) И тут к нему возвращаются ...с отказом без объяснения причин. Штоооо?!!! - подумал я. Только через личные связи ему удалось выяснить: оказывается, несколько месяцев назад он пытался туда залететь хотя бы на стажировку и завалил входное тестирование. В результате чего, оказался в блэклисте найма на год. Такие дела. Не взяли просто из принципа.

Кстати, да. Туда на стажировку отбор гораздо жестче, чем в штат. Надо решить 5 задач из 5, чтобы эйчар просто посмотрел твое резюме (и он еще может завернуть). Очень легко завалить этот контест, решив даже 4 из 5. Если это причина добавления в черный список, то плохо дело...

@Kelbonстиль и суть мое почтение! Интересно с другой стороны - а какая мотивация идти в Я? Кроме случаев, когда чел спит с яндекс колонкой и это его религия. Строчка в резюме - только начале карьеры, зп - можно больше почти в любом месте из финтех

Платят то хоть по рынку или как обычно 200к за сеньорскую позицию - работать в Яндексе большая "честь"

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

Sign up to leave a comment.

Articles