Доброго утречка. Прогреемся?

Мое мнение не отражает позицию какой бы то ни было компании. Все совпадения с вашими нанимающими менеджерами случайны. Мой бывший Director Title в одном из топ-трех русскоговорящих бигтехов никакого отношения к высказанному не имеет и совпадения с ним тоже случайны. Кто захочет — при желании найдет, где и чем я занимался последние 10 лет и почему мое мнение имеет ценность.

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

Зачем вы пишете сортировку пузырьком?

Итак, почему многие интервью — такое непроходимое говно? Зачем вы пишете сортировку пузырьком, после которой будете перекладывать джейсоны? Для чего делаете поиск по префиксу, если потом верстаете дебильные SPA?

Короткий ответ: бигтеховское интервью — это простая проверка сообразительности и ничего более. Аналог теста на IQ для разработчиков со всеми плюсами и минусами теста на IQ. Никакого другого глубокого смысла в него не заложено. Это просто лучшее, что мы придумали 10-20 лет назад, вот и всё. Ни одной разумной причины применять этот подход, если компания не является бигтехом (несколько тысяч разработчиков), нет — это просто необдуманное копирование не самых квалифицированных людей. Исключение: компании, создающие реально алгоритмически-сложные технологии, например, свои СУБД.

Почему бигтехи придумали именно это

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

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

Получается, тебе нужен не слишком замудренный, более-менее простой способ ЕДИНООБРАЗНО оценивать людей, которые дальше будут заниматься супер-разной работой. "Если человек хороший и быстро соображает — глядишь, научится нашему зоопарку".

Как это сделать? Начать всех более-менее единообразно собеседовать. Можно было бы давать задачки на логику (как у менеджеров раньше было, "сколько мячиков для гольфа поместится в задний проход медведю Гриззли"), но..блин, разработчиков же все-таки хочется. Давайте выберем какой-то аналог "задачек на логику и базовую эрудицию" для разрабов. Ну и — да, неплохо, если они какое-нибудь образование получали (да-да-да, Стив Джобс справился без него, но на больших числах и больших массах статистика есть статистика. Мы все же не одного самородка ищем, а 500 человек в год нанять собираемся. Самородок там уж как-нибудь попадётся).

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

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

Кстати, бигтехи не сами это придумали. Формат "дадим абстрактную задачу и посмотрим, как думает" пришёл из McKinsey 1960-х — там давали такие же абстрактные бизнес-кейсы. Google в 2000-х заменил бизнес-кейсы на алгоритмы, но логика интервью поменялась мало, просто задачки сделали "для кодеров". Laszlo Bock, VP People Operations Google, позже признал что brainteasers "не предсказывают вообще ничего о производительности сотрудника" и предложил structured behavioral interviews (книга "Work Rules!", 2015). Но алгоритмические секции никуда не делись — по причинам, которые я описал выше.

И самое страшное — для бигтеха работает

Нормально работает, если ты большой.

Люди, легко рассуждающие о сортировках, префиксах и графах, действительно без проблем разбираются, как перекладывать джейсоны и писать запросы в постгрес. Тратят на это до полугода (приемлемый срок “вкатывания” в бигтехе, у корпорации есть это время), но разбираются.

За последние 3-4 года, кстати, кастомные скиллы тоже начали проверять. Я не везде, но встречаю в больших компаниях секции по "платформе", например, поглубже поговорить про golang и postgresql, или про flutter и особенности кроссплатформенной архитектуры. И это хорошо, это правильно и должно расти. Гораздо разумнее "общий интеллект" мобильного разработчика проверять в разговоре про архитектуру флаттера (там тоже можно задать каверзных вопросов и посмотреть, быстро ли он соображает), а не в абстрактных материях.

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

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

А исключения есть?

Как и во всём, есть. Из… наверное, 40-50 команд, которыми мне в общей сложности довелось поуправлять из разных позиций, у меня было примерно 3-4 команды, делающих реально хардкорные вещи. Например, крутящих венгерский алгоритм, шардированный по гео, под нагрузкой, и обернутый какими-то сложными данными. Или строящих какой-то супер-нагруженный пользовательский экран с хитрой логикой, перемазанной кэшами. А еще сто лет назад я писал руками движок репликации данных в одном большом банке. Вот там реально было нужно. С человеком, входящим в такую команду, я мог долго говорить про оптимизации, алгоритмы, лоу-левел код и прочее.

Но честно — таких вакансий и команд 10%, не больше. Во всех остальных случаях это мало влияет на работу.

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

А в контору на 300 человек меня-то почему так собеседовали?

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

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

Что с этим делать нанимающим менеджерам

Если ты работаешь не-в-бигтехе и тебе КАЖЕТСЯ, что нанимаете вы как-то не очень хорошо, долго и не всегда лучших людей за свои деньги для целей бизнеса — подумай о задачах, которые нужно решать. Для "общего случая" человек с огромной теоретической базой может и поудобнее, но если тебе нужно конкретно в трех сервисах джейсоны на питоне перекладывать — ты вполне можешь находить людей, умеющих отлично делать эту работу, если пересмотришь требования и решаемые задачи. Не стоит прям до конкретного фреймворка сужать рамку, но "похожий стэк + похожие задачи" — вполне можно и искать, и проверять на интервью.

Если работаешь в бигтехе на сегодня — ничего. Я долгосрочно вижу только один выход:

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

На сегодня ни один известный мне СЕО группы компаний на такое не пойдет. Слишком рискованно, неочевидно, больше ли суммарно денег в компании от этого станет (неэффективные компании, как мы знаем, могут иметь высокую стоимость как актив, если их правильно упаковать). Что ты можешь делать — это находить способы хотя бы вместо части интервью или после них успевать общаться про то, что тебе реально важно, с теми, кто "прошел тест на IQ". Ну или, если у тебя есть знакомый СЕО — поделись с ним этой идеей :)

Вместо заключения

Если ищешь работу: ты не избежишь этих секций. Нет никакого "элементарного лайфхака, как сдавать все алгосы". Есть разные пути, более и менее легальные, самый очевидный из которых -— потратить месяц на подготовку и прорешать сотню тасок. Это неприятно, это скучно, но это работает. Другие пути найдешь сам. Главное помни, в чем смысл этого интервью. А дальше — всегда выбирай руководителей, которые проверят не только алгосы. Это показывает их уровень осознанности.

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

Всем эффективности и не переживайте из-за ерунды, фокусируйтесь на главном!

Если понравился материал – отреагируй лайком или комментом. Это даст мне сигнал, что контент менеджеров вроде меня здесь интересен.

Кое-что об адекватном менеджменте и своем опыте я также пишу здесь (только с vpn).

Комментарии (27)


  1. malkovsky
    03.07.2026 11:16

    Я скорее согласен с основными тезисами статьи, но хотел бы прокомментировать вот это

    Исключение: компании, создающие реально алгоритмически-сложные технологии, например, свои СУБД

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

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

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

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


    1. Romanovsky Автор
      03.07.2026 11:16

      Да, я не о том, что на интервью в команду разработки СУБД стоит проверять сортировку пузырьком) Я о том, что в целом в эти команды имеет смысл копать в алгоритмическую подготовку. Ну там интервьюеры это и сами знают и будет как минимум hard)


    1. event1
      03.07.2026 11:16

      Задачи уровня leetcode medium ничего не скажут о вашей потенциальной полезности в проекте по улучшению движка для бд

      Зато неспособность кандидата решать такие задачи практически гарантирует его бесполезность для "тяжелых" алгоритмических задач


  1. Oeaoo
    03.07.2026 11:16

    Просто давайте сложную задачу и смотрите как чел пишет промпты нейронке. По ним сразу понятно примерно все.


    1. Romanovsky Автор
      03.07.2026 11:16

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


  1. mt144
    03.07.2026 11:16

    Хорошо описано. Только в одном месте не соглашусь

    бигтеховское интервью — это простая проверка сообразительности

    Это не про сообразительность, а про подготовку. Если знать паттерны решения задач, то нет никаких проблем, но если не знать, то сообразительность не спасет - просто не уложишься в тайминг. Типичное время отведенное на решение easy 10 минут и 20 минут на medium. Оставшиеся 30 минут уходят на фикс опечаток и объяснение правил и условий. За 20 минут какой бы сообразительный ты ни был ты не придумашь поиск с возвратом или префиксные суммы. Поэтому проверяется ровно одно - ты прорешал 100-200 задач и запомнил основные паттерны.


    1. Romanovsky Автор
      03.07.2026 11:16

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

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


      1. mt144
        03.07.2026 11:16

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

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

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

        А как вы узнали, что человек не готовился? Точно, людям же надо верить. Я верю)

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


  1. xSVPx
    03.07.2026 11:16

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

    Совершенно простая вещь.


    1. ivvi
      03.07.2026 11:16

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


  1. dragulaxis
    03.07.2026 11:16

    2 из 3 работ в IT, что у меня были (одна из них есть сейчас), проходили без технического собеседования. Просто поговорили по душам, я рассказал, чем я занимался, что делал, понравился им, они мне - оффер готов. Единственная с техническим - унылая низкооплачиваемая галера, откуда я довольно быстро ушёл. Остальные 2 - это мелкие продуктовые компании с неплохой зарплатой и свободой, где я счастлив. Остальные 15-20 собесов, что у меня были, я не прошёл из-за технического собеседования в основном, хотя никто из работодателей и коллег ни разу не считал меня плохим специалистом, даже наоборот. Я обычно не откликаюсь, меня приглашают на собеседование, так что я совсем не готовлюсь и показываю себя, как есть, хочу простого человеческого общения, а они с анкетами и формальностями. Противно даже. Вероятнее всего я и буду продолжать в мелких компаниях работать, мне там больше всего нравится.


  1. HunterXXI
    03.07.2026 11:16

    пузырёк-шмузырёк, двадцать лет назад на него гоняли разработчиков, и ничего не изменилось. хотя для справедливости скажу меня, из где-то 60-70 интервью которые я прошел, только один раз просили покодить на листочке (хотя я проходил в том интервью как ДевОпс) и это была компания Консультант+. там сразу не заладилось, два 40+ чувака спрашивали дикие для меня вещи по C и C++ хотя я честно их спросил - «Это надо для работы?», на что получил размытый ответ. Странно еще было то что на 5-ой минуте уже было понятно что нет «химии» и я им не подхожу, но меня зачем-то дрочили целый час. Чисто из вежливости досидел до конца, хотя возможно в конце уже немного саркастично отвечал, за это конечно извиняюсь.


    1. Romanovsky Автор
      03.07.2026 11:16

      К сожалению, люди с АБСОЛЮТНЫМ НУЛЁМ софтскиллов в айтишке действительно бывают. Даже среди менеджеров. Они, вполне возможно, ни на пятой, ни на 50-й минуте не почувствовали, что что-то не так. Там понятия "химии" просто нет вообще :)


    1. alcanoid
      03.07.2026 11:16

      Могли бы и самостоятельно откланяться. Видимо, желание подрочить было обоюдным.

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


      1. HunterXXI
        03.07.2026 11:16

        ну извините, не знал что это были вы. я же вроде извинился.


        1. alcanoid
          03.07.2026 11:16

          Это был не я. Я-то как раз ратую за то, чтобы время друг друга не тратить.


  1. APXEOLOG
    03.07.2026 11:16

    Тема довольно больная, я с ней знаком с обоих сторон барикад. Сам искал работу несколько месяцев буквально недавно (правда я вне РФ и искал удаленочку). А до этого работал в full-remote компании, которая нанимала людей со всего мира - причем конкретно в hiring департаменте.

    Главная причина всего этого безобразия - максимальный отсев.

    Финальное решение о найме обычно принимает ПМ/лид конкретной команды - это человек, у которого довольно мало свободного времени (как впрочем и у любого работника нынче) и куча задач. Допустим, он может провести 3-5 интервью в неделю (масимум 10, если прям резко надо нанять кого-то). Дальше воронка отсева подстраивается под это.

    Я не знаю сколько откликов получают офисные вакансии в конкретных городах, но вот вам стата по global remote: в горячие недели на ~40 вакансий мы получали 150000 откликов. Это примерно 3.5 ТЫСЯЧ откликов на вакансию В НЕДЕЛЮ. Как вы можете догадаться, нужно каким-то образом отсеять 99.8% откликов и оставить десяток для интервью.

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

    У нас в компании например был только набор автоматизированных тестов (3-5 на вакансию), после прохождения которых кандидат сразу попадал на интервью с PM - чисто технический отсев. И при этом он позволял отсеять 99.9% кандинатов.

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

    С junior и middle вакансиями я даже не знаю точно как проверять навыки кандидата. С мидлом еще можно что-то придумать, там хотя бы есть опыт. А с джуном? Сортировку пузырьком?

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


    1. ANosarev
      03.07.2026 11:16

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


      1. APXEOLOG
        03.07.2026 11:16

        Отсев 3500 => 10 никуда не уходит, как не формализуй. Лично видел кадров, которые откликаются на сениор позицию, и результат тестового(код) присылают скриншотом в .docx


    1. HunterXXI
      03.07.2026 11:16

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


      1. Romanovsky Автор
        03.07.2026 11:16

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


  1. kneaded
    03.07.2026 11:16

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


    1. Romanovsky Автор
      03.07.2026 11:16

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


  1. AndruxaBS
    03.07.2026 11:16

    Тут тогда другой вопрос возникает. Зачем соискатели лезут в этот гемор, если можно искать че то более мелкое народное?


    1. Romanovsky Автор
      03.07.2026 11:16

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


      1. AndruxaBS
        03.07.2026 11:16

        Деньги, строчка в резюме классная

        Только для другого бигтеха и тех кто любит бигтеху подражать.

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


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


  1. Romanovsky Автор
    03.07.2026 11:16

    Можно бесконечно смотреть на три вещи: как горит огонь, как работают другие люди, и как на хабре ставят минусы за "низкий технический уровень материала" статьям на нетехнические темы