Собеседование в Яндекс. Алгоритмы

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 264

  • @FilenkovMaxim
    @FilenkovMaxim 10 месяцев назад +60

    8:30 "алгоритмическая секция блокирует, даже если остальные прошел на отлично"
    Мы поставили ее в конец.
    Это так алгоритмически оптимально :facepalm

  • @boriskaloshin8989
    @boriskaloshin8989 Год назад +80

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

  • @luyt2
    @luyt2 Год назад +33

    Очень круто, прям на одном дыхании смотрел. Классно, что показали как на стороне яндекса всё делается. Заметки огонь просто. Спасибо всем участникам и Кириллу за организацию.

    • @ilias3624
      @ilias3624 10 месяцев назад +2

      Для себя главный вывод сделал, что лишнего лучше не болтать :))))

  • @NeverGTI
    @NeverGTI Год назад +39

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

    • @AndroidBroadcast
      @AndroidBroadcast  Год назад +8

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

    • @NeverGTI
      @NeverGTI Год назад +37

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

    • @saswwer
      @saswwer Год назад +24

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

    • @flowname
      @flowname Год назад +6

      @@AndroidBroadcast чем измеряется статус? Способностью заработать больше в других местах? Тогда можно сразу пойти зарабатывать туда.

    • @АлексейБуравов-н1и
      @АлексейБуравов-н1и 11 месяцев назад

      Тут скорее тема, что у фаангов подход похожий (только поадекватней), так что можно использовать Яндекс как бесплатное мок-собеседование при подготовке сразу в фаанг)

  • @sergeyborisov4163
    @sergeyborisov4163 Год назад +91

    На мой взгляд, большинство разрабов с большим опытом коммерческой разработки, но без олимпиадного бекграунда, не будут тратить время на leetcode задачки.
    Зачем ? Есть компании в России, которые платят не меньше или больше yandex, но на их собесах не спрашивают оторванные от реальной жизни задачки.
    Конечно, такие задачки используются при найме в FAANG, но там люди готовятся по полгода именно из-за 'жирных' офферов.
    А yandex, судя по всему, принимает в основном молодежь из бывших олимпиадников )

    • @tor19v
      @tor19v Год назад +19

      Это как в универе предмет никому не сдался но препод будет душить как ненормальный

    • @olegin1995
      @olegin1995 Год назад +29

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

    • @dmitriykonopinskiy3793
      @dmitriykonopinskiy3793 Год назад

      @@olegin1995 трудности возникают у вашего руководства виде доп затрат на ваш неоптимальный код

    • @IT_psychopath
      @IT_psychopath Год назад +5

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

    • @AllistirKing
      @AllistirKing Год назад

      @@IT_psychopath Согласен

  • @totalcount
    @totalcount 11 месяцев назад +17

    1:24:27 если не ошибаюсь, у сдающего по памяти сложность верна оценена - O(n) не O(1) так как он создал result с N элементами

    • @Prof-Shor
      @Prof-Shor 8 месяцев назад

      Поддерживаю, экзаменующему двойка

    • @dmitrysapelnikov
      @dmitrysapelnikov 6 месяцев назад +2

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

    • @Prof-Shor
      @Prof-Shor 6 месяцев назад

      ​@@dmitrysapelnikov
      Ага, расскажи это процессу JVM, когда ему памяти не хватит

  • @mradmiral5
    @mradmiral5 Год назад +58

    Сказали что нужно решить задачу максимально оптимально и по времени и по памяти. В то же время пишет коммент "Кандидат откуда-то взял идею, что нужно делать in-place:)"! Отличный подход, яндекс!

    • @dmitriykonopinskiy3793
      @dmitriykonopinskiy3793 Год назад

      что значит in-place ?

    • @yuraross682
      @yuraross682 Год назад

      ​@@dmitriykonopinskiy3793изменять текущий входной массив не создавая новый

    • @ИльяШумилин-н2и
      @ИльяШумилин-н2и Год назад

      @@dmitriykonopinskiy3793 если вы не знаете значение данных слов + не умеете пользоваться переводчиком, думаю, вам не стоит вообще пытаться в программирование

    • @w1ntexx281
      @w1ntexx281 Год назад

      @@dmitriykonopinskiy3793 менять элементы внутри массива, не создавая новый список

    • @torburgmax
      @torburgmax Год назад

      @@dmitriykonopinskiy3793"на месте". то есть не выделяя новую память

  • @ЕвгенийП-д8л
    @ЕвгенийП-д8л Год назад +15

    Я бы ещё и вычисление модуля убрал. Можно сравнивать квадраты, которые идут в ответ.

  • @inv2004
    @inv2004 Год назад +28

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

    • @torburgmax
      @torburgmax Год назад +22

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

    • @torburgmax
      @torburgmax Год назад

      @@alexlightweight по какому блату? прийти в яндекс через собеседование - редкость по вашему, получается?

    • @phat80
      @phat80 Год назад

      @@torburgmaxредкость конечно. Я как-то по приколу подался на самую простейшую вакансию Яндекса, чтобы посмотреть, реально ли туда попасть. Вакансия была как раз в подразделение маркета. Заниматься подготовкой и модерацией карточек товаров. Выслали тестовое задание. Сделал. Задание кстати муторное из нескольких частей. Но даже на собеседование не пригласили. И это вакансия была на полный рабочий день за что-то там 25 или 28 тыс. в месяц. Не знаю, что не устроило и каких гениев они на эти деньги ищут. Я может и не лучший специалист в мире, но уж точно не худший. Хотел бы я посмотреть на то, кого они находят на такие зарплаты.

    • @comparison9436
      @comparison9436 Год назад +1

      ​@@torburgmaxв Яндекс можно попасть по инвайту знакомых, сам избежал так собеседования. Главное иметь знакомых разработчиков там

    • @АлексейБуравов-н1и
      @АлексейБуравов-н1и 11 месяцев назад +3

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

  • @KlGleb
    @KlGleb Год назад +29

    42:37 -- я считаю, что некорректно считать, что сложность по памяти оценена некорректно. Мы же выделяем память под выходной массив. И чем больше первый, тем больше второй, Таким образом, потребление памяти растет линейно. Другое дело, что зачастую это учитывать необязательно, и на практике лучше спрашивать, учитывать ли выходной массив в оценке. Но ответ абсолютно корректен (если я заблуждаюсь, то объясните, пожалуйста, почему)

    • @AntonRychagov
      @AntonRychagov Год назад +2

      Это холиварный вопрос. Прочитав на stack exchange вопрос под номером 83586 можно получить ответ почему именно. На собеседованиях я специально уточняю, что меня интересует именно дополнительная память, потребляемая алгоритмом, а не какая-то абстрактная память, чтобы не было двусмысленности. На этом собеседовании я сделал так же :)

    • @KlGleb
      @KlGleb Год назад +5

      @@AntonRychagov Почему в этом случае память ты называешь абстрактной? Сколько ни думаю, получается, что на выходе мы возвращаем дополнительный массив, занимающий столько же памяти, сколько и исходные данные. Если исходный массив занимает 1ГБ, а у нас памяти 1.5 ГБ, то на выполнение алгоритма не хватит памяти. Потому что память не абстрактная , а вполне себе реальная. И дополнительная.
      Не получилось найти обсуждение по номеру. Нет ли у тебя возможности прислать ссылку или что-нибудь еще?

    • @AntonRychagov
      @AntonRychagov Год назад +1

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

    • @KlGleb
      @KlGleb Год назад +5

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

    • @AntonRychagov
      @AntonRychagov Год назад

      @@KlGleb это выход алгоритма, то бишь не попадают под определение дополнительной памяти.
      Ссылку youtube, к сожалению, режет :( Так что могу посоветовать только скопировать ссылку на любой ответ в stack exchange и подменить номер :)

  • @__alexfox__
    @__alexfox__ 10 месяцев назад +4

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

  • @ViktorYakunin
    @ViktorYakunin Год назад +54

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

    • @IT_psychopath
      @IT_psychopath Год назад +3

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

    • @StringerD
      @StringerD Год назад +5

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

    • @vadka1997
      @vadka1997 Год назад

      @@StringerDкак не быть говнокодером ?

    • @Prof-Shor
      @Prof-Shor 8 месяцев назад

      Воистину

  • @AADogov
    @AADogov 11 месяцев назад +7

    Вообще не понял тезис о том что IDE развращает. И нужно писать код в блокноте. IDE это инструмент обязательный для разработчика. Я никогда нигде в жизни и в работе не писал код в блокноте и на листочке, разве что в универе. Давайте еще гвозди будем забивать рукой, молоток развращает. Да я не помню какие методы у List array и тд. но Studio мне подскажет, и я даже не задумываюсь об этом, я знаю что они есть и думаю над самой задачей а не парюсь над тем как называется тот или иной метод.

  • @АлексейКиреев-н7н
    @АлексейКиреев-н7н Год назад +75

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

    • @МаркНовиков-р1щ
      @МаркНовиков-р1щ Год назад +2

      А что тебе мешает порешать задачи?

    • @yuraross682
      @yuraross682 Год назад +1

      ​​@@МаркНовиков-р1щничего не мешает порешать задачи, но при выборе кандидата это ключевой показатель, который +- ничего не значит, я собесил людей у которых 5+ лет опыта в Я, может мне конечно попадались "интеллектуалы" которые 2 слова не смогли связать, но это дно полное. Вывод: алгоритмы +- нужны но это не ключевой показатель при выборе кандидата.

    • @flowname
      @flowname Год назад

      @@МаркНовиков-р1щ даже если ничего не мешает решать задачи, этот факт не дает ответа на вопрос об эффективности фильтра.

    • @zxcq
      @zxcq Год назад +15

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

    • @flowname
      @flowname Год назад +1

      @@zxcq откуда следует, что именно это "лучше"? И не нужно подменять условия, не "не умеют решать алгоритмические задачи", а "не укладываются в 30 минут, 10 из которых потрачено на общение с интервьюером для выяснения всех требований"

  • @lexer42152
    @lexer42152 7 месяцев назад +1

    В этой задаче счетчик текущей позиции записи count по большому счету можно не вводить, т.к. его значение всегда будет равно right - left

  • @trollberserker1515
    @trollberserker1515 Год назад +19

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

  • @tr3mendous24
    @tr3mendous24 Год назад +11

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

    • @phat80
      @phat80 Год назад

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

    • @tr3mendous24
      @tr3mendous24 Год назад +2

      @@phat80 так там бесплатных полно, я на них и тренил, имхо, их хватит. По сути, алгоритмов не так много, а все задачи просто их вариации

    • @phat80
      @phat80 Год назад

      @@tr3mendous24 спасибо за информацию. Что-то думал, что там платный доступ только.

  • @romanbrazhnikov7635
    @romanbrazhnikov7635 8 месяцев назад

    1:25:52 Пример на 3 элементах довольно-таки вырожденный вариант, на котором сразу не очевидна симметрия, на более длинном примере уже можно увидеть 2 подмассива - левую и правую часть, которые необходимо смержить

  • @igorrykin4694
    @igorrykin4694 Год назад +10

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

    • @alexneo4880
      @alexneo4880 Год назад +1

      Какое условие поменялось?

    • @VINNY94051
      @VINNY94051 11 месяцев назад

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

  • @inquisitor4894
    @inquisitor4894 4 месяца назад

    Алгоритм два указателя.
    Создаем два указателя:- левый на наибольшее отрицательное число и правый на наименьшее положительное.
    После сравниваем модуль отрицательного и положительное число.
    Далее создаем массив квадратов.
    Если левый дошел до 0, то остаток заполняем правым, пока не дойдет до границы массива.
    Если правый дошел до границы, то заполняем левым пока на 0 не уйдет.
    Так же нужны проверки на размеры 0 и 1

  • @ДенисСаранин-м1и
    @ДенисСаранин-м1и Год назад +8

    А что до условия цикла count-- >=0 не дошел вместо сверки указателей пока докапывался? И вообще в этих собесех проьлема в том что на тебя давят своим мониторингом, пока он пытается что то говорить ему некогда думать, делал бы в тишине решил бы задачу оптимально за 5 минут, так что отсев не обоснован

    • @ontetsu1071
      @ontetsu1071 8 месяцев назад

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

  • @iancu_de_hunedoara
    @iancu_de_hunedoara Год назад +6

    25:51 чувак пришел на собес по алгам от Я и говорит, что не помнит алгоритмы сортировок.

  • @antonbutov2049
    @antonbutov2049 11 месяцев назад +1

    Кирилл, спасибо за организацию.

  • @MrUnless
    @MrUnless Год назад +8

    Яндекс - компания немного оторванная от реальности. Сталкивался с их спецами 3 раза и все три раза абсолютное разочарование. К тому же у них странное понятие о справедливости

  • @opiumfive
    @opiumfive Год назад +32

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

    • @sergeyborisov4163
      @sergeyborisov4163 Год назад +8

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

    • @konstantin6043
      @konstantin6043 Год назад +18

      Зато они умеют задачки с leetcode быстро решать ^^

    • @adrew4
      @adrew4 Год назад +1

      Яндекс как организация - так себе. Там везде аналогичный подход абсолютно бредовый.

  • @eugenesternin6039
    @eugenesternin6039 Год назад +6

    Смысл алгоритмической секции понятен. Не понятно, с какой стати нельзя пользоваться интернетом? В каком случае сотрудник будет писать код И НЕ ИМЕТЬ ВОЗМОЖНОСТЬ ЗАГУГЛИТЬ? Хорошо, что больше и больше компаний уходят от такого подхода.

    • @torlant3742
      @torlant3742 Год назад

      Недавно проходил собес в один Российский банк, на нём давали гуглить, но почему-то только на английском и без поисковиков с нейронками)

  • @emilyan7777777
    @emilyan7777777 Год назад +3

    Было похожее задание про симметричную последовательность на Яндекс Тренировки 1.0 , в секции 2 - Линейный поиск, F задача.

  • @МаркНовиков-р1щ
    @МаркНовиков-р1щ Год назад +3

    42:49
    Комментарий 2:07.
    Почему константа по памяти?
    Ты создаёшь новый массив. Выделяешь новую память. Не трогаешь старый.
    А если ты тысячу массивов создашь с длиной исходного, то тоже константа?

  • @denisgluk431
    @denisgluk431 Год назад +2

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

  • @ЛакиБо
    @ЛакиБо Год назад +1

    Спасибо, за такой формат

  • @katerinashepel2914
    @katerinashepel2914 Год назад +20

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

    • @katerinashepel2914
      @katerinashepel2914 Год назад

      @@alexlightweight алгоритмы не только в яндекс нужны. Их еще и в фаанг использует :)

  • @konstantin6043
    @konstantin6043 Год назад +15

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

  • @hredwolf
    @hredwolf 11 месяцев назад

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

  • @dmitriykonopinskiy3793
    @dmitriykonopinskiy3793 Год назад +2

    вопросы интервьюеру
    1) передавать внутрь метода важные данные, которые можно изменить - нарушение инкапсуляции. Какие могут быть претензии по его модификации?
    2) зачем эти ребусы писать inputArray[right--]? это не лаконичней, это снижает читаемость - заставляет задумываться, что попусту снижает мыслетопливо. Хотя если это история про написал и забыл, то да.

    • @AntonRychagov
      @AntonRychagov Год назад

      1) Я не очень понимаю почему первый вопрос адресован ко мне, структуру данных, передаваемую в функцию, выбирал кандидат :) К сожалению, на языке Java/Kotlin массивы нельзя передавать немутабельными, но стоит исходить именно из этого при реализации. По-моему именно про это я и говорил.
      2) Это субъективно, поэтому и спорить об этом смысла нет. Главное, чтобы в проекте делали придерживаясь общего codestyle команды.

    • @vitaly1461
      @vitaly1461 Год назад +1

      @@AntonRychagov Про (2) " зачем эти ребусы писать inputArray[right--]" это не субъективно, за такое надо руки отрывать по шею.
      Понапишут говнокод, который сами понимают только первый час после написания, а потом ловят баги днями.. Зато рассказывают про "знаю хитрости" с умным видом..

    • @AntonRychagov
      @AntonRychagov Год назад

      @@vitaly1461 как скажете, это ваше право так считать.

  • @bogatovnikita
    @bogatovnikita Год назад +3

    Хлопаю Сане, красавчик!

  • @temvin23
    @temvin23 Год назад +2

    спасибо за видео!

  • @MultiEmptybox
    @MultiEmptybox 10 месяцев назад +1

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

  • @dmitriykonopinskiy3793
    @dmitriykonopinskiy3793 Год назад +5

    у Кормэна 2 книги Основы алгоритмов и большая книга по алгоритмам. Обе хороши

    • @Lino-san
      @Lino-san Год назад

      У меня книга Кормена "Алгоритмы вводный курс" это третья книга этого автора? Или это и есть Основы?

  • @izmailovlz
    @izmailovlz Год назад

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

  • @АйдарИльясов-т3ы
    @АйдарИльясов-т3ы Год назад +1

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

  • @Илья-к7б8б
    @Илья-к7б8б 6 месяцев назад

    Отличный сервис для собесов! Мы идем на встречу прогрессу

  • @ФёдорКурушин
    @ФёдорКурушин 4 месяца назад

    хз за решение, сделал за 5 секунд разбив массив по полам > 0 и

  • @sergiocoder
    @sergiocoder 7 месяцев назад +1

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

    • @phonkabuser3985
      @phonkabuser3985 5 месяцев назад

      ахах тесты ему не показывают))

  • @ИкромХасанбаев
    @ИкромХасанбаев 4 месяца назад

    нифига не easy)) первая задачка может да, но вторая задачка, как правило, уровня middle.

  • @june3878
    @june3878 Год назад +6

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

    • @IT_psychopath
      @IT_psychopath Год назад +1

      я когда на собесе, двух слов не могу связать внятно... мое IQ уходит в минус..🤣но стоит выйти из созвона и чтоб ни кто не стоял над душой, IQ вырастает выше чем к Эйнштейна..🤣

  • @faIke5
    @faIke5 10 месяцев назад +1

    Хм "Научитесь кодить на бумажке, IDE развращает, нам это нужно что бы вы могли пройти наши тесты"

  • @НиколайБурмин-м9ч

    В исходном массиве есть максимальный элемент - последний. Берем цикл, первый элемент возводим в квадрат, если он становится больше максимального, то ставим его в конец - и так делаем с каждым элементом исходного массива. Сложность О(n). Верно?

    • @AndroidBroadcast
      @AndroidBroadcast  Год назад +3

      а если не больше, то что?

    • @cestxvcdim
      @cestxvcdim Год назад

      Решение за квадрат выйдет так-то. Перебор всего массива (О(n)) + удаление первого элемента, а значит и дальнейший сдвиг массива (O(n)). Неэффективно, да и к тому же неверно.

  • @ovsyannikovo
    @ovsyannikovo 6 месяцев назад

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

    • @AndroidBroadcast
      @AndroidBroadcast  6 месяцев назад

      "Нормальные IT-компании" - это кто?

    • @ovsyannikovo
      @ovsyannikovo 6 месяцев назад

      @@AndroidBroadcast Прежде всего это компании откуда не хотят уходить через несколько месяцев )))

  • @hilerka
    @hilerka Год назад +13

    Превьюшка к видео - огонь 🔥
    Я даже успела подумать, что это Антон свой канал завёл)
    Великолепный собеседующий, мегапрофессионал, идеальный руководитель, человек признанный, авторитетный, мэтр 😃
    Классный получился разбор секции!

  • @comparison9436
    @comparison9436 Год назад

    Метод двух указателей. Сразу его не увидел к сожалению. Кто-то знает признак для определения задачи для 2 указатели? Сортировка?

    • @micsha123
      @micsha123 10 месяцев назад +1

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

  • @vp_arth
    @vp_arth 8 месяцев назад +1

    Какое-то полурелигиозное «мы не учитываем место под выходной массив». Откуда оно взялось-то?

  • @МаргаритаНовикова-л3р
    @МаргаритаНовикова-л3р 2 месяца назад

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

  • @ЛакиБо
    @ЛакиБо Год назад +1

    Не увидел в решении условия для массива с одинаковыми по модулю числами. Пример [-3, -2, 2, 3]

    • @dimkas4284
      @dimkas4284 Год назад +2

      Двумя указателями идешь
      Если числа равны, то разницы особой нет, ведь порядок не важен в каком они будут стоять
      Что так, что так конечный массив будет 4 4 9 9

  • @mikhailslobodskoy
    @mikhailslobodskoy 6 месяцев назад

    Задача интересная. Интересно на сколько время давит на кандидата?

  • @stanislavzemlyakov5442
    @stanislavzemlyakov5442 Год назад +12

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

    • @stanislavzemlyakov5442
      @stanislavzemlyakov5442 Год назад +3

      @@alexlightweight видел, пользуюсь, полная балумба

  • @jimishukurow2286
    @jimishukurow2286 2 месяца назад

    Why people are not allowed to use IDEs in interviews like this?

  • @vlad_covers
    @vlad_covers Год назад +16

    Мой личный опыт про "алгоритмы не нужны": после месяца подготовки к алг. секции программировать на работе стало комфортнее. Появились две новые привычки:
    1) Всегда задумываться о крайних случаях
    2) Писать код целиком, без промежуточных запусков
    Да, без алгоритмов можно работать, но тут как в математике или в теории музыки: всему, что умеешь, применение находится.

    • @Chepr340
      @Chepr340 Год назад +16

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

    • @Chepr340
      @Chepr340 Год назад

      @@liam_ma_alla хз моим коллегам абсолютно все равно сколько я раз запустил код) им вообще пофиг на мои задачи, у них свои есть

    • @vlad_covers
      @vlad_covers Год назад +3

      А у меня теперь нет коллег. Только подчиненные :)

    • @vlad_covers
      @vlad_covers Год назад +1

      @@liam_ma_alla 😎😅

    • @auffff779
      @auffff779 Год назад +10

      Я согласен, замечательная логика, должен добавить, что с тех пор, как научился играть в шахматы до уровня КМС, появилось понимание, как планировать написание кода, стал отличать стратегию от тактики, это помогает руководить командой и двигать проект (я тимлид последние 8 лет).
      Поэтому я считаю, что на собеседованиях на роль тимлида и сеньора мы все обязаны проверять кандидата на умение играть в шахматы. Ведь если тимлид может управлять 16 фигурами на доске и планировать их роль в партии в будущем - он и подавно управится командой в компании. А если он даже с фигурками не может разобраться, то каких успехов можно от него ждать в реальной жизни? Ведь людьми управлять гораздо сложнее!
      Когда уже яндекс это поймёт и добавит 10-й этап собеседования с шахматным турниром против собеседующего? Кандидатов с рейтингом ниже 2000 рассматривать никак нельзя, это очевидно любому. Ждём прогрессивных нововведений!

  • @JuliaT522
    @JuliaT522 Год назад +2

    Интервьюер надменный)

  • @get_out_it
    @get_out_it 9 месяцев назад

    интересно в яше потом лог этот читают глазами или алгоритм лог анализирует и выставляет оценку?

    • @get_out_it
      @get_out_it 9 месяцев назад

      никогда не видел чтобы насттолько подробный лог писали

  • @mpmuradov
    @mpmuradov 3 месяца назад

    42:45 "Некорректно оценил сложность по памяти (линейная, а не константная)" Так ведь константная - это решение in-place ))

    • @mpmuradov
      @mpmuradov 3 месяца назад

      объясняет как оно у них считается на 1:24:50

  • @iOSnick
    @iOSnick Год назад +27

    Антон способен испепеллить самомнение любого раздутого сеньора-помидора за O(1) операций.
    Компилирует когда моргает, дебажит когда дышит.
    Студенты Яндекс.Практикума утверждают, когда в аудитории выключился свет, Антон положил руку на сетевой фильтр и все заработало, скомпилировалось, протестировалось и в Яндекс.Лавку улетели заказы на манговые смузи.
    Собес с Антоном - единственное место в мире, где ты можешь почувствовать себя nullable объектом.
    Ходит легенда, что однажды самый сильный в мире разработчик написал once-функцию, позволяющую делить на ноль. Когда она отработала, появился Яндекс. Говорят, этим разрабом был Антон.
    Антон любит дождь, потому что в нем можно прятать слёзы неокрепших сеньоров, дошедших до алгоритмической секции и нахрен проваливших её.
    Официально является GodObject-ом Яндекса.
    Прошедшие и непрошедшие алгоритмическую секцию с Антоном живут в разных районах Силиконовой Долины.
    Ну а если серьёзно, Антон - топовый прогер. Единственный человек, от которого ты искренне рад удостоиться похвалы за интеллект И! От которого не обидна никакая критика. Знакомство и работа с ним - лучшее, что может произойти в Яндексе, потому что таких профессионалов просто не найти. Я рад быть знаком с этим человеком.

  • @СофьяТалавринова
    @СофьяТалавринова 8 месяцев назад +1

    Спасибо за развернутые комментарии и за задачу) Очень понравилось, как ведет себя интервьюер, было бы комфортно)

  • @paramadim
    @paramadim Год назад +3

    Мне как sql пареньку интересно решать такие задачи. На мой взгляд такие задачи дают важный урок: 1.не считай то что не нужно ; 2.используй все исходные данные для поиска ответа.

  • @vitaly1461
    @vitaly1461 Год назад +4

    01:32:45 Изменение индекса и одновременное обращение к массиву по этому индексу - НЕ ПРИНЯТ.
    В коммерческом программировании код должен читаться (и проверяться на корректность) слету.
    Сегодня пишем на одном языке, завтра на другом, а потом все это путаем и ловим ошибку полдня.
    Никогда так не делайте!

  • @CatBlack-p2h
    @CatBlack-p2h Год назад +2

    Как можно не любить алгоритмы, это же тааак увлекательно:)
    Сама решаю их иногда на codewars , но только изи левел пока что в начале пути программирования)
    Даже если это не имеет отношения к реальному программированию, просто приятно провести время, «размять мозг»
    По задаче, у меня сразу возникла идея с помощью бинарного поиска найти два ближайших к нулю соседних числа в массиве(написать свой бинарный поиск и сохранить индексы левого и правого указателя), и уже их сравнивая двигаться из середины(условно середина-там где отрицательное и положительное соседи) к краям. Квадраты были бы от меньшего к большему.
    Но после подсказки об крайних числах уже поняла, что тоже чуть промахнулась.
    Спасибо за выпуск, было интересно☺️

    • @АлексейКанаев-р8х
      @АлексейКанаев-р8х Год назад

      Я тоже про бинарный поиск подумал

    • @СтарыйДобрый-ч1п
      @СтарыйДобрый-ч1п 11 месяцев назад

      Потому что в сутках 24 часа и всегда стоит выбор куда их "инвестировать". А так как в программировании нужно изучить миллион всего, то решение задачек не всегда стоит во главе списка приоритетов. Так как есть много вещей, изучив которые ты сможешь начать приносить бОльшую пользу бизнесу.
      Не отрицаю важность алгоритмов, но не задрачивать их до такой степени, чтобы мочь решать их в стрессовой ситуации, под "надзором", сходу, без IDE, без дебагера, с ограничением по времени. Ибо эти навыки не мастхэв (за 6 лет практики только 1 раз столкнулся с задачей, алгоритм для которой пришлось гуглить, остальные были тривиальные в алгоритмическом плане, сложность бизнесовых задач обычно в другом, на что и стоит инвестировать основной пул свободного времени)

    • @АлексейБуравов-н1и
      @АлексейБуравов-н1и 11 месяцев назад

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

    • @Viacha-wo3lb
      @Viacha-wo3lb 11 месяцев назад

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

  • @ibraim3197
    @ibraim3197 11 месяцев назад

    Не согласен с интервьюером, что видно, что человек много пишет, тк осмысленно именует переменные. Как раз кодит он мало, у него нет мышечной памяти элементарной, как минимум модули обозначаются как abs. Count названа некорректно, скорее pos. Плюс те же отступы, left != right и ряд других моментов

  • @Денис-ж3ф5р
    @Денис-ж3ф5р 6 месяцев назад

    Первый алгоритм для котов или белок?

  • @get_out_it
    @get_out_it 9 месяцев назад

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

  • @fromsiberia4985
    @fromsiberia4985 Год назад +4

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

    • @AntonRychagov
      @AntonRychagov Год назад

      На алгоритмической секции - не бывает.

    • @heybeachMIN
      @heybeachMIN Год назад +1

      @@AntonRychagov А в бэкенде могут быть сложнее задачи? Или алгоритмическая секция во всех направлениях плюс минус одинаковая?

    • @AntonRychagov
      @AntonRychagov Год назад +1

      @@heybeachMIN просто одинаковая на всех направлениях

    • @fromsiberia4985
      @fromsiberia4985 Год назад +1

      @@AntonRychagov а что вы под алгоритмической секцией понимаете? Для меня все 3 собеса Яндекса были по сути на алгоритмы

    • @AntonRychagov
      @AntonRychagov Год назад

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

  • @dibehemoth401
    @dibehemoth401 11 месяцев назад

    Неужели уверенного умения (не как на видео) решать задачи подобной сложности достаточно для попадания в Яндекс?

    • @Viacha-wo3lb
      @Viacha-wo3lb 11 месяцев назад

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

  • @bad_catss
    @bad_catss Год назад +6

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

    • @AndroidBroadcast
      @AndroidBroadcast  Год назад

      Задачи было заготовлено 2. Вторая была сложнее

    • @MrPalianytsia
      @MrPalianytsia Год назад

      А как с5бя попробовать? Я трейни, но задачу решил поуверенее)))

    • @AndroidBroadcast
      @AndroidBroadcast  Год назад

      Попробовать в чем?

    • @flowname
      @flowname Год назад

      @@AndroidBroadcastесли было заготовлено две задачи, тогда почему из получасового интервью отнимают время на вербальное объяснение решения интевьюеру? Почему задача изначально поставлена неполностью и интервьюер отнял время у собеседуемого на уточнение условий задачи про линейное решение?

    • @torburgmax
      @torburgmax Год назад

      @@flowname все было поставлено верно изначально. было сказано сделать оптимально по времени и по памяти

  • @june3878
    @june3878 Год назад

    Саня молодец!

  • @АлександрКороль-ч6м
    @АлександрКороль-ч6м 6 месяцев назад

    Я чет не понял а что там у интервьюера со сложностью по памяти - откуда там константа если не инплейс заполнение? Досмотрел до конца -
    Интервьюер: «я бы мог решить эту задачу за 5 минут»
    Ведущий: «как решить эту задачу inplace с той же сложностью»
    Интервьюер: «никак»
    В принципе все что нужно знать про интервьюеров Яндекса

  • @fomo6112
    @fomo6112 3 месяца назад

    я за 2 минуты решил на js, яндекс жди меня

  • @oceantale2168
    @oceantale2168 17 дней назад

    Так интересно что никто про преждевременную оптимизацию в комментариях

  • @fazzzy3160
    @fazzzy3160 8 месяцев назад

    const sortFunc = arr => {
    let result = []
    for(num of arr) {
    const square = num * num
    result.push(square)
    }
    return result.sort((a,b) => a-b)
    }
    оцените решение :)

  • @no101vmv
    @no101vmv 11 месяцев назад

    На самом деле слишком усложнил)))) Можно было сделать сильно проще проверяя только что итератор записываемой позиции больше или = 0))

  • @dmitriykonopinskiy3793
    @dmitriykonopinskiy3793 Год назад

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

  • @gurgen5217
    @gurgen5217 2 месяца назад

    За 10 лет работы он 2 раза применял алгоритмы. Зато потратил 5 лет на литкоде.

  • @NewUser78654
    @NewUser78654 Год назад +5

    "Есть ведро для того чтобы носить воду. Кажется, все знают, что ведро нужно использовать чтобы носить воду. Но кто то его носит как головной убор."
    Если этот кто но носит ведро как головной убор, но умудряется носить в нем воду (как вариант ведро на голове, как на востоке) то разве это плохо? Это дискриминация людей по способу реализации задачи - нести воду. Если ведро позволяет носить себя на голове, хорошее ли это ведро? Если завтра сделают ведро исключительно для ношения на голове, то увидим ли мы переобувание - про ведро на голове, а кто носит в руках - тот чудак?
    В этом выражается весь смысл хипстерского айти. У нас есть то, что нам нравится - либо ты отвечаешь как нам нравится, либо идешь куда нибудь ещё. А там, в другой избушке (айти компании) свои погремушки. Это одна из огромных проблем айти - никаких стандартов, как по коду, так и по приему на работу и собеседованиям.
    В 90% фирм свои стандарты, продукт, алгоритмы (не оптимальные, выдуманные) но вот так - и ты либо соглашаешься, либо идешь искать дальше.
    И, главное, никакого карьерного роста. Мидл-на одном месте, джун на другом, инженер на третьем, программист на четвертом. Кто ты? Да хрен его знает - мальчик на побегушках по айти компаниям. Ну а с развитием технологий, расширением зоопарка систем, фреймворков, языков попадать в стек всё сложнее.
    И висят вакансии годами. С зп 100+ к, что для регионов (не Москвы) или дальнего востока, это очень хорошие деньги. Вакансии висят, а людей нет. Никто не подходит )
    Хотя это уже ближе к инфоциганству...
    PS
    Кроме Яндекса есть и другие компании. Крупных компаний на рынке мало и попасть туда сложно.

  • @dima12011201
    @dima12011201 Год назад

    Ляя, с прожаркой стейков угарнул)

  • @codingpas
    @codingpas Год назад +2

    Скиньте ссылку на задачу в литкоде.

  • @Ivan-feast007
    @Ivan-feast007 2 месяца назад

    С таким интервьюером тяжело проходить собез

  • @vitaly1461
    @vitaly1461 Год назад

    01:24:26 Крайне сомнительная тема с константной сложностью алгоритма по памяти.
    По определению, емкостная сложность алгоритма - это сколько памяти алгоритму требуется в процессе работы.
    Алгоритм в процессе работы создает выходной массив.
    Не до своей работы, не после своей работы - во время своей работы.
    Значит, алгоритму для работы нужно линейное количество памяти.
    Если поставить другую задачу: разрешено модифицировать входной массив, то это другой алгоритм с константной сложностью по памяти.

    • @AntonRychagov
      @AntonRychagov Год назад

      Продублирую ответ двухмесячной давности: "Это холиварный вопрос. Прочитав на stack exchange вопрос под номером 83586 можно получить ответ почему именно. На собеседованиях я специально уточняю, что меня интересует именно дополнительная память, потребляемая алгоритмом, а не какая-то абстрактная память, чтобы не было двусмысленности. На этом собеседовании я сделал так же :)"

    • @vitaly1461
      @vitaly1461 Год назад

      @@AntonRychagov > вопрос под номером 83586
      На SE не нашлось. Там есть разделы - если там, то в каком разделе?
      На SO также не нашлось.

    • @vitaly1461
      @vitaly1461 Год назад

      @@AntonRychagov В дополнение к моему прошлому ответу. Я нашел какое-то обсуждение на SE в разделе cs номер 156949, еще видел обсуждения на SO.
      Так вот, там обсуждается: включать ли ВХОД алгоритма в емкостную сложность.
      В обсуждении на SE 156949 приводится ссылка на книжку ОРейли "Hands-On Data Structures and Algorithms with JavaScript by Kashyap Mukkamala"
      Space complexity and Auxiliary space
      Space complexity and Auxiliary space are two of the most often confused and interchangeably used terms when talking about the space complexity of a certain algorithm:
      Auxiliary Space: The extra space that is taken by an algorithm temporarily to finish its work
      Space Complexity: Space complexity is the total space taken by the algorithm with respect to the input size plus the auxiliary space that the algorithm uses.
      --
      то есть НИГДЕ не обсуждают, включать ли ВЫХОД алгоритма в емкостную сложность. Разговоры только про ВХОД, а про ВЫХОД всем понятно (что надо включать, потому что выход формируется в результате работы алгоритма)
      Может, ты что-то перепутал?
      ("ты" - ну это как в яндексе и в интернетах принято)

    • @AntonRychagov
      @AntonRychagov Год назад

      @@vitaly1461 Я как раз спрашиваю про Auxiliary Space Complexity.
      В любом случае, несмотря на то, что Саша на интервью ответил некорректно на этот вопрос, я увидел, что он понимает, как именно считается Space Complexity, а это главное. Я бы не стал снижать ему за это баллов, если бы это было реальное собеседование.

    • @vitaly1461
      @vitaly1461 Год назад

      @@AntonRychagov Почему-то твои ответы ютуб часто прячет.. каким-то образом получилось увидеть, а теперь снова не видно.
      Из ответа я понял, что ты не вникал в суть моего сообщения.
      Просто обрати внимание, что никто не обсуждает объем выхода.
      Обсуждают: 1) объем входа 2) объем памяти в процессе работы алгоритма 3) общий объем памяти.
      В цитате из книги ОРейли не обсуждается объем выхода.
      Вопрос - Как думаешь, почему не обсуждают объем выхода?
      Я уже отвечал на этот вопрос. Попробуй теперь ты.
      (обсуждение 83586 недоступно, про это я писал, не знаю что там)

  • @ПростоМихаил72
    @ПростоМихаил72 Год назад +6

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

    • @AndroidBroadcast
      @AndroidBroadcast  Год назад +5

      Может ещё и решение? Я смотрел за процессом и задание было объяснено полностью нормально

    • @ASFlasher
      @ASFlasher Год назад +4

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

    • @dmitriykonopinskiy3793
      @dmitriykonopinskiy3793 Год назад

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

  • @СенчуринНиколай
    @СенчуринНиколай Год назад +9

    хорошая попытка , Я, но нет

  • @forever_anton9916
    @forever_anton9916 5 месяцев назад

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

  • @bnidia
    @bnidia 11 месяцев назад

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

  • @dmitriykonopinskiy3793
    @dmitriykonopinskiy3793 Год назад

    getX2array - неверное название. X2 это *2

  • @cyrilanisimov
    @cyrilanisimov Год назад

    Лучше бы брали всех подряд, может, качество сервисов улучшится (почта, диск, браузер)

  • @Lilli_425
    @Lilli_425 Год назад +5

    В коментах собрались одни обиженки, которых не взяли в Яндекс

    • @vlad_covers
      @vlad_covers Год назад

      Похоже, это такая традиция :)

  • @panfilovandrey
    @panfilovandrey 11 месяцев назад +1

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

    • @AADogov
      @AADogov 11 месяцев назад +6

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

  • @АндрейИльин-д6ж
    @АндрейИльин-д6ж Год назад +3

    алгоритмы яндекса на яндекс картах: "реальные пользователи ставят только 4 и 5" 1,2,3 ставят боты!

  • @vladimir7759
    @vladimir7759 Год назад

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

    • @Viacha-wo3lb
      @Viacha-wo3lb 11 месяцев назад +1

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

    • @vladimir7759
      @vladimir7759 11 месяцев назад

      молодец что понял, наверное очень горд собой?)@@Viacha-wo3lb

    • @Viacha-wo3lb
      @Viacha-wo3lb 11 месяцев назад

      @@vladimir7759 я не горд, мне скорее стыдно за вас, вайтишников с ICQ 80

  • @СергейЩеглов-л6н
    @СергейЩеглов-л6н 11 месяцев назад

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

  • @Rodeon10
    @Rodeon10 Год назад

    Мне одному показалось, что задача была сортернуть в итоге? Судя по алгоритму он работает для [-3,2,4] но если расширить входные данные, он уже не работает. По ощущению тут не было ни нормальной задачи, ни нормальной оценки кандидата... Тут кандидата по моему просто валили... Нет таких сортировок строго за O(n) только если в лучших случаях (Что и было реализовано в данном видео)... Смотрел и недоумевал че тут вообще происходит... Яндекс такой яндекс...😂😂😂

    • @7Denial7
      @7Denial7 Год назад +4

      Все тут работает, просто ты не соображаешь немного

    • @Rodeon10
      @Rodeon10 Год назад

      @@7Denial7 Бесполезный ответ. Ага, сспасссибо!😅

    • @7Denial7
      @7Denial7 Год назад

      @@Rodeon10 запусти код не в голове, а на компе, и скажи что здесь может не работать

    • @Viacha-wo3lb
      @Viacha-wo3lb 11 месяцев назад

      @@Rodeon10 твои смайлики только подтверждают твой icq(

  • @bukanaka
    @bukanaka Год назад

    А с каких пор отрицательное число в n степени становится положительным?

    • @vlad_covers
      @vlad_covers Год назад +7

      Но с тех пор как умножается на другое отрицательное число :)

    • @sparrowwin
      @sparrowwin 11 месяцев назад

      школу меньше прогуливать надо было😂

    • @bukanaka
      @bukanaka 11 месяцев назад

      Да я многое позабыл после школы))@@sparrowwin

  • @tnsaturday
    @tnsaturday Год назад

    Сверхразум Dmitry в чате решил с O(1) по памяти =)

  • @IvanAndreev91
    @IvanAndreev91 Год назад

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

  • @aa.alexey
    @aa.alexey Год назад

    После этого видео расхотелось даже идти на собеседование в Яндекс. Ну вот представьте вы натренировались на собес, вас взяли на работу, а потом с этим каждый день работать, и вместо arr.map().sort() писать такие портянки? Ну нафиг, где тут удовольствие от работы?))