Предисловие

Около года назад я задался целью получить оффер от FAANG. Как следствие, постоянной частью моей жизни стали тематические форумы, площадки и вся сопутствующая атрибутика. Спустя какое-то время я попробовал себя на собеседованиях в околоFAANGoвые компании: Lyft, Spotify, Booking и т. д, где-то успешно, где-то не очень. В это же время мне порекомендовали попробовать пройти собеседование в Тинькофф банк, который внедрил схожий процесс. После стандартного общения с HR менеджером была получена ссылка на описание процесса собеседования. “Хм, почти что FAANG + тех. интервью по Primary Skill”, - подумал я и сказал, что готов приступать. В тот же час было назначено 2 интервью: техническое и coding, а вот 3 этап, system design, нужно было заслужить успешным прохождением первых двух. Почему именно эти 2 части являлись основополагающими, осталось неясным.

Акт первый, технический

В назначенный час я встретился со своим интервьюером. Собеседование выглядело “добротным” и стандартным в заданной проф. области, оттого местами скучным. Было много задач на ревью кода и обсуждения специфики языка, в частности:

  • Ревью кода. Разнообразные задачи от Spring до concurrency.

  • Spring до concurrency. Вопросы по Spring оказались весьма тривиальными, входящими в подборку “ТОП-25 вопросов по Spring” (скоупы бинов, виды прокси и т. д.). Можно ли такими вопросами действительно проверить понимание и опыт использования Spring? Сомнительно.

  • Транзакции. ACID. Уровни изоляций. Как устроена работа в Spring? Несомненно, данный топик поражает своей новизной. Почему бы не отойти от заученной статьи с Википедии (которая читается 5 минут) и стандартных вопросов как будто бы про транзакцию (а на самом деле про прокси в Спринге), не мучить Senior+ кандидата выученными статьями, а поговорить о необходимости транзакций, архитектурных подходах и сопутствующих темах? Тем более вы рекомендуете к прочтению книгу “Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман”, где тема БД, транзакций и прочего раскрыта очень хорошо.

  • Concurrency. И снова стандартные вопросы про “deadlock, synchronized, reentrantLock”, принцип “happens before” и “volatile” (хотя это JMM, знатоки, не кидайтесь тапками), как-то по верхам цепляем java.util.concurrent. Зачем-то пересказываем друг другу то, что миллион раз слышали, а на практике почти никогда не применяли. В голове крутится “зачем, почему, ведь мы можем обсудить столько всего”. “Столько всего” - это:

    • Базовая теория потоков (какими потоками оперирует Java, почему, есть ли альтернативы в Java или других JVM-based языках, их плюсы и минусы).

    • Методы поиска deadlock и livelock с различными UI тулами или без них (только терминал, только хардкор). Для кандидатов уровня ниже можно просто дать на ревью thread dump.

    • Если уж дошли до java.util.concurrent, то вместо вопроса, что за зверь ConcurrentHashMap, давайте посмотрим на изменение подхода к ее реализации в разных версиях JVM и поразмышляем о причинах. Также можно обсудить “диковинные” коллекции в виде зоопарка очередей и, к примеру, skip lists (заодно проверив теорию алгоритмов).

    • Думаю, для “бесплатного” списка тем достаточно)

  • JMM и т. д. Вот тут прозвучал вопрос, на котором я, признаюсь завис. “Что знаешь о JMM?” Максимально высокоуровневый вопрос, на который мозг начинает генерировать: “Что от меня хотят услышать? Стандартное определение правил из спецификации типа happens before, reordering? А может, типы мониторов, их схему переходов, цикл парковки потоков? А может, еще глубже о работе с ОС?” В общем, не смог я вспомнить, с чего начинаются статьи “JMM, топ 10 вопросов”. “Кое-что знаю, но гораздо меньше, чем Шипилев” - отшучиваюсь и решаю брать инициативу в свои руки. Быстро выдаю всё, что помню про hb, и рассказываю о том, какие проблемы решал за последние несколько лет, тем самым решив перескочить на тему Java Memory. Сразу оговариваюсь, что про heap говорить не будем, так как здесь всё уже сказано и описано, а обсудим лучше NonHeap. Рассказываю о том, почему Spring Boot application не сможет долго жить на 256 Mб оперативы и при чем здесь non-heap (на самом деле, очень советую добавить вопросы про это в интервью, так как приложений, запускающихся не в контейнерах, почти не осталось). Плавно перехожу на коварную Cassandra (как пример сервиса на Java) и ее работу с offheap, заканчиваю тем, что в великолепном докладе Андрея Паньгина всё есть и он мне очень помог. Складывается впечатление, что такого мой собеседующий не ожидал. Возникает неловкая пауза, которую я решаю прервать вопросом “Обсудим gc? Недавно подбирал оптимальные настройки для нашей конфигурации Кассандры, могу рассказать”. То ли из-за ограничений по времени, то ли не выдержав пытку Кассандрой, собеседующий завершает данный блок.

  • Вопрос со звездочкой. Так как перед собеседованием я прочитал подборки “Топ-50 вопросов по Java, Spring и т. д”, получаю вопрос повышенной сложности со следующими входными данными: Есть сервис, работающий с Third-party сервисом. Также данный сервис работает с реляционной базой, в частности Postgres. В какой-то момент сервис начинает тормозить. Каков алгоритм моих действий? Последовательность моих рассуждений:

    • Полагаю, что в моем распоряжение есть все необходимые метрики системы и окружения. Поэтому первым делом предлагаю проверить наличие пиков в графиках latency: запрос в БД, запросы к third-party сервисам, сетевые задержки. Если проблема в БД - то смотрим на количество локов и потребление CPU (потребление memory нам ничего не даст, так как в БД встроен механизм кэширования). Есть проблемы - тюним БД или оптимизируем запросы.

    • Интервьюер отвечает, что с латенси все в порядке, поэтому я предлагаю проверить метрики JVM, в том числе GC (могли увеличиться паузы на stop-the-world).

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

      • Письмо ответственным за систему с подробным описанием проблемы

      • Ограничение кол-ва запросов к данной системе с помощью rate-limiter (предлагаю отправить письмо с данной просьбой, пока поведение системы не будет исправлено). Предполагаю, что на нашей стороне будет реализована корректная обработка отклоненных запросов.

      • Использование сircuit-breaker на нашей стороне, дабы ограничить кол-во запросов к данной системе.

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

Акт второй, coding

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

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

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

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

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

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

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

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

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

Акт третий, мой любимый. System design

Приглашение на System design секцию стало для меня сюрпризом, поэтому я допустил две ошибки: выбрал не совсем удачное для себя время интервью и не уточнил, какой редактор для проектирования будет использоваться (казалось, что на первой встрече был упомянут Google Draw). 

На интервью было предложено спроектировать Messenger (стандартный дизайн для FAANG собеседований). Решать задачу я собирался по удобной для себя схеме:

  1. Сбор требований

  2. Расчет объема данных и ожидаемой нагрузки

  3. HLD (High Level Design)

  4. Обсуждение технологий

  5. Возможно, обсуждение API, схемы БД

  6. Обсуждение недостатков и компромиссов

Первые 2 пункта мы проскочили достаточно быстро. Я как мог боролся с неведомым  прежде SketchTool и рисовал HLD. Сразу оговорил, что в мессенджерах используется WebSocket протокол, и объяснил, почему. При отправке сообщения оно должно было попадать в очередь, я предложил Kafka (предупредив, что мы будем относится с осторожностью к созданию большого количества топиков из-за ограничений на файловые дескрипторы). Оттуда сообщение направляется в Cassandra и, при необходимости, на Message Server. 

В какой-то момент мы с собеседующим, казалось, полностью перестали понимать друг друга. Он настойчиво требовал изобразить на схеме, уже полной компонентов, flow с потоками данных (что для меня в скетчбуке оказалось просто невыполнимой задачей). По API я обратил внимание, что сообщения мы пересылаем по websocket, и роутиться запросы будут на основе посылаемого Payload, однако мы продолжили описывать API. По схеме данных я заострял внимание на partitionKey и  важность их выбора, однако собеседующий не понимал, почему работать с большим партишеном плохо, и вообще закрадывалось подозрение, что он не хотел видеть в данном System Design BASE-системы, хотя расчеты говорили о другом.  

Со своей стороны могу сказать, что прохождение данного этапа было далеко от идеала, ввиду путаницы по подключениям и генерации messageId, себя я бы оценил на 6 из 10.В конце собеседования я получил фидбэк, что мой System Design плох по perfomance и latency, так как содержит очень много компонентов и медленных сервисов вроде Kafka. Занавес. “Надо было рисовать 3 квадратика”, - подумал я, - “один клиент, другой - чат-сервис монолит, третий - vendor-specific db, вроде Oracle”.

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

Заключение

Так почему же получилось “как всегда”? Конкретно на этапах, характерных для FAANGa, я выделил для себя несколько причин:

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

  • Ни на одном этапе не был соблюден тайминг. Все этапы длились на 10-15 минут больше запланированного. (хотя на встрече с hr, было предложено ставить этапы друг за другом, но для себя я просил получасовой перерыв) 

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

  • Не было знакомства с инструментами, которые использовались во время интервью

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

  • Заранее определиться с редактором для кодинга (если это будет online редактор, то высылать кандидату ссылку заранее, чтобы он мог поработать с редактором и настроить его под себя).

  • Не давать субъективных оценок уровню алгоритмических задач - слово “облегченные” может восприниматься разными кандидатами очень по-разному.  

  • Предупреждать о том, какой именно редактор будет использоваться для System design, чтобы кандидат мог потренироваться. Все редакторы очень разные, и на своем опыте могу сказать, что привыкнув к популярным googleDraw и excilaryDraw, мгновенно переключиться на Sketch Tool было весьма тяжело. 

  • Если вы стремитесь к распределенной архитектуре (судя по рекомендации книги “Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман”, это именно так), то стоит придерживаться её принципов и на System Design секции. Кроме того, в рекомендации можно добавить ссылку на книгу System Design Interview – An insider's guide (часто идёт в паре с рекомендованной вами). 

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

  • Если процесс интервью и вопросы являются тайной, то ввести NDA для собеседующихся.

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

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

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


  1. AntonSor
    10.10.2021 12:17
    +11

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


  1. Hivemaster
    10.10.2021 13:23
    +56

    Как тинькам ещё удаётся людей нанимать? Зарплаты ниже рынка, стек, как у всех, престижностью и узнаваемостью работодателя особо не выделяются, при этом собеседования, как в FAANG.


    1. Yuribtr
      10.10.2021 14:36
      +8

      Вот тоже самое хотел спросить, а может это у них карго-культ?


    1. k-morozov
      10.10.2021 17:43
      +14

      Часто слышу про Я, что платит ниже рынка. Теперь Тинькофф. А какие кампании в РФ выше рынка платят? Или только удаленка на EU/USA?


      1. siarheiblr
        10.10.2021 17:53
        +7

        Вот да. Кто же тогда формирует рынок у вас?


        1. panzerfaust
          10.10.2021 18:26
          +12

          По опыту пройеднного цикла собеседований (сентябрь 2021) зачастую компания "средней руки" легко перебивает предложение "топов". Исключение - Зеленый гигант. Его не перебьешь ничем.


          1. Areso
            10.10.2021 18:31
            +12

            Его перебивает синий банк


            1. sergey-gornostaev
              10.10.2021 22:01
              +1

              Да, начиная с весны очень сильно переманивает, закидывая соискателей ещё бó‎льшими суммами.


            1. Finesse
              11.10.2021 03:33

              Открытие?


              1. aleksandy
                11.10.2021 06:34
                +4

                ВТБ


                1. Firsto
                  12.10.2021 10:04

                  Не знаю как сейчас, а полгода назад Открытие предлагал значительно больше, чем ВТБ.


            1. ComixRu
              11.10.2021 10:39
              +9

              Что за загадки с названиями? Зеленый гигант еще понятно, но что за синий банк?


              1. sergey-gornostaev
                11.10.2021 11:20
                +4

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


                1. First_Spectr
                  03.11.2021 18:40

                  В России NDA не работает нормально.


              1. tvr
                11.10.2021 12:29
                +10

                Это который не красный, не жёлтый и не зелёный.


              1. nukler
                11.10.2021 15:52
                -1

                Вестимо ВТБ (не путать с ВТБ24).

                И кстать если уж начали шифроваться, можно написать Банк 1000, Банк 900.


                1. gmaa
                  11.10.2021 21:48
                  +1

                  как можно перепутать с банком, прекратившим существование почти 4 года назад?


                  1. nikolayv81
                    12.10.2021 10:10

                    Самое главное что в этом нет смысла т.к. Прекративший существование просто влился в головную структуру...


      1. Protos
        10.10.2021 19:23
        -17

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


        1. sborisov
          10.10.2021 21:41
          +36

          «Сначала нужно как следует поработать, а потом будет и зарплата» - любимая фраза менеджмента начала 200х… испытательные сроки с уменьшенным окладом…

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

          Так что конкуренция за ИТ сотрудника заставила и синий и зелёный и другие банки тоже действовать так же.


          1. Protos
            11.10.2021 05:03
            -4

            Не внимательно читаете, речь вообще не про испытательный срок


            1. EVolans
              11.10.2021 08:37
              +23

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

              В России заработную плату надо почему то заслужить, а не заработать. Как итог - текучку кадров держать выгодней. Об этом уже не одна статья была на хабре, да и по своему и знакомых опыту работы это вижу. Сейчас наблюдая как за месяц текучка в 50 человек и за год меняется численно ВЕСЬ состав фирмы, становится как то тоскливо на душе.

              А самое забавное то, что для большинства бизнеса этот тренд работает.


              1. Andrey_Green
                11.10.2021 20:17
                +3

                Да, всех сразу оценивают по запалу. Хватит на пару лет? Хватит ! - берут. Видят что ты ушлый ? и все видишь. Не возьмут даже трижды солнце во лбу гореть будет. В руководстве как обычно не те кто руками и умом дорогу прорубил, а позвонковые "эфф.менеджеры" - которым надо дешевый эфф.здесь и сейчас. Чтобы премию только себе платить за руководство, а не честным трудягам. Они же понимают, что звездатому специалисту могут посулить и его персональное место (того кто сейчас нанимает), а сопутствующие потери их не волнуют, как и то что каждые 3 года сменяемость персонала в компании достигает от 70 до 95%


            1. asd111
              11.10.2021 11:37
              +12

              Один из топов яндекса сказал так : " Во время собеседования я оцениваю может ли человек работать по 10-12 часов в день 2-3 года подряд и если может то я его нанимаю". Т.е. еще на этапе собеса в Яндекс от тебя ожидают переработки и никакой личной жизни. О какой уж тут карьере говорить если ты через эти 2-3 года по 10-12 часов перегоришь и тебя банально заменят.


              1. SabMakc
                11.10.2021 11:56
                +4

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

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

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


                1. iboltaev
                  11.10.2021 13:13
                  +2

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


                  1. SabMakc
                    11.10.2021 13:35
                    +3

                    Кем так принято? Есть какой-то отраслевой стандарт?

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

                    Но делать на них ставку я бы не стал...


                    1. iboltaev
                      11.10.2021 14:04
                      +2

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

                      Но делать на них ставку я бы не стал...

                      да я бы тоже не стал. Но вот работал я 3 года на одном месте, и зп у меня выросла за эти 3 года на 10 килорублей. За прошедший год сменил работу дважды, на +50% и +60% (от новой). Делаю то же самое, что и год назад, +/-. Спрашивается, а надо ли мне, чтобы на меня делали ставку при таком раскладе?


                      1. SabMakc
                        11.10.2021 14:09
                        +1

                        Да, смена работы остается самым эффективным способом поднятия ЗП. Потому как новым сотрудникам платят больше, чем старым.

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

                        Но таковы реалии, и с этим приходится жить...


                    1. FirsovMS
                      11.10.2021 21:35
                      +1

                      К сожалению, это так. Переходный период в любой галере на рынке это 2.5 года. И тут либо человек уходит в senior, либо увольняется и уходит работать к конкуренту на x2.
                      Делюсь болью :/


        1. YuryB
          12.10.2021 02:47
          +3

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


          1. fenikx
            09.11.2021 13:22

            мне кажется такие цифры были года 2 назад, сейчас сеньоры - это 250+

            сужу по боту с подборками вакансий


      1. wkia
        11.10.2021 08:07
        +6

        В РФ выше рынка платят компании не привязанные к экономике РФ, либо стартапы я безумными вливаниями денег.

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


      1. Avot_Inet
        11.10.2021 21:35

        Мне вообще интересно, что эти люди определяют как рынок. Если и Тинькофф и остальные платят ниже, чем условная удалёнка на западные страны, то это, наверное, и есть средний уровень российского рынка, не? Сравнивать наши зарплаты с тем, что можно получить в США это какой-то гиблый эксперимент.


        1. Areso
          12.10.2021 00:46
          +1

          А почему "и [все] остальные"? Нет, давайте сравнивать ягоды с ягодами!

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

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

          И т.п.

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


  1. anonymous
    00.00.0000 00:00


    1. f-end
      10.10.2021 18:18
      +9

      Есть что возразить на этот счет (хотя я к Тинькофф не имею отношения). Если взять фронтенд-разработку, то они, например, проводят мероприятия на Ангуляр, пишут по нему довольно полезные статьи здесь на Хабре и вообще являются одним из локомотивов этого фреймворка в России. По крайней мере так было до ковид и его запретов на офлайн конференции, как дела сейчас я не знаю. Хотя как же! Вот недавно проводили MoscowJS 50 где среди прочего представили очень интересный на мой взгляд фреймворк для работы с React - Tramvai. Мне он интересен прежде всего тем, что примерно в таком ключе я и сам писал приложения в последнее время. Так я узнал, что мой подход очень во многом пересекается с их подходами. Соответственно, если я буду искать работу, то скорее всего первой компанией, куда я отправлю резюме будет Тинькофф. И зарплата, даже если он будет чуть ниже рынка меня вполне может устроить - удовольствие работать с профессионалами, которые любят свое дело, тоже чего-то стоит.


      1. strannik_k
        11.10.2021 18:05
        +2

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


    1. Neftedollar
      10.10.2021 18:50
      -26

      ахах, простите работаю в Тиньке.

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


      1. sergey-gornostaev
        10.10.2021 22:07
        +24


      1. Jacen11
        11.10.2021 00:56
        +19

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


    1. wadeg
      11.10.2021 02:26
      +6

      Так задачки-то нехитрые, так что статья не о тиньке получилась. А уж первая задачка, про merge join (ака сортировка/слияние) вовсе джуновская зачем-то (да-да, я отлично знаю, как многие читатели хабра относятся к пониманию вот прям самых-самых базовых алгоритмов, да и их моментальному распознованию). Да и вторая («Я сразу определил, что решаться она должна методом DP, и тем самым словил диссонанс с ожиданиями: “облегчённые задачи по кодированию, нацеленные на умение использовать простые структуры данных“» и дальнейшие выводы из посылки про DP) требует всего одного простого и очевидного соображения про углы квадратов и их вложенности от этого угла, этого достаточно для полной идеи.

      Еще понравилось про транзакции/ACID/уровни изоляций. С какой легкостью автор пишет, что уже все давно понятно и разжевано в викистатье и одной книжке — аж восхищение берет. Сколько я уже работаю именно и только с БД, сколько тонкостей, неожиданностей, неочевидностей и невероятностей на этом съел и сам, и в профессиональных сообществах — а не могу сказать того же.


      1. arkashaErema Автор
        11.10.2021 10:38
        +1

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


    1. Lexer11l
      11.10.2021 10:32
      +1

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


    1. Shalfei93
      11.10.2021 17:36

      На хабр карьере их рейтинг выше Яндекса, Мейла, Озона, Сбера, Епама и т.д. Я сам там не работал, но знаю несколько человек у которых от компании только положительные впечатления. Зарплату можно обсудить и спокойно получать среднюю по рынку (выше среднего будет тяжеловато, согласен). Плюс онлайн банками стала интересоваться Европа, и я думаю у Тиньки есть все шансы расширить своё влияние туда (чего я вряд-ли смогу сказать про какой-нибудь Сбер).


      1. MarkFish
        11.10.2021 18:06

        онлайн банками стала интересоваться Европа, и я думаю у Тиньки есть все шансы расширить своё влияние туда

        У старого Тинька, может быть. У нынешнего, сомневаюсь.


      1. Areso
        12.10.2021 00:49
        +4

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

        Который есть в Чехии, Украине (был?), Беларуси, и еще куче европейских стран.

        Ну, такое.


    1. vyacheslavchulkin
      16.10.2021 14:12
      +1

      А еще в чатиках нельзя публиковать мемасики и шутить https://vc.ru/finance/42686-tinkoff-bank-uvolil-neskolko-sotrudnikov-za-narushenie-eticheskih-norm я не удивлюсь если походы в туалет нужно трекать.


  1. OGRvat
    10.10.2021 13:51
    +2

    Хех, недавно проходил на туда на backend .net. Первая задача на кодинг была такая же. Вторая была уровня hard из leetcode. До 3 этапа не дошёл.


  1. ivstrelkov
    10.10.2021 14:56
    +4

    Можете, пожалуйста, рассказать о своем подходе к решению задач по System Design?

    А именно - почему расчет ресурсов идет до того, как выбираются технологии? Разве количество ресурсов (размер базы, количество серверов) не зависит от выбранных технологий и высокоуровнего дизайна?


    1. arkashaErema Автор
      10.10.2021 16:16
      +4

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


  1. balberbro
    10.10.2021 15:01
    +60

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

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

    P.s. 9 из 10 человек, что были наняты 2-3 года тому назад и успешно закрывают задачи, вряд ли пройдут собеседование, если их рассматривать сейчас, как новых людей с рынка.


    1. panzerfaust
      10.10.2021 18:30
      +9

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


      1. snp
        10.10.2021 20:24
        +27

        «1 коммит в неделю» от сеньора может означать, что ему неинтересно. Или он не видит смысла в своей деятельности.


        Ну вот реально, на интервью рассказывали про «космические корабли, бороздящие просторы», а подсунули, например, рефакторить лютое легаси, которое, к тому же, никому реально не нужно. Рабочее место может быть неудобным (если в офисе). Или ещё тысяча причин.


        И вообще, вы у них спрашивали напрямую, что происходит?


        1. panzerfaust
          10.10.2021 20:42
          +3

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


          1. fougasse
            10.10.2021 21:34
            +39

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


            1. 0x131315
              10.10.2021 22:43
              +7

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

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

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

              Получается болото, которое гниет годами. Люди приходят и уходят, а внутри ничего не меняется.

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

              Вот и выходит, что либо "повезло" с компанией, либо "не повезло".


            1. SabMakc
              11.10.2021 10:38
              +2

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

              А к моменту, когда турнут - времени уже прошло просто уйма. Надо заново начинать найм, поиск кандидатов и т.д. Это очень существенные потери времени, денег и усилий.

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


              1. fzn7
                11.10.2021 16:56
                +3

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


                1. SabMakc
                  11.10.2021 17:24
                  +1

                  Эм... Даже и не знаю, что сказать.

                  Есть области, где платят за спокойствие, если можно так сказать.

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

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

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

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


                  1. bak
                    11.10.2021 17:56
                    +1

                    Два месяца на "изучения проекта", "вход в курс дел" без единого комита?

                    Обычно в проектах для "изучения проекта" дают минорные фичи / баги / тулы / etc. И сразу видно - разработчик к вам пришел или что-то не понятное.

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


                    1. SabMakc
                      11.10.2021 18:23
                      +1

                      Мы рассматриваем ситуацию достаточно обобщенную, без конкретных деталей.

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

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

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


                      1. bak
                        11.10.2021 18:55

                        1) Ясно формулировать разработчикам цели на ИС. Например - закрыть 3-5 средних багов, сделать 1-2 фичи реализовать такие то конкретные вещи (если сразу понятно чем сотрудник будет заниматься).

                        2) Следить за прогрессом. Ежедневные командные синки + раз в неделю синк 1 на 1 с менеджером / лидом, на котором сотруднику даётся обратная связь.


                      1. SabMakc
                        11.10.2021 20:21
                        +2

                        Все правильно говоришь. Так и должно быть.

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

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


                    1. Areso
                      12.10.2021 01:04
                      +5

                      Мой конкретный случай. Перешел в новое место работы, на проект, который 1-в-1 повторял задачи моего прошлого.

                      Но:

                      1) месяц "потрачено" на вводный курс, который читался на Java (а я, внезапно, пишу на Python, и Java в первый раз жизни увидел на этом самом вводном курсе. Причем задачи "смешные" - типа вот вам проект, найдите ошибки, почините пайплайн сборки, и опубликуйте сборку где-то там. Ооокей Гугл...)

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

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

                      ----

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

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

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

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


                  1. fzn7
                    13.10.2021 13:37

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


                    1. SabMakc
                      13.10.2021 14:17

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

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

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


                  1. major-general_Kusanagi
                    13.10.2021 13:50

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

                    И у работника есть некоторое окно, когда он может ничего не делать, а ЗП уже получать — просто потому, что «время на вход в курс дел», «изучение проекта» и т.д… И на это может уйти пара месяцев только так.

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

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


                    1. SabMakc
                      13.10.2021 14:06

                      Сроки все равно есть так или иначе. И неудачный найм срывает сроки на раз-два. Да и деньги от клиентов имеют свойство кончаться рано или поздно...

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


              1. plohish
                11.10.2021 17:22
                +2

                Но это не повод тихо сидеть и ничего не делать.

                как это ничего. а 1 коммит в неделю? тем более что измерять эффективность разработчика коммитами - как минимум глупо. такие 1-2 коммита в неделю могут по эффективности и продуктивности быть эквивалентны 3-4 месяцам работы какого джуна или даже мидла.
                я могу ещё понять когда продуктивность определяется скоростью выполнения типовых задач.


                1. SabMakc
                  11.10.2021 17:30
                  +1

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

                  Но не мерить производительность вообще - еще глупее.

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


                  1. plohish
                    11.10.2021 21:30
                    +2

                    Вы рассматриваете человека с точки зрения "хозяина"

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


                    1. SabMakc
                      11.10.2021 22:02

                      Прям рабовладельцем себя почувствовал...

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

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

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

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

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

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


          1. Borso
            11.10.2021 17:22

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


        1. SabMakc
          11.10.2021 10:59
          +6

          А может означать недобросовестного работника.

          Тоже сталкивался с проблемой "взяли - а он штаны просиживает". Это был кране неприятный опыт.

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

          А "тихо сижу, ничего не делаю" - это далеко не добросовестное исполнение своих обязанностей...

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

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

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


          1. major-general_Kusanagi
            11.10.2021 11:10
            +3

            Только «тотальный контроль удаленного рабочего места», что крайне сомнительная затея...

            Проблема в том, что тотальный контроль — не только демотивирует, но ещё и приводит быстрому выгоранию с последующим увольнением «отработанного материала».


            1. SabMakc
              11.10.2021 11:24

              Да, это крайне сомнительная идея.

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

              * Ну или как минимум использовали раньше ) Не интересовался, как там дела сейчас )


              1. major-general_Kusanagi
                11.10.2021 11:40
                +3

                Тут, выше, про такое написали:

                Один из топов яндекса сказал так: " Во время собеседования я оцениваю может ли человек работать по 10-12 часов в день 2-3 года подряд и если может то я его нанимаю". Т.е. еще на этапе собеса в Яндекс от тебя ожидают переработки и никакой личной жизни. О какой уж тут карьере говорить если ты через эти 2-3 года по 10-12 часов перегоришь и тебя банально заменят.


                1. SabMakc
                  11.10.2021 11:52

                  Эм... не совсем улавливаю, причем здесь это.

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

                  Но эффективность подобного подхода сомнительная...


                  1. snp
                    11.10.2021 11:58

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


                    1. SabMakc
                      11.10.2021 12:50
                      +2

                      Ну да, это как в анекдоте:

                      На улице 3 мастерских:

                      1я - шикарно отделанный вход и надпись "Лучшая мастерская мира!"

                      С другой стороны другой вход, еще более шикарный и надпись "Лучшая мастерская Франции!".

                      И между ними скромная лавочка "лучшая мастерская на это улице"

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

                      Да и предпочтения с возрастом и опытом меняются.


                1. snp
                  11.10.2021 11:56

                  Самое смешное, что нельзя заранее оценить, сможет ли человек работать по 10-12 часов в день. Потому что он ещё не втянулся в работу.


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


                  1. SabMakc
                    11.10.2021 12:24
                    +2

                    По хорошему, подобные "10-12 часов в день" должны оплачиваться по двойной ставке. Что в месячной перспективе выливается практически в двойной оклад, а то и тройной (если еще и в выходные так работать).

                    Откровенно говоря, цифры выходят приятные. Но на длительное время такой подход приводит к выгоранию.

                    У меня был подобный опыт, примерно месяц к деадлайну пришлось так работать... Приятного, откровенно говоря, мало...

                    Так что переработки - на кратко-срочный период, если реально необходимо, то ОК. А на ежедневной основе... Годами... Не знаю, не знаю... С возрастом и опытом начинаешь ценить себя и свое время )

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


                    1. snp
                      11.10.2021 12:49

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


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


                      1. SabMakc
                        11.10.2021 12:57
                        +2

                        Бывает, ни капельки не спорю. Вопрос в том, а сколько времени это состояние длится? Месяц / год / пять лет / десять лет?

                        Как бы есть 2 фразы, прямо противоположные (за точность не ручаюсь):

                        • "Сделай свое хобби работой и у тебя больше не будет ни одного рабочего дня"

                        • "Сделай свое хобби работой и у тебя больше не будет хобби".

                        И должен сказать, что обе эти фразы вполне справедливы.


          1. snp
            11.10.2021 11:51
            +1

            Не всё так просто. Люди — не роботы, даже программисты. У каждого есть свои психологические особенности, есть разные жизненные периоды.


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


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


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


            Или другой пример — коллеги сильные, всё сами делают, вам работы просто не остаётся.


            У самого сотрудника могут быть непростые жизненные периоды — в семье проблема, котик заболел. Или даже лёгкая депрессия, которую самому трудно распознать, может снизить производительность программиста в разы. И далеко не все об этом готовы эти вещи обсуждать с руководителем.


            Разве можно в этих случаях вешать на человека клеймо недобросовестного?


            1. SabMakc
              11.10.2021 12:12

              Да, свои нюансы есть всегда.

              И, что называется, правда у каждого своя.

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

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

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


          1. aceofspades88
            11.10.2021 13:11

            т.е. обманули вы, а виноват недобросовестный работник? я правильно понял посыл вашего сообщения?)


            1. SabMakc
              11.10.2021 13:25

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

              С другой - где про ложь в моем сообщении?

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

              В ситуации "работник выполнил работу, ему не заплатили" - виноват недобросовестный работодатель.

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

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


              1. major-general_Kusanagi
                11.10.2021 14:04

                В ситуации «работник выполнил работу, ему не заплатили» — виноват недобросовестный работодатель.

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

                PS Конечно, в науке бывает такое нормой. Как Нильс Бор, который новому работнику предоставлял лабораторию, но никакого задания не давал, а смотрел к концу испытательного нашёл ли он сам себе исследованием чего заняться. Но, в IT такого подхода к работе не встречал.


                1. SabMakc
                  11.10.2021 16:38

                  Да, всегда есть нюансы. И любую ситуацию надо рассматривать отдельно. И нет ничего абсолютного.

                  Но тем не менее описываемая в оригинальном сообщении проблема имеет место быть.

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

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

                  И как это все провернется в дальнейшем - очень большой вопрос...


              1. aceofspades88
                11.10.2021 14:26

                С другой - где про ложь в моем сообщении?

                вот тут:

                Не нравится / обманули на собеседовании - поговори с начальством. Ничего не меняется - ищи другую работу.


                1. SabMakc
                  11.10.2021 14:47

                  ОК, фразу "Не нравится / обманули на собеседовании" - следует читать как "если что-либо не устраивает - поговори с руководством".

                  И да, это в контексте ответа на предыдущее сообщение было написано.

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

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


      1. major-general_Kusanagi
        11.10.2021 07:23
        +11

        наблюдал производительность «1 коммит в неделю».

        А у Вас KPI = один коммит каждые 10-15 минут?


        1. Ansud
          11.10.2021 11:52
          +3

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


          1. konst90
            11.10.2021 15:28
            +1

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

            https://ru.m.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%93%D1%83%D0%B4%D1%85%D0%B0%D1%80%D1%82%D0%B0


    1. aceofspades88
      11.10.2021 10:19
      +9

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


    1. YuryB
      12.10.2021 03:09
      +4

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


  1. dimkrayan
    10.10.2021 15:11
    +2

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


  1. anonymous
    00.00.0000 00:00


    1. Naglec
      10.10.2021 18:20
      +10

      Все же речь скорее о 300-400.

      Однако все это выглядит слишком муторным для формошлепства и банковского легаси


      1. guyfawkes
        10.10.2021 23:37
        +1

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


        1. Naglec
          10.10.2021 23:50
          +1

          Примерно так же


        1. lamerok
          11.10.2021 00:02
          +3

          Я походу один живу в мире, где синьор за 120 000 это предел, правда это про встроенный софт. Интересно, что у нас подчистую выкосило 30% персонала, ушли все на галеры и бэкэнд с фронтом, со встроенного ПО, на удвоенную з. п., Причем, синьоры на джунов даже уходили, так как профиль совсем другой. Мы, конечно, не успели вовремя отреагировать буквально за 2 месяца все произошло. Но то, что там они делают ни в какую не сравнится с тем, что они делали у нас. Перекатывание джейсонов из одного места в другой, я бы не смог таким заниматься даже за удвоенную з. п.

          Интересно, когда этот улетающий в небеса рост з. п закончится?


          1. Jacen11
            11.10.2021 01:05
            +14

            Эм, да, один. Я через 7 месяцев на 140к ушел. Сениор за 120? Да у вас просто какойто говно бизнес, если бизнес приносит копейки, то ничего интересного в нем нет. В нормальной фирме даже перекатывание джесон дороже оплачивают


            1. lamerok
              11.10.2021 05:24

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

              Просто видимо встроенный софт пока так не "взлетел".


              1. Big-Bag
                11.10.2021 08:08
                +18

                Просто у вас руководство жадное и вам платят копейки на фоне даже «обычных» веб-разработчиков и 1Сников.


              1. F0iL
                11.10.2021 13:47
                +2

                правда компания не айти.

                Возможно в этом и кроется разгадка.


          1. snizovtsev
            11.10.2021 01:15
            +5

            Это скорее остальные сферы улетают в дно. Сегодня 120k это $1600. Для сравнения, в 2013 средняя ЗП по стране была 29 792 рубля или $940, т.е. $1100 после поправки на инфляцию USD.


            1. lamerok
              11.10.2021 05:29

              Да, компания у нас крупная, но не IT, может по этому...


          1. awfun
            11.10.2021 01:51
            +5

            Знакомый работал в НИИ, а потом устроился программистом в небольшую фирму, пишут встроенный софт. Первым делом он перенес в git хранившиеся ранее в папках кодовые проекты.

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

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


            1. lamerok
              11.10.2021 05:29
              +2

              Да согласен, НИИ, мелкие фирмы один программист и жнец и на игре дудец, и схемы делает и код пишет и тестирует и знания все в голове.

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

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


              1. Jacen11
                11.10.2021 12:12
                +1

                ваше "быстрее" значит низкая надежность, сложная и дорогая доработка. То что делает 10 человек легко дописывается годами любым разработм, что делает 1-2 проще с нуля будет переписать новым людям. Работал я и в тех и в тех, и там где были вдвоем это был какой то стыд. Хотя мы особо это не понимали. До сих пор вспоминаю файл на js на несколько тысяч строк. Это все касательно разработки ПО для веба конечно, как у эмбедед, я не знаю, может у вас там и норм что раз написал и забыл


                1. lamerok
                  11.10.2021 12:40
                  -1

                  Да, так и есть. Но малые конторы могут себе такое позволить. Стыд не стыд, а рынок надо завоевывать быстро. И тут 50 на 50 либо получится, и человек был опытный и все получилось хорошо и инновационно, либо будут отказы и все получилось все плохо, но объем не большой, можно и пофиксить оперативно. Большие компании себе такое позволить не могут, отказ в 100 000 датчиках обойдется в копеечку.

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


          1. domix32
            11.10.2021 12:34
            +2

            Интересно, когда этот улетающий в небеса рост з. п закончится?

            как только рубль подорожает. Для понимания — 45000 usd gross в год — усредненная зарплата джуна в развитых странах на всяких фронтендах. После уполовинивания налогами получаются те самые 120-140к. Миддл грейд удваивает эти цифры, сеньор получает от 110k, всякие специфичные области типа того же embed и архитекторы и того больше.
            Так что вопрос должен стоять несколько иной на мой взгляд.


          1. gapel
            11.10.2021 12:47
            +1

            Проблема действительно в том, что Embedded в России сильно недооценен по зарплатам. Есть небольшие исключения, но да, я когда из Петербурга уезжал то у меня как раз таки 120 было, а тим лида 170. И это был потолок по предложениям в Питере.

            Однако если быть честным, то в ЕС тоже оказалось что SW Embedded Engineer получает меньше чем JS кодер. Так что тут выбор - либо идти в другую сферу, либо работать по велению души.


        1. nlog
          11.10.2021 09:15
          -3

          В синем банке вполне можно получать 600-700к в месяц сениору с работой по выходным. Зелёный банк перекупает специалистов по ИИ и машинному обучению за 2-3х. Как вы думаете появился проект автопилот SberTech? Купили людей из Яндекс беспилотника.


          1. Naglec
            11.10.2021 10:02
            +9

            С работой по выходным - это просто отлично


            1. domix32
              11.10.2021 12:36
              +1

              У синего это кажется повсеместная практика. Помнится похожая инфа всплывала и от работников с клиентами в отделениях.


          1. moooV
            11.10.2021 11:57
            +2

            В нормальных странах можно получать больше (после налогов) и без работы по выходным. И вообще не упарываясь.


            1. Naglec
              11.10.2021 12:31
              +4

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


            1. TimeCoder
              11.10.2021 16:14
              +4

              Это в каких? В Европе ЗП на руки ниже, чем в Москве (речь про senior позиции в IT, конечно). В США выше, но туда сложно, мягко говоря, попасть (особенно, если не через бодишопы, где ЗП не очень).


              1. moooV
                12.10.2021 14:57

                Я про заплаты в штатах говорил (со слов знакомых кто там работает) - нормальный айтишник спокойно может 200-400к баксов в год поднимать.

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


          1. nlog
            11.10.2021 15:03

            За что минусы? Я ответил на вопрос "другие дают в несколько раз больше?". Да, дают.

            Стал бы я там работать? Нет.

            Нравится ли мне, что госбанки могут просто купить таланты? Нет.


        1. potato_freak
          11.10.2021 14:26
          +1

          Собеседовался в тот самый голубой банк полгода назад на java dev. Попробовал не называть свои хотелки. Так вот они оценили меня как старшего инженера и предложили... 200 тыщ. :)


          1. Areso
            12.10.2021 01:14

            Там есть разные проекты. Где-то зарплата не очень, а где-то горит, и зарплата очень даже очень.

            Увы, без инсайда узнать такое довольно сложно.


  1. panzerfaust
    10.10.2021 18:18
    +17

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

    И тогда вопрос к Тинькоффу: это все было "чтобы что"? Вам не жалко времени ваших сотрудников?


    1. Areso
      10.10.2021 18:35
      +49

      Это называется 'мы нашли подходящего кандидата, но хотим ещё посмотреть людей'. Как правило, это решение заказчика, а не эйчара, поэтому эйчар молча наблюдает, как ваше резюме скрывается, а в вашем профиле на Линке появляется новое место работы.

      На эту тему даже шутка у эйчаров есть:

      "Если долго смотреть на кандидата, можно увидеть, как он принимает оффер"


    1. vlad_egrv
      11.10.2021 09:57
      +5

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


      1. faiwer
        11.10.2021 18:06
        +2

        В Германии если вам в течении месяца ответили на apply по вакансии — успех. Если удалось пройти весь путь до offer-а быстрее, чем за 2 месяца — да вы шустрик. Некоторые конторы откликаются через полгода :)


        1. vlad_egrv
          12.10.2021 10:45

          ну нам же не обязательно у хороших стран перенимать плохие практики


          1. faiwer
            12.10.2021 10:58
            +1

            Я понимаю. Просто вы написали:


            за это время можно с семьей, всеми вещами и тремя котами релоцироваться на другой континент.

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


  1. Neftedollar
    10.10.2021 18:54
    -44

    Божечки, нювопросы не те, ведут себя не так.

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

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


    1. bonnzer
      10.10.2021 19:17
      +53

      Божечки, нютекст не тот, интонация не та.

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

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

      ПС Обычное, спокойное описание интервью, автор местами даже говорит, что ОН был плох. Или вы из IT-роты Тинькофф? ))


  1. CrushBy
    10.10.2021 21:01
    +1

    Есть сервис, работающий с Third-party сервисом. Также данный сервис работает с реляционной базой, в частности Postgres. В какой-то момент сервис начинает тормозить. Каков алгоритм моих действий? 

    Неужели прямо вот именно так и сформулирована задача ? Первые два утверждения описывают практически все возможные сервисы. То есть их можно исключить из условия. Остается только "В какой-то момент сервис начинает тормозить. Че делать ?".

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


    1. Paskin
      10.10.2021 23:15
      +2

      Может они так на проблему истощения свободных обработчиков намекали? Имеется в виду - у вас есть thread-pool для входящих запросов, в процессе обработки выдается запрос к другому сервису и thread ждет ответа. Если сервис тормоэит - у вас рано или поздно все thread-ы будут ждать ответа, а входящие запросы перестанут приниматься.
      Для диагностики подобного, полезно сдампить стек процесса - сразу видно, кто чего ждет.


    1. dkDer3k
      13.10.2021 11:12
      +2

      Проходил собес в тиньк на админа и там задавали точно такую же задачу на одном из этапов, именно такая формулировка и была.
      И, когда я (как и автор) перебрал все возможные проблемы (начиная с 3rd party и баз и заканчивая граничными балансировщиками) и сдался, сказав "Не понимаю где тут еще может быть проблема", интервьювер сказал мне что проблема заключается в том что перед возникновением проблем выкатили новую версию приложения и именно в ней проблема.


  1. nkretov
    10.10.2021 21:20
    +12

    за медленную кафку лайк


  1. madvlaydin
    10.10.2021 21:28
    +16

    собесился на днях на автоматизатора тестирования: скрининг на предмет, что я не лжец с улицы (так у всех), собес на теорию тестирования и всякое такое, ещё собес с простыми задачками на программирование

    после этого было 3 подряд интервью с командами, которым нужны тестировщик; вроде всем трём понравился

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


    1. Avvero
      11.10.2021 07:43

      А вы до собесов свои желания по условиям озвучивали?


      1. shpaker
        11.10.2021 11:55
        +2

        Сейчас вроде все HR'ы при первой же возможности спрашивают про ожидания. Сомневаюсь, что в Тинькове по другому.


      1. madvlaydin
        11.10.2021 18:08
        +6

        сказал какой оклад

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

        с той стороны чуть поюлили, потом начали:

        — ОТ КАКОЙ СУММЫ ВАМ БЫЛО БЫ КОМФОРТНО?

        — ну вот у меня есть оффер, думаю это комфортно

        — НУ ВОТ СМОТРИТЕ У ВАС ОКЛАД СТОЛЬКО-ТО, НАВЕРНО ХОТЕЛОСЬ БЫ БОЛЬШЕ, НО ВАМ КАК КОМФОРТНО БЫЛО БЫ?


    1. Ryav
      11.10.2021 09:04
      +3

      Так а по цифрам что — сколько предложили и до скольки сбросить пытались?

      Это какая позиция, middle qa?


      1. madvlaydin
        11.10.2021 18:10

        я на позиции не смотрю, от лычки работа (тестировщика) особо не меняется

        что в аутсорсе работал за еду, что сейчас почти 300к/наносек ультра турбо синиор инженер по тестированию


        1. Ryav
          11.10.2021 18:12

          Работа может и не меняется, а вот зарплата очень даже. :)


          1. madvlaydin
            11.10.2021 18:18

            сейчас на главного позвали


  1. amakhrov
    11.10.2021 03:48
    +2

    Открыл вторую задачку по ссылке из статьи, пару минут подумал, еще минут 15 писал код, еще минут 5 поисправлял off-by-one ошибки с с индексами. Готово.

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

    Другой вопрос - а что именно она проверяет (какую информацию о кандидате она дает интервьюеру)? Но, наверное, им там виднее :)


    1. SabMakc
      11.10.2021 11:14
      +1

      Задача на кодинг - это проверка практических навыков, что человек не "левый".
      Сейчас много "вайтишников", с нулевыми практическими навыками. Причем не только джуны, но и мидлы и люди, которые претендуют на сениоров.


  1. diego_milito
    11.10.2021 09:38
    +5

    Мне интересно попался ли хоть один кандидат который прошел все собеседования идеально.

    Тот кто успешно прошел такой ворох собеседований может смело просить ЗП 500 тыс./мес.


    1. JamboJet
      11.10.2021 13:46

      Мне интересно есть ли хоть один кандидат который прошел все собеседования идеально.

      Конечно есть! Идеально пройдёт тот кто разработал эту методику собеседования, или его брат/сват/друг...


      1. SabMakc
        11.10.2021 13:48
        +1

        И ему тоже откажут - потому как оверскилл. И зарплаты в 500к для него просто нет.


    1. avengerweb
      13.10.2021 01:55
      -1

      Если кандидат ХОРОШО ответил на все вопросы, значит у вас плохие вопросы. А для кандидата это значит что ничего интересного у вас ему не светит.


      1. Alexandroppolus
        13.10.2021 02:04

        А для кандидата это значит что ничего интересного у вас ему не светит.

        Да не факт. Возможно, просто не заморочились придумать интересные паззлы на собес.


        1. avengerweb
          13.10.2021 02:23

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

          PS. Собеседую в большой Enterprise последние 3 года


  1. megasuperlexa
    11.10.2021 10:04
    +1

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

    А почему именно топиков, а не партиций? тут бы я засомневался, а не поверхностен ли собеседуемый ) какой процент смысла из просмотренных роликов про FAANG правильно осел в голове


    1. arkashaErema Автор
      11.10.2021 10:30
      +1

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


    1. avengerweb
      13.10.2021 02:57

      Вас же не кафку разрабатывать зовут, тут нет поинта заострять на это внимание. Любое system design интервью это беседа, это не вопрос на который есть правильный ответ. На этой беседе важно не только предлагать но и спрашивать, к сожалению в посте нет контекста и мы не можем судить об этом здраво. Любая беседа требует контекста, например автор поста предлагает систему очередей X, а у компании например есть кластер Y, спросил ли он об этом? Мы не знаем. Компания хочет чат как MVP продукт, но автор уже поднял 3 кластера для чата, которые обойдутся компании в сотни тысяч, а компания даже не вкурсе стрельнет продукт или нет. Спросил ли он об этом? Тоже к сожалению не знаем. И таких вопросов десятки. Если человек мне на интервью выложит архитектуру которую вычитал в книжке, задав 1-2 вопроса, я не назову это успехом.

      Но мы не знаем что автор и как обсуждал, но, похоже, что просто пропустил какой то вопрос


  1. Shalfei93
    11.10.2021 10:19
    +2

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

    Был всего 1 этап - в нём (очно) мне дали тест, имеющий по 5 небольших вопросов на БД, знание бэкэнда и знание фронтенда. После завершения теста началось общение с 2мя лидами - которые спросили про опыт, какие сложные задачи приходилось решать раннее, но главное - спрашивали как я рассуждал в тех или иных вопросах по тесту.

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


    1. bak
      11.10.2021 18:24
      -3

      Смотря что им надо. Если им нужны топ разрабы - тогда да, надо уметь сходу merge sort писать, решать простые DP задачи и понимать почему client -> ... -> kafka -> cassandra -> server -> ... -> ... -> client2 будет хуже чем client1 -> balancer -> server -> client2.

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

      Опыт работы в 10 лет в топовых компаний на позициях сениора / архитектора / тимлида, знание умных слов, умение говорить "на прошлом проекте я всю архитектуру отрефакторил" к сожалению на такой вопрос не отвечают. А вот написание merge-sort и dp - отвечают.


      1. Hivemaster
        11.10.2021 19:35
        +4

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


      1. Shalfei93
        11.10.2021 19:36

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


  1. DmitryKoterov
    11.10.2021 10:22

    великолепном докладе Андрея Паньгина

    А что такое великолепное в этом докладе, позвольте поинтересоваться? «Файл рос-рос, не закрывался, и пока файл открыт, он держался в пейдж кэше операционной системы» (46:30) - это, что ли?


    1. potato_freak
      11.10.2021 14:33
      +1

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


  1. hommiusx
    11.10.2021 10:38
    +2

    Несколько месяцев назад тоже проходил собеседование в Тинькофф, только на другую позицию (.NET, middle+) и актов было четыре, а не три. А так многие пункты совпадают, даже методичка от HR была та же самая.

    1. Часть по знанию языка. Дали час на "порешать задачки" в какой-то их внутренней системе: десять вопросов.

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

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

    2. Часть на алгоритмы. Две задачки. Писал на своём компьютере, расшарив экран в Зуме - поэтому проблем как у автора не возникало.

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

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

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


      Думаю это довольно обычное собеседование по алгоритмам, правда система с "решил первую задачу хорошо и быстро => получай сложную задачу" не очень радует. Без возможности сменить задачу, кажется что эффективной стратегией прохождения алгоритмической части является потупить подольше на первой задаче чтобы не получить потенциальный гроб на второй. Что-то мне подсказывает что "хорошо и быстро решённая лёгкая задача + нерешённая сложная" даёт меньше баллов чем "нормально решённая лёгкая задача + нормально решённая средняя".

    3. Часть по дизайну систем.

      Мне HR изначально говорил что для мидлов этой части нет, только для синьоров.

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

    4. Часть про "знакомство с командой". С HR и руководителями команд, куда потенциально будут звать работать.

      Рассказывают про команды, стек и прочее.

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

    В целом: вроде собес как собес. Суммарно на всё ушло примерно 6 часов времени (вместе с общением с HR). Никакой прям дикой дичи ни на одном из этапов тоже не было, впечатления о каждом этапе были нейтральные/положительные.


  1. Sievers
    11.10.2021 10:39
    +1

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


    1. snp
      11.10.2021 12:05
      +14

      Найм в современные IT компании похож на то, как как девушка не может найти себе молодого человека. Потому что все мужики — козлы.


      1. Alexandroppolus
        11.10.2021 12:14
        +4

        Кроме кадрового голода есть ещё факт, что профессия стала "жареной" и в неё повалили чисто за длинным рублем, а не из интереса к программизму. И фильтровать, как ни крути, нужно. Сам ничего не имею против нормальной зарубы на собесе (когда я соискатель).


        1. snp
          11.10.2021 12:44
          +3

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


          Ну примерно как устроить crush тест машине, которую собираемся купить. Естественно, 99% машин разобьются в кашу. Разве что танк выдержит. Но нужен ли нам танк?


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


          1. wataru
            11.10.2021 13:04
            +3

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

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


          1. SabMakc
            11.10.2021 13:14
            +1

            "Отрезвит" только в долгосрочной перспективе.

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

            Так наберут 5-6 мест... И можно уже на сениора устраиваться - вон сколько опыта набрал.


          1. Alexandroppolus
            11.10.2021 14:16
            +1

            Ну примерно как устроить crush тест машине, которую собираемся купить

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

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

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


          1. bak
            11.10.2021 18:30

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


            1. snp
              11.10.2021 19:28
              +7

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


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


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


              1. PerseforeComplete
                11.10.2021 21:57

                просто побольше спрашивать кандидата про его прошлую работу.

                И получить ответ - "NDA. Работал работу на работе на языке X. Больше сказать немогу"


  1. rinac
    11.10.2021 10:39
    -1

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


    1. tangro
      11.10.2021 11:30
      +8

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


      1. SabMakc
        11.10.2021 11:37
        +2

        У фейсбука не один фейсбук в активе, а еще и инстаграм и WhatsApp как минимум.

        Причем, на сколько мне известно, интаграм имеет репутацию "самой доходной площадки"...


      1. domix32
        11.10.2021 12:42
        +1

        У фейсбука суммарно вместе с инстаграмом и whatsup свыше двух миллиардов пользователей. Едва ли они двинутся хоть куда-то из этого списка.


        1. tangro
          11.10.2021 14:12
          +2

          Вряд ли здесь уместно слово "суммарно". Это, в основном, одни и те же пользователи.


          1. Areso
            11.10.2021 14:22

            В России большинство имеет Ватсап, но меньшинство использует мордокнигу


          1. domix32
            11.10.2021 18:56
            +1

            Суммарно это не миллиард на фб + миллиард на инсте + 100 лямов ватсапа, а именно всего пользователей исключая пересечения. Если суммировать так как вы предлагаете, то там в районе 4 выйдет ± поллярда. Один ватсап своим топ-10 стран пользователей покрывает миллиард. Ну и технологически это вроде все еще не единая база пользователей, но это не точно.
            Это конечно примерные значения, но масштаб оценить позволяет. Так что тезис про умирание фейсбука маленько несостоятелен.


        1. feeling
          11.10.2021 14:25
          +2

          Плюс Фейсбук постоянно скупает перспективные стартапы (на слуху msqrd). Так что шансов остаться среди единорогов у него больше чем появится новому единорогу.


      1. MarkFish
        12.10.2021 01:11

        А вот в то, что люди перестанут любить смотреть фильмы, я лично не верю.

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


  1. missman
    11.10.2021 11:18

    Статья интересная, комментарии огонь)


  1. iiwabor
    11.10.2021 11:38
    +1

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


    1. El_Kraken_Feliz
      11.10.2021 11:40
      -1

      Возможно это один из этапов "смотреть-повторять-создавать" :)


    1. wadeg
      11.10.2021 14:46
      +2

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


  1. Lexer11l
    11.10.2021 11:41

    Собеседовался на позицию scala разработчика осенью. Не буду говорить о нюансах процесса найма, т.к. тут мнения по большому счету зависит от HR.

    Первый этап на знание scala.
    Сходу вопрос - что делали на scala, какие библиотеки использовали?
    То есть опыт в целом не интересен, интересно только что делал непосредственно по стеку. В целом понимаю такой подход, но со скалой есть своя специфика - специалистов не так много и многие компании готовы брать людей под переобучение, Тинькофф, насколько мне известно, в том числе.
    Заранее сообщаю, что работал со скалой, но было дело 1,5 года назад и функциональщиной занимался мало, такой уж проект был. То есть синтаксис знаю, писать могу, но уровень нужно будет немного подтянуть при возвращении на скалу. Да-да, могу и до собеседования подготовится, вспомнить, но рассчитывал на то что Т закроет глаза на некоторые нюансы, раз уж совсем с нуля берут.
    Едем дальше. Дают задачу, посчитать количество смен знака в последовательности. Решаю, просят пофункциональней. Предлагаю варианты, но недостаточно хардкорные видимо. На каком-то рабочем решении остановились, пошли дальше.
    Еще одна задача и все то же самое.

    Чтобы долго не расписывать, основной момент, который показался странным это полное отсутствие вопросов по смежным темам.
    Абсолютно. Только Scala, Scala, Scala.
    Я понимаю, что компания топит за скалу, но отказывать человеку только потому, что он не знает нюансов конкретного ЯП, но готов учиться это точне не FAANG way.
    Повторюсь, такой подход вполне уместен, раз компании так хочется, но таким образом можно потерять много толковых опытных кандидатов, которые в данный момент не достаточно сильно в конкретной технологии, но спустя месяц будут перформить лучше тех кто приходил со скиллом (не про себя). Не зря же FAANG и вместе с ними куча крутых компании проводят language-agnostic interview

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

    Отказа, кстати, ждал неделю.

    П.С.
    Мне не перестал импонировать Тинькофф как компания или потенциальный работодатель, но в целом опыт был негативный. Предлагали вакансию java, но на тот момент уже был оффер


    1. iboltaev
      11.10.2021 13:37

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


    1. WASD1
      12.10.2021 12:02

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

      Мне кажется, что основная фишка Scala - наличие функционального подхода, который позволяет писать "маломутабельный" код (остальное - в виде синтаксического сахара под "maybe", "record classes" и т.п. много где есть).

      И если рассматривать Scala-разработчиков в этом аспекте (а работодатель имеет на это право) - то это вполне разумный кэйс "брать разработчика с уже повёрнутыми на FP мозгами".


  1. balberbro
    11.10.2021 11:55
    +4

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

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


    1. iboltaev
      11.10.2021 13:40

      Лычка в резюме через 5 лет уже за нижнюю границу резюме уходит


  1. sergeyns
    11.10.2021 12:54
    +1

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


    1. SabMakc
      11.10.2021 13:09
      +5

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

      И чем глубже копаешь - тем больше надо знать / понимать / учитывать...

      И сразу вспоминаешь, в чем различия LinkedList и ArrayList. И что HashMap для кеша может иметь сложность вставки O(n) для отдельных случаев... И что параллельность - это не только "то же самое, но в N раз быстрее", но и усилия на адаптацию алгоритма, усилия на синхронизацию данных между потоками. И накладные расходы на потоки, которые могут быть выше возможного выигрыша.


    1. dimskiy
      11.10.2021 23:46
      +1

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


  1. SergeAx
    11.10.2021 15:16
    +2

    Почему именно эти 2 части являлись основополагающими, осталось неясным.

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


  1. Calc
    11.10.2021 16:13
    +2

    Да, медленная кафка сильно повеселила. Возможно они хотели услышать про реббит? Но в кафке есть свои плюсы, можно через нее делать репликацию базы с помощью интересных плагинов. А так для чата стандарты уже rabbit/kafka+SQL+NoSQL+Cache+MQTT/STOMP/WS

    А если дескрипторов мало, то пихаем всё в память, храним входящую и исходящую очередь, запускаем на реббит-кластере, который жрет RAM и громко падает без persistent queue :)


  1. TimeCoder
    11.10.2021 16:32

    В целом все резонно звучит, но про шаринг экрана и заранее ссылку на редактор - вы перегибаете. Можно при шаринге выбрать не весь экран, а только окно приложения (IDE, например) - что тут такого? Вам дали вариант работать в своей среде (по опыту таких интервью - лучший вариант), но у вас какое-то изнеженное отношение, вы К ТАКОМУ не готовы. Ладно, редактор. Разные интервьюеры могут пользоваться разными онлайн-блокнотами, создавать там комнаты только после того, как кандидат подключился. Не всегда это просто дать кандидату заранее все ссылки, а главное - зачем? Человек, который за 5 условных минут не может освоить элементарные операции в среде, наверное, вызывает сомнения уже по этому. Тем более, что остальные кандидаты как-то с этим справляются. Я понимаю, если бы вы были лежебокой, работающим в советской обшарпанной конторе за копейки, без желания что-то менять. Вы поставили себе цель FAANG, то есть вступили в конкуренцию с огромным количеством разработчиков мира. С такой чувствительностью к стрессу сложно представить как бы вы прошли очное интервью в FAANG, с 4-5 частями, в один день, в незнакомой стране, где и на доске рисовать, и интервьюеры в разном настроении, и какие-то накладки бывают, плюс джетлаг и пр.


    1. faiwer
      11.10.2021 18:15
      +5

      Человек, который за 5 условных минут не может освоить элементарные операции в среде

      Приходишь такой на собес, а там только vim :) Какие уж 5 минут. Тут и дня не хватит.


      А если серьёзно, то я заметил, что даже нестандартное поведение табуляции уже уничтожает ресурсы мозга. Постоянно отвлекаешься на него с мыслями "какого хрена, как это тут работает?!" и становится сложно думать. А тут ещё над тобой "экзаменатор" сидит и что-то умничает. Какие-то странные вопросы задаёт. И условный fizz-bazz из задачки на 30 секунд превращается в leet-code medium.


      Меня так отбрили на одном очном собеседовании с whiteboard. Дали какой-то мутный развёрнутый for (;;)цикл. Вроде всё элементарно, но я из-за стресса так начал тупить, что стал путать 9 и 10 по-английски (говорил nine, думая про ten, и наоборот). По итогу в причинах отказа было "не знает основ языка". Хотя вроде знаю самые тёмные закоулки. Интервьювер подумал что я тупой как валенок и не умею считать до десяти.


      В общем не стоит недооценивать такие "мелочи".


      1. TimeCoder
        11.10.2021 19:02
        +1

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

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


        1. snp
          11.10.2021 19:45
          +1

          все в равных условиях

          Наверное выдели картинку, как слону, киту, обезьянке и ещё кому-то дали задание возобраться на дерево? Ведь равные условия же!


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


          У верен, что не я один такой на свете. Хотя везде рисуют образ супермена с мужественным профилем лица и ноутбуком, который может работать всегда и везде, хоть по пути на работу, хоть в аэропорту перед вылетом. Который сразу на собеседовании блещет интеллектом и поражает остротой ума всех HR'ов. Реально таких людей мало, если они вообще существуют. Но всех требуют соответствовать этому образу. Или отыграть его.


          А я так не хочу и не могу, что автоматически выкидывает меня в «неформат» или «лузеров» (в понимании FAANG'ов). Не важно, что опыт в индустрии почти 25 лет и высокая продуктивность.


          1. TimeCoder
            11.10.2021 19:58
            +1

            Картинку видел, идея понятна, но в чем именно ваша неформатность в данном случае - не уловил. Какие такие требования у фанга, которым удаленщик менее соответствует?


            1. snp
              11.10.2021 20:09

              Почему обязательно удалёнщик? Я не против релокейта, вообще-то.


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


              1. kbaa
                12.10.2021 05:26

                кто лучше будет работать

                может зависеть и от

                кто <...> больше устойчив к стрессу

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


      1. dimskiy
        11.10.2021 23:42
        +4

        Мне всегда интересно было как они себе это видят? Вот этот «не знающий основ языка» овер 5 лет работает в разных приличных местах и никто его не раскусил; а все вокруг такие дурачки на собесах (ведь только именно этот конкретный интервьювер непризнанный Пуаро)? Что за глупости-то…


        1. WraithOW
          12.10.2021 17:59
          -1

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

          Алсо, «не знающий основ языка» может относиться не к языку программирования. Да, работает, в России. Но толку-то, если он с нерусскими коллегами не сможет общаться?


          1. Areso
            12.10.2021 19:24
            -1

            А точно ли работает? А точно ли на той должности?

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

            | А точно ли это вообще то же чел, который резюме писал?

            паспорт уже не смотрят?

            | Алсо, как степень приличности определить?

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

            | Ну и мы не берем экзотические случаи типа «родственник директора».

            5 раз подряд?) Для первой работы - вполне нормально, устроиться по знакомству (ИМХО).

            | Но толку-то, если он с нерусскими коллегами не сможет общаться?

            Google Translate еще не зароскомнадзорили, но это пока. Даже стендап можно проводить, подготовившись. На любые вопросы можно отвечать универсально: "I am not yet ready to answer, please, write me this question at Slack/email, and I will reply with all the data I have".


            1. WraithOW
              13.10.2021 13:41

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

              Эта трудовая книжка обычно лежит в отделе кадров, и никто с собой её на собеседования не носит. Лычки из трудовой — вещь для линейных сотрудников вообще бесполезная. Написано там «инженер-программист», что вам это скажет? Джун, миддл, сеньор? Хайлоад хреначит или формы клепает?
              Про рекомендательные письма и бекграунд чеки — это работает, если вы в той же географической области, что и наниматель, и у всех общие культурные нормы. Как думаете, какой процент начальников в РФ, если к ним придти и попросить рекомендательное письмо для собеседования, с радостью его напишут, а не спросят:«Увольняться надумал, офигел?». Ну или какой исход будет, если веселый немецкий HR решит позвонить и спросить, кем ты там арбайтаешь, и что про тебя думают коллеги? Думаю, ответ будет где-то между «по-русски говори, фашист» и «информацию о сотрудниках не разглашаем».

              паспорт уже не смотрят?

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

              На глазок.

              Давайте уж тогда монетку подбрасывать. Епам — приличное место? Возможно да, только я знаю человек, который пришел туда джуном, полгода поплевал в потолок, потому что проектов под него не нашлось, и уволился, потому что надоело. Мог бы и дальше сидеть, а потом придти на собес и петь песни, как он год на проектах для буржуев звездолеты строил.
              В России десятки тысяч IT-компаний, вы же не предлагаете собеседующему все их знать?

              5 раз подряд?)

              Большая семья. Или может не 5 мест, а одно, на 5 лет?

              Для первой работы — вполне нормально, устроиться по знакомству

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

              На любые вопросы можно отвечать универсально: «I am not yet ready to answer, please, write me this question at Slack/email, and I will reply with all the data I have».

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


    1. arkashaErema Автор
      11.10.2021 20:33
      +4

      Т.к. это первая статья, возможно не везде удалось передать ее главный смысл. А смысл - не нужно бездумно копировать подходы, которые используют big tech компании, т.к. для таких подходов нужно специально обучать интервьюеров. Конкретно по пунктам:

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

      2) Хорошие интервьюеры стараются заботится о комфорте кандидата и никогда не предложат использовать что-либо, не предоставив никакого интро по тулам. FAANG всегда делает подробные интро по тому, что они используют во время интервью (Могу ошибаться насчет всех, но больше половины пробовал - знаю). Да что далеко ходить, даже тот же Яндекс дает шанс ознакомиться с их системой для коддинга перед интервью.

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


    1. dimskiy
      11.10.2021 23:44

      Ну например у вас линупс с wayland, где шеринг экрана не работает без сверхусилий. Лично вам оно не нужно, вот и не паритесь. И вдруг….


  1. morgoved
    11.10.2021 21:45

    Прям читаю и дежавю... Только маааалеееенький нюанс меня сообеседовали на Senior DevOps Engineer а все что описал автор было тоже))) теже вопросы.. Просто рука лицо... Горите в аду рекрутеры тинькофф ;)


    1. Stecenko
      12.10.2021 09:26
      +1

      А что такая сильная реакция?
      Ну собеседование не во всем соответствовало Вашему ЧСВ, ну против шерсти погладили, но вот так сразу в ад?
      Вы время потратили, они время потратили, луз-луз.
      Порадовались, что не работать с людьми не Вашего формата, забыли про забили на них и пошли дальше собеседоваться.
      «Сейчас к людЯм надо помягше, а на вопросы смотреть ширше»


  1. dimskiy
    11.10.2021 23:37
    +1

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


  1. anton_t
    11.10.2021 23:55
    -2

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


    1. Areso
      12.10.2021 01:19
      +5

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

      Ну, такое.

      Причем особо ржачное, когда в кэше не просто неактуальные числа (типа 5 минут назад тебе денежку кто-то сбросил), а неактуальные числа на несколько дней(!).


      1. anton_t
        13.10.2021 22:39

        Любой инструмент нужно применять с головой, в том числе кэш.


    1. potato_freak
      12.10.2021 09:43
      +3

      Интересно... А как вы будете кэшировать, например, неидемпотентные запросы? POST, DELETE и др.?


  1. anton_t
    13.10.2021 22:37

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


  1. Femistoklov
    16.10.2021 08:30
    +1

    А можете привести плюсы/минусы решения с Kafka и без? Если что, я не издеваюсь - правда интересно.


  1. Maksclub
    01.11.2021 18:30

    Автор вроде складно и приятно пишет , но сам ловится на противоречиях, причём принципиальных, на которых строит основные претензии к интервью:

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

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

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

    Гениально


    1. Maksclub
      01.11.2021 21:26
      +1

      крч когда дают сложно — надо проще и стандартизировано давать задачи

      когда дают стандартизировано и просто — надо бы сложнее "сеньор +" как-никак

      удобненько


  1. LuigiVampa
    08.11.2021 01:12
    +1

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

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