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

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

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




Почему мы сделали этот курс


В ряде крупных IT-компаний на собеседованиях проверяют знания алгоритмов и структур данных. Эта часть собеседования называется «алгоритмической секцией».

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

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

Чему вы научитесь на курсе


Курс состоит из пяти блоков, в которых есть теория, тесты и практические задачи.

  1. Краткое введение в курс. Расскажем, что такое алгоритмы и структуры данных, зачем их изучать.
  2. Как проходят алгоритмические собеседования. Поговорим про алгоритмические собеседования: как проводятся и оцениваются. Разберём, почему в крупных компаниях именно такой формат интервью. Поделимся критериями успешного собеседования и расскажем, что нужно делать, чтобы повысить свои шансы на успех.
  3. Какие алгоритмы нужно знать. Подробно разберём алгоритмы, которые могут встретиться на собеседовании.
  4. Какие структуры данных нужно знать. Разберём структуры данных, которые пригодятся на собеседованиях. Для каждой из них вспомним идею реализации, основные операции, названия в разных языках программирования и случаи использования.
  5. Подготовка и практика. Поделимся рекомендациями по подготовке, задачами на разные темы и источниками для самостоятельной работы. Расскажем, каким должно быть резюме и чего не стоит указывать в нём.

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



Как устроено обучение


  • Курс состоит из уроков и тестов для закрепления материала.
  • Помимо теории на курсе есть практическая часть. Студенты решают алгоритмические задачи в Яндекс Контесте — платформе для проведения соревнований. Решать можно на четырёх языках: Python, C++, Java, JavaScript. Примеры в теоретической части написаны на C++ и Python.
  • На курсе нет сопровождения, задания проверяются автоматически.

Детали


Обучение бесплатное. Длительность прохождения зависит от уровня подготовки. В среднем потребуется от 10 до 50 часов. Начать курс можно в любое время.

Посмотреть полную программу и узнать про курс больше можно на сайте.

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


  1. segment
    14.04.2022 16:32
    +5

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


    1. awfun
      14.04.2022 17:56

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


      1. segment
        14.04.2022 17:58
        +2

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


        1. kalombo
          14.04.2022 18:34
          +4

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


        1. eandr_67
          14.04.2022 19:52
          +5

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


          1. wataru
            14.04.2022 23:49
            +1

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


            1. eandr_67
              15.04.2022 00:25
              +2

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

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


            1. K37
              15.04.2022 06:19
              +2

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

              Скорее хорошая память.

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


              1. Alexandroppolus
                15.04.2022 09:45
                +2

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

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


        1. wataru
          14.04.2022 23:59
          +1

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


  1. BorisBurkov
    14.04.2022 20:01
    +2

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


  1. Alexandroppolus
    14.04.2022 20:49
    +7

    Появление этого курса от Яндекса (с их зарубами на собесах) выглядит как иллюстрация к "придумай проблему, продай решение"


    1. wataru
      14.04.2022 23:53

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


  1. a40
    14.04.2022 21:40
    +3

    Странно видеть столько негативных коментов.

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

    Ну не хочется алгоритмов - не учите, делов то. Кому-то не нужно, а кому-то очень даже необходимо..


  1. KudryashovDA
    14.04.2022 22:28

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


    1. wataru
      14.04.2022 23:58
      +4

      Яндекса — часто приходится иметь дело с алгоритмами в работе?

      Могу сказать про гугл (работа над хромом). Динамическое программирование, дихотомию и всякие sliding window max приходилось писать. Плюс всякая математика вроде фильтров Калмана, регрессии и немного теории чисел понадобилось. Далеко не каждый день, да. Раз в пару месяцев что-то вот такое интересное высплывает. Но когда оно нужно — оно действительно нужно. Без знания об алгоритмах тупо не было бы даже мысли "а вот тут нужен алгоритм". Или задача была бы признана нерешаемой и расслаблены требования, или что-то наивное за O(2^n) сидело бы в коде вечно.


      1. kostia256
        15.04.2022 10:23

        Ну т.е. достаточно универ закончить по профильной специальности ;)


  1. K37
    14.04.2022 23:32

    Сортировка пузырьком!


    1. vya
      15.04.2022 02:41

      Порой без пузырька чужую либу и не освоить...


  1. Mitai
    15.04.2022 14:57
    +1

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


    1. wataru
      15.04.2022 15:16
      +1

      Во всем Фаанге так. И многие западные компании это копируют.