17:45 "цель собеседующего на секции не сказать какой он плохой а выяснить на сколько мало нужно дать подсказок кандидату" Месяца 2 назад проходил собеседование в Яндекс, где собеседующий сидел и просто клацал по клавиатуре(видимо работу работал) и молчал на все мои вопросы и уточнения по задаче лишь изредка с 3-го повторения моего вопроса отвечал с тяжелым вздохом будто я его заставляю проводить собеседование:) Upd. зато всё что касается показухи на публику у вас(яндекс) всё мило по доброму и лояльно
Обязательно в таких ситуациях следует уточнять - не мешаете ли Вы работать, не отвлекаете ли. Я серьезно. Он не в границах, а Вы тем не менее останетесь в своих.
@reverie погодите, человека поставили ответственным за проведение собеседования, значит в этот отведенный час он должен проводить собеседование а не работать, вам так не кажется? Убивать двух зайцев - некомпетентность, неуважение и безответственность.
задача на моковом собеседовании яндекс: напишите функцию, которая определяет, является ли строка палиндромом тем временем интервью на стажировку яндекс фронтенд: Разработайте эффективный алгоритм для определения оптимального расположения N точек на двумерной плоскости, минимизируя суммарное евклидово расстояние между каждой парой точек, учитывая ограничения на минимальное и максимальное расстояние между ними, при условии, что N является простым числом и не превышает 10^6
Попробовал викенд оффер, и моя жопа улетела в космос. Больше всего бесит то, что эти всратые задачки существуют только в рамках собеса. Я этого на работе ни в одной таске не увижу ни-ког-да. Но стоит отдать должное, задачи сложные - нахрапом не решил.
ЖЕСТЬ!!!! Я тоже смотрю видео и в голове решаю эти задачи правильно. Ради интереса хотел пройти тест на стажировку, я там раз 10 читал задачу и все равно не понял!!! И думаю может просто мне тогда не повезло, спустился в коменты и все стало понятно.
Ребят, особенно те, кто бомбанул с задачек викенд оффера - не парьтесь. :) Такой ивент - просто способ найти самых умных + самых лояльных к компании разрабов и взять их к себе. Посудите сами. Вы - Яндекс. Ваша компания для многих кажется "настоящим айти в РФ". Куча разрабов со всей страны ежедневно ломится на интервью. Под hr хоть отдельный офис открывай. Почему бы не сделать такое вкусное предложение: пообещать за два дня устроить человека? Но чтобы это было выполнимо, нужны сильные преграды: задачи с усложнённым описанием, дэдлайн на решение, etc. Кто пройдёт через такой фильтр? Очевидно тот, кто достаточно разбирается в коде, чтобы написать решение задачек. А ещё у него не сгорит жопа от описания задач, ведь он лоялен к компании. Вот и всё, дело в шляпе. Такой вот маркетинговый ход. :)
ломятся? Да скорее разработчики от яндекса бегают, раз в два месяца стабильно яндекс вылазит и зазывает на "увлекательные" собесы. Тратить время на литкод ради компаний уровня MANGA да, ради яндекса - нет.
Проходил онлайн-отбор в летнюю школу яндекса в этом году. Надо было решить 7 задач. Там такооой пиздец... Я думал щас по одной задаче в день вечером после работы порешаю, попытаю удачу. Те задачи, которые там были... Я даже не могу сразу с ходу представить в голове алгоритм, как их решать. При том что на код ворсе всегда приблизительно представляю, как задача будет решаться, вопрос только в том, как это на языке программирования сформулировать... А это, на минуту, был отбор в летнюю школу заочный этап, на котором будет отбор в очный этап, на котором будет шанс получить оффер от яндекса. Вопрос - нахуя этим заниматься? Если есть куча контор, у которых ОДИН этап собеседования, и зарплатную вилку они почему-то пишут, а в яндекс ты даже не понимаешь, на какие условия идешь... Зато все такие приветливые, такие доброжелательные, такие отзывчивые... Тимуру как всегда лайк, спасибо за ролик! А про яндекс у меня мнение не поменялось))
Прохожу собеседования в 2023 году в РФ, стало больше лайвкодинга. Где-то все по дело, дают на ревью сервис и нужно указать что можно доработать и т.д. А где-то, как в Яндексе несколько этапов, в том числе пару задач с литкода. Возможно это фильтр, чтобы пропускать мотивированных кандидатов. А самое главное, в некоторых компаниях может быть 1 интервью и отличная з.п., а в других 3, 4 этапа и лайвкодинг, а по итогу з.п. может быть значительно меньше, чем в компании где было 1 интервью.
Правды ради, задачи 4 (а именно столько я смог решить) там решаются без знаний даже базовых алгоритмов. Все остальное на алгоритмы(я лично до сих пор не понимаю как их решить) + 1 задача на алгоритмы + JS (которая вообще жесть). P.S. Это актуально для ШРИ
Прошел отбор в ШРИ, 3 из 7 задач сделал полностью, 1 прошла базовые тесты, 3 остальные попытался сделать, но ошибки выдавали. Да, нихрена не понятно, как решать задачу, когда читаешь условие, но задачи именно на работу с информацией. Даётся 3 часа и надо найти решение задачи и написать его. Тем более последняя задача именно на работу с неизвестным API для реализации breadcrumbs. Но хотя да, для создания компонентов на React это пиздец сложные задачи, но если твоя цель делать фреймворки делать (вспоминая задачу про асинхронный рендеринг), то Яндекс это для тебя 😂
Ох, сам лид, много собеседую ребят джун/мидл+ уровня. И вот решил сходить на яндекс собес синьорного уровня, 7 задач, 3 часа. 3 задачи по js (замыкания, функциональщина, промисы) и 4 алгоритмических (тоже графы, линкед листы, скользящие окна). Я даже боюсь представить кому это может быть интересно проходить, если и так все сидят на литкоде, но такие стандарты у яндекса, имеют право. И тут переходим к индустриальным стандартам в целом. Многие мелкие кампании берут у топовых методы найма и принимают их же стандарты. Где у нас собеседования, это просто своеобразный экзамен с билетами которые можно зазубрить. И когда ты говоришь кандидатам а давай поговорим про dom, cssom, рендеринг страниц, какие операции действительно тяжелые на фронтенде (спойлер, не перетаскивания огромных json-ок), кандидат делает огромные глаза, потому что он такого не натренировал. И в итоге у нас есть рынок вакансий на которых нужны смышленые ребята, но которые умеют работать и знают инструментарий, и есть рынок кандидатов которые зубрят однотипные задачи и рассказывают о том что работали на 15 стейт менеджерах реакта. И эти два рынка не пересекаются. И согласно базовой теории игр у кандидатов есть "выигрышная" стратегия: ври в резюме и зубри задачи, попадешь на любителя задачек, считай выиграл, а таких интервьюеров сейчас много. И вот это по моему серьезная проблема перекоса рынка. + сюда добавляется история с огромным медийным "хайпом" вокруг литкода/кодварса будто бы без этого ТЫ НЕ ПРОГРАММИСТ. Ну а тейк про то что на фронте надо перебирать огромные данные, нуууу а может как то сделаем клиента потоньше? как то ускорим отрисовки и все такое? я понимаю что у яндекса ЕСТЬ сложные вычисления на клиенте, но это как учить тонкости кодировок видео в надежде работать на кинопоиске.
Тоже захотелось высказаться с немного новичковой позиции. Сейчас 1.5 года работаю С++ программистом в около геймдеве, иногда пишу шейдеры и касаюсь рендера. Около года назад начал ходить по собеседованиям на С++ программиста движков / графики, есть портфолио и т.п. И каково моё было удивление на первом техническом собеседовании на 2 часа, что вместо того, чтобы спрашивать про Pipeline рендера, оптимизацию, отладка на GPU, OpenGL / Vulkan, линейную алгебру и т. п. меня спрашивали, а давай перевернём строку, а давай сделаем move и copy constructor, а давай напишем linked list, а давай найдём полиндром, а расскажи про Big O(n) и т.п. Были конечно и хорошие вопросы, но в основном типа зазубрил ты или нет. И так на многих собеседованиях, на которых я был.
У меня вот вопрос такой. Я вот смотрю какое нибудь обучающее видео по программированию, там идёт объяснение, как что сделать. Мне полностью повторять за автором или делать самому и до какой степени пытаться сделать самому, когда можно будет посмотреть готовое решение? Просто я заметил, что когда я полностью повторяю за автором, но и понимаю конечно, что он делает, итог я какой получаю: я умею это делать и трачу намного меньше времени, чем если бы я пытался сам сделать, но вот то, что я сделал не сам, мне эта мысль не дает покоя. Заранее спасибо
Книги, статьи я конечно тоже читаю, гуглю, но только при необходимости, когда кодю. Когда просто сижу и изучаю почти без практики, становится скучно и неинтересно
Вообще тэйк про вычисления на JS это уже пиздец так-то, как и пояснять за асимптотику, где под капотом строка это например роуп, а ее методы как для массива на самом деле совсем не для массива, а сам массив это вообще аррейлист лол
@@ROADING_OFFICIAL Можешь услышать, что разобравшись сам ты лучше усвоишь - да это так, твой организм записывает в мозгу рядом с опытом/данными сколько времени/калорий ты потратил, и чем больше тем дольше хранится и ближе к доступу. Но справедливо и другое (для меня оно ближе), как ты и описал "полностью повторяю за автором, но и понимаю конечно, что он делает", тут запись идёт по другому сценарию. И этот метод уже хорош тем, что позволяет за более короткое время усвоить больший объём. Суть в чём, думаю встречал такой термин "насмотренность" / "руку набил", т.е. частое встреча с уже изученной инфой также увеличивает её ценность. Я так например учил React, и после многих итераций повторений за сенсеем, в определённый момент что-то щёлкает в голове и ты повышаешь свой уровень знаний. (У курсеры был курс на этот счёт типа "Как правильно учиться"). Если упростить, то любое обучение == время, точнее на выращивание новых нейронных соединений (тема с дендритами), и вот пока оно не срастётся - успеха не будет, а как соединится, то сразу увидишь прогресс. Кстати растут дендриты именно во время сна === хороший сон полдела.
Проходил собес в Яндекс 2 раза и в первый раз мне попался именно Вячеслав Баженов, он действительно способствовал и помогал наводящими вопросами решать задачи, спасибо ему за это. Тогда мне удалось пройти все три этапа, но к сожалению из - за отсутствия полностью удаленного формата в командах, вакансии в которых имелись, я не попал в Яндекс. Во второй раз завалился на третьем этапе, так как меня собеседовал не такой приветливый человек, как Вячеслав, имени говорить не буду, но помню, это действительно важный момент - кто собеседует. После завала, решил задачу самостоятельно минут за 10.
Всё-таки не просто так я подписан на Ulbitv и не на собеседующих/Яндекс. Речь у Тимура поставлена намного лучше, объясняет конкретно и понятно + много полезной инфы. Собеседующих слушать сложно, чувствуется неискренность и наигранность. Тут уже вопрос стоит не "попал бы я в Яндекс", а скорее "захотел бы я пройти это собеседование и попасть в принципе?" Тем более, у Тимура это не первое интервью на канале и есть с кем сравнивать. До сих пор помню приятнейшего собеседующего. За видео спасибо.
Да уж. В реальной работе это вообще не надо ). Такие задачи отдаю gpt, а мне кажется важно чтобы чувак умел читать документацию и ошибки. САМОСТОЯТЕЛЬНО докапываться и находить ответ. Вот и все требование сегодня к разрабу + базу и любовь к аккуратности
Тимуру лайк, и спасибо за контент. Касаемо викенд оффера недавнего. С одной стороны Яндекс задаёт планку, и если ты устроился, значит у тебя мозги варят быстрее чем у местного сеньора. С другой стороны, я считаю это, как до меня написали, заградительные задачи, чтобы показать что они берут кого-то просто решив пару задач, но при этом после такого уикенд оффера особо никто и не придет, тем более что потом собес нужно пройти. А искать олимпиадника... даже не знаю. А кто реакт будет знать?! Кто быстро изучает новые технологии? Что стоит дать человеку неизвестную библиотеку и сказать, напиши с ее помощью простую функцию, сразу будет видно как быстро человек обучаем и как он ищет информацию. А я утверждаю что для программиста куда важнее умение искать информацию, нежели её знать наизусть. Фреймворки меняются языки меняются, а умение искать и логически мыслить остается. А так да, супер логично мыслящих ищут. Удачи в поисках. Со всем уважением к продукции яндекса, этим стримом они показали свое лицемерство. Приходи решай "Палиндром" мы тебе подскажем, и ты в яднексе.
полностью поддерживаю, лицемерие - вообще фирменная черта яндекса. недавно проходил собес в один из отколовшихся кусков яндекса за границей. перед началом всего процесса уточнил у рекрутера, насколько эта новая компания внутри остается яндексом, ответ был - ничего общего, что по факту - собеседования проводят действующие сотрудники яндекса, процесс типично яндексовый, все как было в российском яндексе. но внешне да, все приветливо и многообещающе.
Яша любит олимпиадников и любит мало платить… проходил к ним на мидла в начале года, прошел 4 этапа на бек (1 этап входной написать свою либу, 2й этап 3 задачи алго, 3 этап по сикулю, на 4 этапе уже общались с командами) оффер был на 200 всего, то есть прям низ рынка для мидла с 3.5 опыта. Жалко потраченных 1.5 месяца на это
Самый адекватный собес у Тимура был с Михаилом. Яндексу ещё расти и расти до таких собесов. Все вопросы были по теме, по языку по пониманию реакта, то что связано с реальной разработкой. Миша топчик, до сих пор иногда пересматриваю тот собес. (кто смотрит канал Тимура поймут о каком собесе я говорю).
Ulbi, сколько лет ты в этой сфере? На кого учился в вузе,во сколько лет начал учить программирование, сразу ли ты выбрал направление web, с чего начинал в программировани, какие трудности были, очень интересно было бы посмотреть интервью или рассказ от тебя в видео. Классный контент снимаешь👍
На следующей неделе меня ждёт первый технический собес в Яндекс на миддл питониста и тут это видео.. На самом деле я работаю в другой биг тех компании, и уходить не особо планирую, но все же хочется попытать свои силы, поэтому челлендж за неделю освоить все эти сраные алгоритмы и задачи, которые на практике приходилось применять практически никогда UPD: послевкусие собеседования. На самом деле все прошло в принципе нормально, но собес я не прошел. Задачка была несложная, но в условиях собеса и отсутствия возможности запускать код, решить ее было правда сложно. Сначала интервьюер попросил озвучить решение и после аппрува писать код. Первое время из-за напряженной атмосферы пытался понять что от меня вообще нужно в задаче, но потом в принципе сходу сказал верное решение и приступил к написанию кода. Вот тут и начались проблемы, сложно было осмыслить, что будет лежать в переменных при той или иной итерации. В итоге каждый раз когда было сказано, что в коде есть ошибка, у меня взрывался мозг при попытке понять, что будет лежать в переменных. Из-за нервов очень быстро забываешь, что было в предыдущую итерацию. В общем, решил только одну задачу, с подсказками интервьюера, но в принципе я не опозорился и уже доволен. У меня в принципе опыта в алгоритмических задачах нет почти никакого, поэтому результат недельной подготовки меня устроил. Оценка сложности алгоритма и остальное вопросов не вызвало у собеседующего - что тоже порадовало, ибо эту тему я так же освоил за время подготовки к собесу. Отдельно отмечу, что собеседующий действительно помогал, пытался направить на нужное решение, и это правда здорово. Не было чувства, что тебя просто бросили на поле боя со словами «враг впереди, вот тебе туда». Так что со временем даже стресса стало поменьше. Видимо, от осознания, что в случае тупика, тебе могут подсказать в какую сторону смотреть, чтобы найти из него выход. Для того, чтобы пройти собес, необходимо было решить минимум две задачи, так что по окончании собеса уже было понятно, что это все. Несмотря на это рекрутер написала объемную обратную связь от интервьюера мне сегодня (вторник, собес был в четверг, но понедельник был выходным днем), где особо ничего нового не было, но приятно было ее увидеть. Сказала, что если будет желание, могу ей написать через полгода и попробовать прособеседоваться еще раз. Не уверен, что буду этим заниматься, но возможно у меня поедет крыша и я захочу проводить свое свободное время на leetcode прорешивая задачи. Однако очень в этом сомневаюсь, ибо свободного времени и так нет.. По поводу задачи, не буду писать саму задачу (не уверен, насколько это будет честно), просто скажу, что задача была с решением путём использования двух указателей
Да да да, все такие классные и добрые "без задачи завалить", задача из 8 Кью на код варс,а по факту... Например, я не прошёл на weekend offer, надо было задачки решить онлайн из практикума, пару дней назад решал, там такая постановка задачи, что вообще непонятно что от тебя хотят. А там где понятно не то что 30 мин, там часа мало, а в общем 5 задач и 3 часа на решение. И задачи совсем не на палиндром, там такие задачи, что охереешь, у меня в 1 Кью на кодварсе задачи проще, по крайней мере на практикуме так, если интересно, Тимур, могу скинуть, посмотришь. Мне интересно сможешь ли ты решить, я только 1 решил, но половина тестов во время не укладывается. И их основная проблема - описание задачи, оно непонятное. И сам алгоритм не придумаешь за 15 мин, там целую ф-ю с полной перестройкой Dom надо написать, для этого надо подумать. "Цель не завалить кандидата" так зачем в практикуме такая дебильная постановка? Я реально первую задачу 20 мин перечитывал пытаясь понять, что там написано, во второй задаче куска описания как-будто не хватает, при том у меня несколько лет коммерческого опыта. Напишите человеческим языком, "есть а, б, и в, напиши ф-ю которая сделает то и то и вернёт д". А вы такие добрые и классные, задачку из детского сада задали, подсказочки. Палиндром и я напишу за минуту-две, где же гремучий практикум с 35 минутами на решение задачи? Тимур, ты красавчик, а вот Яндекс лицемеры. Я уже когда то пробовал пройти на стажировку, там так же было, архитектурное проектирование гита или что-то типо того. Стажеру... С головой всё ок у вас ребят
согласен насчет викенд офера, задачи абсолютно заградительные, тем более, что прохождение контеста не гарантирует оффер, а лишь дает приглашение на интервью
лол я проходил на летнее обучение в яндексе, там тупо была математическая формула, основной проблемой этих задач было не столько их решить, сколько их понять, в голос проорал когда увидел пример с полиндромом. P.S так же как и @user-ud5uj4lf9j могу потом скрины задач скинуть
@@constantine6464 да не, не факт, может просто пригласили, почему не согласится. Это хороший контент, я бы на месте Тимура тоже согласился, просто они выдают не реальные задачи, которые на собесах дают, а базу, которую решит любой прочитавший "Грокаем алгоритмы", или посмотревший видео по мотивам книги. Я говорю, к Тимуру вопросов нет, даже если бы ему заплатили, что врядли, ничего плохого в этом нет, это не ставки или рулетки, а с учетом кол-ва крутого бесплатного контента, можно было бы и на платной основе согласиться. Бесит яндекс, типо мы такие классные, а на собесах такую дичь выдают, что мидлы с 5 летним опытом не справляются, т.к. задачи синтетические и отношения к реальной работе не имеет. Да, я например скорее всего решу все задачи, но может уйти 15 мин, а может уйти 2 дня на решение 1 задачи, если ранее ты ничего подобного не делал, а у них требования 5 задач за 3 часа, это нереально, если ты годами на яндекс практикуме не сидишь, а с учетом если ты реальный разработчик, который работает в коммерции, тебе некогда и нахер это не нужно. Думаю даже дата инженер не уложится в срок, хотя они с алгоритмами и структурами данных куда больше связаны. Что они добиваются таким подходом - хз, видимо нанять выпускника школы, который только и делал что участвовал в олимпиадах по алгоритмам и доп. обучался на курсах или в ГБУДО
Интервью получилось, "Как устроиться в Яндекс". Тимуру спасибо за хак, как понять что у нас буквы, а не символы, не знал про него. Но Я бы решил так, сравнил бы символы по кодам таблицы ASCII, если символ в этом диапозоне находиться то это символ, в другом диапозоне это число, третьем диапозоне - буква.
Тоже мелькнула идея так поступить во время просмотра. Однако надо понимать что не на всех собеседованиях нам дадут "подсмотреть" таблицу кодов ASCII. Оба решения в целом корректные. Но, с ASCII алгоритм будет более гибким.
@@Andrq122 Помоему на любом собеседовании должны давать возможность загуглить таблицу кодов и другую подобную информацию, ибо требовать знать подобное наизусть - это глупость, темболее это не относится конкретно к фронтенду и к JS в частности. Сам, кстати, не знал про такую возможность, спасибо за комментарий
Интервьюер постоянно перебивает Тимура, нужно ведь как-то показывать свою "важность" и "альфовость". Типичный яндекс... Тимура слушать, как всегда, одно удовольствие
Вторая задача очень хорошая: очень глубокие комментарии третьего специалиста от Яндекс, относительно минимизации сложности вычислений, за что ему спасибо. Ну и Тимуру огромное спасибо за видео
Комменты хорошие были но всё же никто их них не заметил что там 3 цикла вложенных друг в друга, эта задача в итоге решается в 2 цикла, а цикл обычно самый пздц в плане сложности. Странно что чел их Яндекса обратил внимание на то что братюня выдергивает элементы из начала очереди но при этом не подкинул мысль что от последнего while так-то избавиться можно... Но конечно на реальном собесе жопа была бы мокрая факт
@@only_one_chanceтретий вложенный цикл(в котором соединяем пройденный путь) будет выполняться ровно один раз. Поэтому ничего тут страшного нет. Не очень красиво, согласен, но дополнительной сложности алгоритма не добавляет
Яндекс - достаточно древняя компания - и у многих о ней остались хорошие воспоминания и некий ареол "российского гугла". Что имеем по факту: 1. Зарплаты ниже рынка (я проходил к ним собес - зп была реально ниже рынка процентов на 30) 2. Все вменяемые люди оттуда поувольнялись. 3. Сейчас яндекс распилили между очередными олигархами - есть сомнения, что он всё больше будет становиться провластной помойкой - или после яндекс дзена это было непонятно? 4. Дрочат на алгоритмы - а реальных инноваций нет. С учётом всего вышеперечисленного - какой смысл тратить хоть час своего времени на них - тем более проходить наглухо отбитые алгоритмические собеседования?
Ну, в части про факты, самих фактов то и не было: зарплаты не приведены, приплетена какая-то 'вменяемость' и приплетена политика. Еще и эта чушь про инновации... В том же хроме гораздо меньше возможностей и удобств, нежели чем у браузера от Яндекса. Крупные компании всегда подвержены влиянию государства - очевидно же.
В который раз смотрю собесы ру контор и сам по опыту собесов в сбере убеждаюсь, что таких собесов нет, наверное, нигде. Когда отношение к кандидату как к студенту, а не как к потенциальному коллеге. Плюс отвратительная практика лайфкодинга (имхо). Таких требований, вопросов, особенно на джуна) Сейчас работаю в качестве software engineer в немецком универе с очень неплохой зп и мой собес состоял в основном из теста на софт скилы (пообщались на темы) и тестового задания вида: созвон, дали доступ к гитхабу с АПИ, нужно было найти ошибки в коде, написать тесты к этой АПИ, на все тестовое 1,5 часа, надо было запушить обратно (я тогда не догадался, чтобы создать пуллреквест, но это оказалось некритично). Тестовое выполнил впритык, потому что было довольно муторно, отправил, отписался. Мне ответили, что все ок, поглядим. Через неделю где-то отписались, что все ок. Таким образом я оказался на позиции миддл+ (если смотреть по зп) в Германии с синей картой. Это было в январе-феврале этого года. Для себя сделал вывод, что на западе решают софт скилы гораздо сильнее хард. К тому же, всем в команде закупили - копилот, чатГпт4 и прочие плюшки для упрощения работы. И подобные таски (как с этого тестового) просто не имеют смысла. Гораздо важнее, как кандидат мыслит, сможет ли он найти нужное в том же гугле. Все алгоритмы уже написаны сто раз, все их помнить - странно. Берешь, гуглишь, находишь, адаптируешь. И твои мысли и умение как раз адаптироваться важнее знания алгоритма баблсортинг, который на первой странице гугла уже сто раз обмусолен.
Согласен! Читал давно на медиуме еще интервью что западные компании смотрят больше софт скиллы, чем хард и это оправдано (у них была еще аналитика по этой теме) и вот вы подтверждаете. Спасибо за коммент!
зато потом работаешь с иностранными коллегами, которые только пиздеть красиво умеют, и делаешь им по 100 комментов в код ревью, т. к. они ни документации не читали, ни код стайлов не смотрели, и в целом пишут код на уровне СНГшных вкатывальщиков на позиции мидл\сеньора, даже иногда не зная базовых вещей фреймворка
В конце! Не исправили проблему очереди - пересчет массива при модификации очереди (эта проблема не решаема - всегда будет n изменений с одного конца, n изменений с другого конца), а просто сменили очередь на стэк. Хотя изначально использовали именно очередь, потому что хотели обходить граф именно вширь, а не вглубь.
35:40 признавайтесь много людей которые так делали? Не знаю ни одного человека, у которого это было бы первое что в голову пришло, а не if. Не, а ну Тимур конечно по памяти написал задачу, задачи такой сложности по-другому вообще не реально решить же...
Отлично пообщались, на одном дыхании посмотрел, Тимур, спасибо за очередное видео. Кстати кажется, что вы по итогу обход в ширину превратили в обход в глубину
Видео супер. Тимур красавчик. Один мой знакомый с 20 летним опытом на С++, который разрабатывает спутники и военные устройства, и второй знакомый c 5 летним опытом разрабатывает на JavaScript сервисы в VK, оба не смогли пройти собеседование в Яндекс. Больше они в Яндекс не собеседовались и не планируют. Т.е. Яндексу не интересны профессионалы. Им нужны олимпиадники по алгоритмам. Складывается ощущение, что эти алгоритмы нужны чтобы просто резать зарплату. Типа ты решил 1 задачу из 4. Ок, возьмем тебя за 10тыс.
Выполнял тестовое для Яндекса (не на разработку). Вакансия была примитивная, делать карточки для яндекс-маркета или что-то такое. З/п 20 т.р. Тестовое сделал. Самое сложное там было - обтравка 3х товаров в фотошопе и цветокоррекция. Даже на собес не пригласили. А у меня опыт работы в PS лет 15 (в том числе по профилю - изоляция объектов), карточки сделал качественно, пишу грамотно. Не понятно, кого они хотят найти на эти 20 тысяч. Фантазеры, в общем.
Сложная задача перестаёт быть сложной, когда ты её уже где-то реализовывал. Я таким образом создавал поиска маршрута в 3D пространстве и игру "3 в ряд" тоже в 3D пространстве.
Зачем человеку соответствующему таким ожиданиям идти в яндекс? Я на вебфлоу сайтики верстаю, 160 - 300 в рублях выходит. Если я осилю такое интервью, то хочу 600 минимум
На сколько я понял, сложность алгоритма в первой задачи не O(1), а O(N), где N - длина массива. То есть, объем вычислений зависит от размера N исходного массива. Немного теории: Что означает запись O(1) ? Ответ: Запись O(1) относится к анализу сложности алгоритмов и описывает поведение алгоритма или операции в отношении использования памяти или времени. О(1) означает, что сложность алгоритма или операции является постоянной и не зависит от размера входных данных. Это означает, что время выполнения операции или объем используемой памяти остаются постоянными, независимо от количества данных. Например, если у вас есть массив чисел, и вы хотите получить доступ к элементу по его индексу, операция доступа к элементу массива будет иметь сложность O(1). Независимо от размера массива, операция будет выполняться за постоянное время. Аналогично, если у вас есть алгоритм, который всегда выполняет фиксированное количество операций, независимо от размера входных данных, его сложность также будет O(1). В общем, O(1) означает постоянную сложность и является желаемым свойством алгоритмов, так как они позволяют выполнять операции или обрабатывать данные эффективно, не зависимо от их объема.
@@aw3s0me Сложность, в данном случае, определяется размером исходного массива. Она равна N (да, это константа для данного массива, но для другого массива она другая). Будет изменятся размер ИСХОДНОГО массива - будет расти и сложность (линейно). Мы перебираем все элементы масива (ну, или их половины - всё зависит как считать), а значит и сложность (объём) вычислений В ОБЩЕМ СЛУЧАЕ будет N или N/2 (принято в твких случаях отбрасывать константу-делитель).
@@SergiyAntonyuk_PhD you confused memory complexity and time complexity. The time complexity of the algorithm is O(n) where n is the number of elements. For memory complexity it's O(1) as no extra space was used. Creating pointers don't count as extra space
1:24:13 Нам довольно важен порядок добавления в очередь. Пример(start=A, to=E) : A : [D,C,B], B:[K], K[D], D[E]. В данном случае со стеком мы получим ABKDE, а не ADE
В задаче говорилось, что будет только один путь. Но кое-что на самом деле меняется - поиск будет не в ширину, а в глубину :) Но как бы при условии что путь один - результат тот же.
Такой код всегда будет производиться, пока люди не начнут следовать базовым правилам программирования, а именно, как минимум avoid premature optimization принцип. Такие интервью нацеленны именно на будущую работу с нарушением этого принципа
Спасибо, давно никак не мог найти крутое объяснение обхода графа , можно замутить видос с записью алгоритма Дийкстры , где нужно учитывать длину рёбер, а то тут длина равна 1 везде !???
В конце превратили обход в ширину в обход в глубину заменив shift на pop. Каждый раз будет забираться последний элемент, а потом будут класться в конец его дети. Потом берём с конца и так все ниже и ниже. Видимо все на этом стриме перенервничали, надо бы валерьянки попить перед собесом 😂
В данном случае не важен тип обхода графа в ширину или глубину. Поиск в ширину ищет кратчайший путь от from к to. Но поскольку в условии задачи указано, что путь от from к to может быть только один, то уже и не важен тип обхода.
По поводу второй задачи. В самом начале одни челы говорят окей используй обход в ширину, а под конец другой человек ему говорит не используй shift используй pop, и в итоге его обход в ширину превратился в обход в глубину. А также не показали как решить такую задачу без async/await, хотя обещали
там несколько раз в начале намекнули на решение в глубину, в какой-то момент я был уверен, что сейчас открытым текстом скажут, но раз кандидат уверен, что ж спорить
Это всё нахрен ненужно для фронтенда. Задача фронта сводится к получению Json и отрисовки инфы. В Яндексе собеседуют так, словно тебе придётся написать собственный браузер на C++ и без библиотек.
@@pavelk7493 чел по факту написал))) Максимум что может потребоваться, это обходы дерева, но и то, если с бека присылают такой формат, а то что яндекс требует на собесах/своих уроках это полная бредятина именно для фронта, а они сделали просто один набор для любого направления
Не думаю, вышли на него именно потому, что у него большая экспертиза. А что уж там хотели на самом деле показать - знают только инициаторы, в любом случае выводы о том, что из этого вышло делаем мы 😊
Кто угодно: нужен промоутер для раздачи листовок --------- Яндекс при вопросах Яндекс.Практикум: калорийно стимулятор транзита материала, получаемого из целлюлозы: из растений, а также из вторсырья (тряпья и макулатуры).
Не дают, оказывается, пользоваться консолью)) Я постоянно все, что пишу, тестирую в консоли, потому что какие-то мелочи выветриваются из головы со временем. Ну можно пойти дальше и сказать, что писать код в блокноте - это читерство, и надо писать его кровью на пергаменте) Рассказывать слишком подробно о ходе решения, оказывается, нежелательно. Вот это можно рассказать, а это уже не надо. А если мне комфортно, когда я все проговариваю вслух? Видимо, во время решения задачи надо сосредоточиться не на решении, а на том, что можно проговорить, а что нет) В отдельные функции выносить всякие дикие выражения не слишком приветствуется, и на имена переменных тоже, оказывается, никто не обращает внимания. А ничего. что нейминг - это один из важнейших скиллов для программиста? Посмотрел первую половину собеса и сложилось впечатление об общей атмосфере происходящего, как об очень душной и некомфортной.
Ulbi, запиши пожалуйста видео о сборке через Vite, чтобы работало так же хорошо, как и с вебпаком. У меня с vite постоянно какие-то проблемы с типами возникают, либо подсказки тайпскрипта вообще не отрабатывают - хотя с вебпаком все хорошо работает :D
о, видел твое видео еще в лайве с канала "Разработка". У тебя классно получается объяснять, даже я бы сказал разжевывать материал Сам недавно прошел все этапы в Яндекс: предварительный этап - middle этап код - jun/middle ближе к джуну этап на алгоритмы middle К сожалению, набирают от крепких мидлов, не попал куда хотел, но может предложат еще в другие команды, будем верить)
Каким образом интервьюеры говорят об O(1) в первой задаче про палиндром? Вышеприведенное решение с использованием цикла while и двух указателей (на начальный и последний символ строки), которые смещаются в цикле, не является операцией с постоянным временем O(1). Она имеет линейное время выполнения O(n), где "n" - это длина строки. Почему? Процесс определения палиндрома требует сравнения символов, начиная с первого символа и с последнего символа строки, и постепенного смещения указателей внутри цикла while. Этот цикл будет выполняться столько раз, сколько символов есть в строке, поскольку нужно проверить каждую пару символов в строке, чтобы убедиться, что они равны. Таким образом, время выполнения зависит от длины входной строки и составляет O(n), где "n" - длина строки.
Помнится рассказ, последний, котрый я слышал, - о том как Лёша Корепанов проводил собеседование: Из запланированных (по-моему) 6ти - пришёл Один (!). Собеседование он прошёл, но работать НЕ захотел..... Вот так бывает)) Всем мира и добра
Спасибо за видео, полезное! у меня был собес в яндекс. Я писал код и не много запутался. Я задал уточняющий вопрос на верном ли я пути, т.к начал понимать, что где то ошибся. И мне сказали, что я должен решать сам. И ни каких подсказок не было(
Интересный комментарий про unshift и невозможность выполнять его с константной сложностью. Если реализовать массив с помощью кольцевого буфера, то что unshift, что push у него будут выполнятся за О(1) (не считая моментов выделения и копирования в новую область памяти, но это будет у любого динамического массива)
Даже если двусвязный список сделать, это должно решить эту проблему, но время чтения из таких структур данных O(n) против O(1) у массива, если мне не изменяет память из курса по структурам данных.
я в задаче с графами сразу видел ошибки и переусложнения, но вот я прекрасно понимаю что сам бы мог на твоем месте дичайше тупить и хуже справиться, только потому что я сижу в комфортной обстановке и смарю видос, вот этим мне и не нравится лайвкодинг, ужасная вещь - первая причина это мы чекаем как человек пишет код под дичайшим давлением, а вторая причина что там задачи из литкода, которые можно задрочить, сжирает этот лайвкодинг оч много времени, лучше за это время покопать человека, понять а способен ли он расти, с чем уже работал, что интересно и это можно раскапывать иногда у джуна долго, что уж говорить про крепкого мидла или ваще сеньера
Я больше 15 лет проработал программистом, сейчас ничего бы не решил без подготовки. Хотя по работе реально приходилось писать и структуры данных, и алгоритмы применять. Я это по книгам и статьям делал. На Сях Дийкстру написал лет 10 назад! Гордился даже! Скорость выросла по сравнению с реализацией на ПХП. Решил задачу и забыл со временем. В конторы бигтеч надо к собесам готовиться реально. Читайте Лафоре. Год назад в торговый бизнес ушел - бабки как у мидла, напрягов меньше - наработанная схема продаж, и не надо мозги плавить с кодом. Ото смотрю еще канальчики айтишные для фана.
бро, а что за бизнес? хочу тоже уйти из этого мозгоколупательства во что-то более стабильное. смотришь, как люди возят товар и ставят ценники на него 2x, n*x, заносят кому надо и всё. риска почти нет, мозг на месте (иногда только покупатели, наверное, попадаются дотошные... НО что это по сравнению с постоянным стрессом от кода?)...
@@InverserPro Носки, трусы, пижамы, сумки, кроссовки, футболки, кофты. Пробовал еще светильники, чехлы к планшетам и телефонам продавать - все продал, но не то. Постельное белье еще продавал. Олигархом не станешь, но 1500 - 2000 баксов в месяц заработаешь. Я сам себе менеджер, сам на почту хожу отправлять. Можно нанимать людей, расширяться будет со временем. Я укробендерофашист, то у нас щас ракеты еще летают - то пока поработаю сам. Надеюсь, после войны экономика пойдет вверх и я тоже расти буду. Сейчас я - мелкий провинциальный спекулянт. У нас мидл 1200 - 1500 баксов получает. В Киеве - можно и на 2500 найти, но я не в Киеве) И не хочу туда, мне больше нравится запад Украины, далеко от россии - меньше ракет сюда летит. И Польша близко - мне это важно.
@@abobus_xero я еще не досмотрел курс, там сейчас открыто 16 недель, очень много полезной информации, и находясь на 4й неделе, могу ответить что оно того стоит), в плане знаний: я думал что я пишу нормальный код, оказалось что есть варианты получше, есть оферы по 150к, но уйти не могу туда, потому что есть договор с нынешней компанией, и платят они чуть меньше 150к, если думаешь стоит ли покупать курс, то я скажу "ДА" оно того стоит, я бы и 100к заплатил за такой курс) Тимур просто лучший) спасибо тебе отдельное)
ну такое... Тимур как всегда молодец, но вообще - какое отношение решение задач имеет к реальным проектам ? разве что для разминки мозга, но вообще - на любителя. Голову морочат эти яндексы, и ещё в блокноте писать код - алё яндексы ! 21-й век на дворе ! капец 😆😆
Ты можешь предложить лучший вариант?Как за час узнать подходит ли человек на данную позицию?Задавать тупые вопросы на заучивание тонкостей фреймворка или стандартной библиотеки? Такие задачи помогают понять 2 простые вещи:1)Знает ли человек, хотя бы синтаксис языка на который собеседуется (видел случаи когда "супер-пупер" сеньеры не могут без ide вспомнить как цикл писать) 2)Помогает понять как мыслит кандидат Такой вариант собеседования более-менее приемлемый.Если человек не может решить задачу по типу twoSum с литкода,то о чем может идти речь?
@@denisDetrov а как вам вариант, когда человек решает twoSum с литкода и все? Он приходит на проект, задрочив (буквально) литкод, то есть по сути стандартные либы и ему дают не задачу с литкод, а, например, написать парочку DAO (условно). Не очень вижу здесь пользу алг задач. Но вообще это холеварная тема, всегда будут 2 лагеря
А разве в условии функции где if(isEqual(first,second)) тут нужно отрицание перед isEqual ? Там же в самой функции если они не равны тогда true вернется
Первая задача, как бы я решал: 1). убрал лишние символы регуляркой 2). Привел к нижнему регистру 3). создал цикл длины i < (arr.length / 2) 4) if ( arr[ i ] == arr[ arr.length - i ] ) {return "Не полиндром"} 5) return "Полиндром"; Причем неважно сколько знаков в строке, условие отработает как с четными, так с нечетными
хм, а что насчет памяти? если убрать символы, то получится константа, которая занимает память, в зависимости от длины входящей строки. В условие по памяти не войдете
@@miguelgrushetckii4839 окей, тогда все придет к тому варианту как в видео, где мы просто ставим условие на сдвиг. Изначально не понял трактовку условия, но ладно, был близок)))
Душнилово рил. Не знаю как в Яндекс но каждый раз когда был на этих душных тех собесах, открывал потом код таких ребят И ниразу там никто не принимал алгоритмы компоненты 1000+ строк. ООП в проекте ноль. Интерфейсы такие же огромные как и компоненты и тд.
Жесткий бред конечно выполнять задание в блокноте. Задача разработчика думать и реализовывать задачу. Искать опечатки в коде дело ide. Просто охренел когда спикеры начали обосновывать использование блокнота.
так за опечатки баллы не снимают. насчет блакнота - иногда приходится редачить файлы на сервере, и чтобы не тратить время на подключение к серверу через IDE, иногда легче просто воспользоваться каким-нибудь nano или vim
Все эти отборы типа пиши код на доске маркером и прочая, полная фигня. На это можно натренироваться, если захотеть. Вот только зачем? Если к реальному кодингу это не имеет никакого отношения. IDE, Copilot, поисковик и stackoverflow - это обязательные помощники программиста. И нет никакой ценности что чел на память помнит синтаксис языка - это чушь, это тест на запоминайку. А нужно тест на думалку! То как думает чел -- это единственное что важно. А все эти тупые тестирования а-ля гос экзамен - где просто вызубриваешь ничего не проверяют. Более того то что чел решил 2 задачи собеса не значит что он не зафакапит реальный деплой на прод. Короче херня это всё. НИКТО ещё не придумал тест на интеллект, такого не существует. Лучшая проверка программиста - это испытательный срок на вашем реальном проекте. Я сегодня с огромным удовольствием пишу отказы когда получаю приглашение на собес в Google или Amazon. Потому что понял суть этих корпорастов которые ищут себе просто винтик бездумный, безвольный.
"Лучшая проверка программиста - это испытательный срок на вашем реальном проекте" - Ага, FAANG будет нанимать по 500 программистов на испытательный, потом будут еще столько же человек отправлять за ними следить, и все ради того чтобы отфильтровать их и оставить 5 человек.
Уточним. Вот эти смузихлебарезки с важными е_бальниками нанимали тех овощей которые брали отдельно логин и брали отдельно пароль потом одавали серверу в тупую. Пральна?) Ну страна должна знать своих героев.
Про душнилово unshift, shift и прочее - поржал прям. Т.е. компиляторы постоянно ускоряют код, оптимизируют выполнение, а тут чувак считает, что reverse ему там сильно ускорит производительность. Где он там нашел смещение памяти, только ему известно, JS может не хранить память как в Си, было бы странно если бы это было так. Зато reverse приводит к избыточной сложности восприятия алгоритма. Ну лааадно.
В случае элементов одинакового типа js-ный массив превращается оптимизирующим компилятором в настоящий. Но даже если это не случилось, то unshift и shift всё равно меняют значения по всем индексам, т.е. отрабатывают за O(n). За единицу они могут работать только в связном списке.
@@alexandroppolus С тем же успехом компилятор может посмотреть, что дальше используется shift, unshift, и сделать из этого связанный список. Это как борьба с производительностью захвата области видимости, она сегодня медленная, завтра стоимость нулевая.
@@sanchezz1135 хм... да, согласен, здесь компилятор мог бы увидеть, что массив используется строго как очередь (без доступа к произвольным индексам) и обработать это нужным образом. Не знаю, есть ли такая оптимизация, но учитывая довольно частое использование массива как очереди, это было бы весьма актуально.
34:01 в первой задаче был вопрос про цифры, однако его пропустили, хотя формально 22/02/2022 тоже палиндром. еще может быть isPalindrome(" ") // expect false для пустой или пробельной строки, но вернет -> true или строка не содержащая букв isPalindrome('!@#$%&*') // expect false, но вернется -> true Тимуру спасибо! у вас всегда очень внятные и детальные пояснения к коду, UlbiTV - мой любимый канал. Лайк
Собеседующий Вася пропускает ошибку в решении и ставит максимальный балл. Собеседующий Лёша "душнит" и наводящими вопросами заставляет того же претендента исправить ошибку и ставит по итогу балл ниже. Где логика?
Яндекс в целом что-то мудрит постоянно с собеседованиями , не только в it сферу . У них куча вакансий и я проходил собеседование на некоторые из них . По нейронкам , заниматься Алисой и разные другие , везде приходят разного рода тесты сложные и очень сложные , но даже проходя их на 5 из 5 , вам все равно отказывают в работе . Потом я полез изучать информацию по этому поводу и люди пишут тоже самое . Либо это какие-то фейковые вакансии от них , либо они собирают разного рода статистику о людях ! Вообщем, не понятно ! Там уже и теории разные есть , что они нейросети обучают этими тестами и вакансиями
Вот бы еще хоть кто-нибудь сказал, что тупить на новом проекте после месячного поиска (это второй проект, первый полтора года длился, легкий...) это нормально, чтобы люди и я в том числе не жрали себя изнутри за это. Черт с этими собесами, я поняла, что собеседующий тоже может быть неприятным человеком, как я им, и можно просто отпустить ситуацию, но тупняк на первом крупном проекте в простых вещах...
17:45 "цель собеседующего на секции не сказать какой он плохой а выяснить на сколько мало нужно дать подсказок кандидату"
Месяца 2 назад проходил собеседование в Яндекс, где собеседующий сидел и просто клацал по клавиатуре(видимо работу работал) и молчал на все мои вопросы и уточнения по задаче лишь изредка с 3-го повторения моего вопроса отвечал с тяжелым вздохом будто я его заставляю проводить собеседование:)
Upd. зато всё что касается показухи на публику у вас(яндекс) всё мило по доброму и лояльно
подтверждаю, и на курсах яндекса и на собесах, всем пофиг на тебя, кстати зп в яндексе по прежнему ниже рынка
Тоже проходил подобные собесы, не очень кайфовое ощущение )
Обязательно в таких ситуациях следует уточнять - не мешаете ли Вы работать, не отвлекаете ли. Я серьезно. Он не в границах, а Вы тем не менее останетесь в своих.
@@xice111 это точно. Думаю уходить, но страшно как то.
@reverie погодите, человека поставили ответственным за проведение собеседования, значит в этот отведенный час он должен проводить собеседование а не работать, вам так не кажется? Убивать двух зайцев - некомпетентность, неуважение и безответственность.
Проходить собеседования ❌
Смотреть как кто-то проходит собеседование✅
По другому никак, на собесы не зовут вообще никуда 😁
ахаххах))
@@Karifax схожая проблема
нах тебе это надо. свои продукты делай, будут хороши вот тебе и пассивный доход и продукт в портфолио.
Я вот новичков не понимаю.
@@hardline_fc не простое занятие
задача на моковом собеседовании яндекс: напишите функцию, которая определяет, является ли строка палиндромом
тем временем интервью на стажировку яндекс фронтенд: Разработайте эффективный алгоритм для определения оптимального расположения N точек на двумерной плоскости, минимизируя суммарное евклидово расстояние между каждой парой точек, учитывая ограничения на минимальное и максимальное расстояние между ними, при условии, что N является простым числом и не превышает 10^6
Попробовал викенд оффер, и моя жопа улетела в космос.
Больше всего бесит то, что эти всратые задачки существуют только в рамках собеса.
Я этого на работе ни в одной таске не увижу ни-ког-да.
Но стоит отдать должное, задачи сложные - нахрапом не решил.
Интересно как решили
@@nataliepodgainova6582 Никак. Мне было просто интересно, что там за задачи.)
ЖЕСТЬ!!!! Я тоже смотрю видео и в голове решаю эти задачи правильно. Ради интереса хотел пройти тест на стажировку, я там раз 10 читал задачу и все равно не понял!!! И думаю может просто мне тогда не повезло, спустился в коменты и все стало понятно.
То есть я даже вопрос понять не мог, не говорю уже о решении! 🤣
Ребят, особенно те, кто бомбанул с задачек викенд оффера - не парьтесь. :)
Такой ивент - просто способ найти самых умных + самых лояльных к компании разрабов и взять их к себе.
Посудите сами. Вы - Яндекс. Ваша компания для многих кажется "настоящим айти в РФ".
Куча разрабов со всей страны ежедневно ломится на интервью. Под hr хоть отдельный офис открывай.
Почему бы не сделать такое вкусное предложение: пообещать за два дня устроить человека?
Но чтобы это было выполнимо, нужны сильные преграды: задачи с усложнённым описанием, дэдлайн на решение, etc.
Кто пройдёт через такой фильтр? Очевидно тот, кто достаточно разбирается в коде, чтобы написать решение задачек.
А ещё у него не сгорит жопа от описания задач, ведь он лоялен к компании.
Вот и всё, дело в шляпе. Такой вот маркетинговый ход. :)
ломятся? Да скорее разработчики от яндекса бегают, раз в два месяца стабильно яндекс вылазит и зазывает на "увлекательные" собесы. Тратить время на литкод ради компаний уровня MANGA да, ради яндекса - нет.
Проходил онлайн-отбор в летнюю школу яндекса в этом году. Надо было решить 7 задач. Там такооой пиздец... Я думал щас по одной задаче в день вечером после работы порешаю, попытаю удачу. Те задачи, которые там были... Я даже не могу сразу с ходу представить в голове алгоритм, как их решать. При том что на код ворсе всегда приблизительно представляю, как задача будет решаться, вопрос только в том, как это на языке программирования сформулировать... А это, на минуту, был отбор в летнюю школу заочный этап, на котором будет отбор в очный этап, на котором будет шанс получить оффер от яндекса. Вопрос - нахуя этим заниматься? Если есть куча контор, у которых ОДИН этап собеседования, и зарплатную вилку они почему-то пишут, а в яндекс ты даже не понимаешь, на какие условия идешь... Зато все такие приветливые, такие доброжелательные, такие отзывчивые... Тимуру как всегда лайк, спасибо за ролик! А про яндекс у меня мнение не поменялось))
Прохожу собеседования в 2023 году в РФ, стало больше лайвкодинга. Где-то все по дело, дают на ревью сервис и нужно указать что можно доработать и т.д. А где-то, как в Яндексе несколько этапов, в том числе пару задач с литкода. Возможно это фильтр, чтобы пропускать мотивированных кандидатов. А самое главное, в некоторых компаниях может быть 1 интервью и отличная з.п., а в других 3, 4 этапа и лайвкодинг, а по итогу з.п. может быть значительно меньше, чем в компании где было 1 интервью.
Правды ради, задачи 4 (а именно столько я смог решить) там решаются без знаний даже базовых алгоритмов. Все остальное на алгоритмы(я лично до сих пор не понимаю как их решить) + 1 задача на алгоритмы + JS (которая вообще жесть). P.S. Это актуально для ШРИ
Прошел отбор в ШРИ, 3 из 7 задач сделал полностью, 1 прошла базовые тесты, 3 остальные попытался сделать, но ошибки выдавали. Да, нихрена не понятно, как решать задачу, когда читаешь условие, но задачи именно на работу с информацией. Даётся 3 часа и надо найти решение задачи и написать его. Тем более последняя задача именно на работу с неизвестным API для реализации breadcrumbs. Но хотя да, для создания компонентов на React это пиздец сложные задачи, но если твоя цель делать фреймворки делать (вспоминая задачу про асинхронный рендеринг), то Яндекс это для тебя 😂
Рвешь жопу, как-будто в Гугл собесишься, а на деле это просто яндекс ахахах)
Ох, сам лид, много собеседую ребят джун/мидл+ уровня. И вот решил сходить на яндекс собес синьорного уровня, 7 задач, 3 часа. 3 задачи по js (замыкания, функциональщина, промисы) и 4 алгоритмических (тоже графы, линкед листы, скользящие окна). Я даже боюсь представить кому это может быть интересно проходить, если и так все сидят на литкоде, но такие стандарты у яндекса, имеют право.
И тут переходим к индустриальным стандартам в целом. Многие мелкие кампании берут у топовых методы найма и принимают их же стандарты. Где у нас собеседования, это просто своеобразный экзамен с билетами которые можно зазубрить. И когда ты говоришь кандидатам а давай поговорим про dom, cssom, рендеринг страниц, какие операции действительно тяжелые на фронтенде (спойлер, не перетаскивания огромных json-ок), кандидат делает огромные глаза, потому что он такого не натренировал.
И в итоге у нас есть рынок вакансий на которых нужны смышленые ребята, но которые умеют работать и знают инструментарий, и есть рынок кандидатов которые зубрят однотипные задачи и рассказывают о том что работали на 15 стейт менеджерах реакта. И эти два рынка не пересекаются.
И согласно базовой теории игр у кандидатов есть "выигрышная" стратегия: ври в резюме и зубри задачи, попадешь на любителя задачек, считай выиграл, а таких интервьюеров сейчас много. И вот это по моему серьезная проблема перекоса рынка. + сюда добавляется история с огромным медийным "хайпом" вокруг литкода/кодварса будто бы без этого ТЫ НЕ ПРОГРАММИСТ.
Ну а тейк про то что на фронте надо перебирать огромные данные, нуууу а может как то сделаем клиента потоньше? как то ускорим отрисовки и все такое? я понимаю что у яндекса ЕСТЬ сложные вычисления на клиенте, но это как учить тонкости кодировок видео в надежде работать на кинопоиске.
Тоже захотелось высказаться с немного новичковой позиции. Сейчас 1.5 года работаю С++ программистом в около геймдеве, иногда пишу шейдеры и касаюсь рендера. Около года назад начал ходить по собеседованиям на С++ программиста движков / графики, есть портфолио и т.п. И каково моё было удивление на первом техническом собеседовании на 2 часа, что вместо того, чтобы спрашивать про Pipeline рендера, оптимизацию, отладка на GPU, OpenGL / Vulkan, линейную алгебру и т. п. меня спрашивали, а давай перевернём строку, а давай сделаем move и copy constructor, а давай напишем linked list, а давай найдём полиндром, а расскажи про Big O(n) и т.п. Были конечно и хорошие вопросы, но в основном типа зазубрил ты или нет. И так на многих собеседованиях, на которых я был.
У меня вот вопрос такой. Я вот смотрю какое нибудь обучающее видео по программированию, там идёт объяснение, как что сделать. Мне полностью повторять за автором или делать самому и до какой степени пытаться сделать самому, когда можно будет посмотреть готовое решение? Просто я заметил, что когда я полностью повторяю за автором, но и понимаю конечно, что он делает, итог я какой получаю: я умею это делать и трачу намного меньше времени, чем если бы я пытался сам сделать, но вот то, что я сделал не сам, мне эта мысль не дает покоя. Заранее спасибо
Книги, статьи я конечно тоже читаю, гуглю, но только при необходимости, когда кодю. Когда просто сижу и изучаю почти без практики, становится скучно и неинтересно
Вообще тэйк про вычисления на JS это уже пиздец так-то, как и пояснять за асимптотику, где под капотом строка это например роуп, а ее методы как для массива на самом деле совсем не для массива, а сам массив это вообще аррейлист лол
@@ROADING_OFFICIAL Можешь услышать, что разобравшись сам ты лучше усвоишь - да это так, твой организм записывает в мозгу рядом с опытом/данными сколько времени/калорий ты потратил, и чем больше тем дольше хранится и ближе к доступу.
Но справедливо и другое (для меня оно ближе), как ты и описал "полностью повторяю за автором, но и понимаю конечно, что он делает", тут запись идёт по другому сценарию. И этот метод уже хорош тем, что позволяет за более короткое время усвоить больший объём.
Суть в чём, думаю встречал такой термин "насмотренность" / "руку набил", т.е. частое встреча с уже изученной инфой также увеличивает её ценность.
Я так например учил React, и после многих итераций повторений за сенсеем, в определённый момент что-то щёлкает в голове и ты повышаешь свой уровень знаний.
(У курсеры был курс на этот счёт типа "Как правильно учиться"). Если упростить, то любое обучение == время, точнее на выращивание новых нейронных соединений (тема с дендритами), и вот пока оно не срастётся - успеха не будет, а как соединится, то сразу увидишь прогресс. Кстати растут дендриты именно во время сна === хороший сон полдела.
Проходил собес в Яндекс 2 раза и в первый раз мне попался именно Вячеслав Баженов, он действительно способствовал и помогал наводящими вопросами решать задачи, спасибо ему за это. Тогда мне удалось пройти все три этапа, но к сожалению из - за отсутствия полностью удаленного формата в командах, вакансии в которых имелись, я не попал в Яндекс. Во второй раз завалился на третьем этапе, так как меня собеседовал не такой приветливый человек, как Вячеслав, имени говорить не буду, но помню, это действительно важный момент - кто собеседует. После завала, решил задачу самостоятельно минут за 10.
- Какой у вас опыт работы?
- Год опыта прохождения собеседований :)
С Сергеем Бережным знаком лично.
UlbiTV - любимый канал.
Очень приятно видеть вас вместе, хоть и в формате видео :)
Всё-таки не просто так я подписан на Ulbitv и не на собеседующих/Яндекс. Речь у Тимура поставлена намного лучше, объясняет конкретно и понятно + много полезной инфы. Собеседующих слушать сложно, чувствуется неискренность и наигранность. Тут уже вопрос стоит не "попал бы я в Яндекс", а скорее "захотел бы я пройти это собеседование и попасть в принципе?" Тем более, у Тимура это не первое интервью на канале и есть с кем сравнивать. До сих пор помню приятнейшего собеседующего. За видео спасибо.
Да уж. В реальной работе это вообще не надо ). Такие задачи отдаю gpt, а мне кажется важно чтобы чувак умел читать документацию и ошибки. САМОСТОЯТЕЛЬНО докапываться и находить ответ. Вот и все требование сегодня к разрабу + базу и любовь к аккуратности
Тимуру лайк, и спасибо за контент. Касаемо викенд оффера недавнего. С одной стороны Яндекс задаёт планку, и если ты устроился, значит у тебя мозги варят быстрее чем у местного сеньора. С другой стороны, я считаю это, как до меня написали, заградительные задачи, чтобы показать что они берут кого-то просто решив пару задач, но при этом после такого уикенд оффера особо никто и не придет, тем более что потом собес нужно пройти. А искать олимпиадника... даже не знаю. А кто реакт будет знать?! Кто быстро изучает новые технологии? Что стоит дать человеку неизвестную библиотеку и сказать, напиши с ее помощью простую функцию, сразу будет видно как быстро человек обучаем и как он ищет информацию. А я утверждаю что для программиста куда важнее умение искать информацию, нежели её знать наизусть. Фреймворки меняются языки меняются, а умение искать и логически мыслить остается. А так да, супер логично мыслящих ищут. Удачи в поисках. Со всем уважением к продукции яндекса, этим стримом они показали свое лицемерство. Приходи решай "Палиндром" мы тебе подскажем, и ты в яднексе.
полностью поддерживаю, лицемерие - вообще фирменная черта яндекса.
недавно проходил собес в один из отколовшихся кусков яндекса за границей. перед началом всего процесса уточнил у рекрутера, насколько эта новая компания внутри остается яндексом, ответ был - ничего общего, что по факту - собеседования проводят действующие сотрудники яндекса, процесс типично яндексовый, все как было в российском яндексе. но внешне да, все приветливо и многообещающе.
Яша любит олимпиадников и любит мало платить… проходил к ним на мидла в начале года, прошел 4 этапа на бек (1 этап входной написать свою либу, 2й этап 3 задачи алго, 3 этап по сикулю, на 4 этапе уже общались с командами) оффер был на 200 всего, то есть прям низ рынка для мидла с 3.5 опыта. Жалко потраченных 1.5 месяца на это
@@ТимТим-л6ф ничего себе, 200к это низ рынка? в России?
Какую планку он задаёт?))) Фаанг вот это планка. А яндекс местечковая проправительственная контора, откуда все талантливые ушли.
@@xxcrypt234 у меня друг с годом опыта 200к делает на Java в другой биг-тек компании, так что маловато)
Как же любят Яндекс обсуждать не само дело, а организацию самого дела, тем самым заливая видео водой. После такого видео аж в сон клонит
Самый адекватный собес у Тимура был с Михаилом. Яндексу ещё расти и расти до таких собесов. Все вопросы были по теме, по языку по пониманию реакта, то что связано с реальной разработкой. Миша топчик, до сих пор иногда пересматриваю тот собес. (кто смотрит канал Тимура поймут о каком собесе я говорю).
Да и голос у него такой спокойный и приветливый, помню Мишу
это про который сам Тимур отзывался, что собес был хороший? Напомнишь куда он собеседовался?
@@klvvv там было что-то вроде собеседовался на 60, а дали 150
Да, это был крутой видос, кайфанул с него
Спасибо за ролик. Лишний раз убедился в правильности отказов от общения с Яндекс. Ни ногой на подобные собесы.
Ulbi, сколько лет ты в этой сфере? На кого учился в вузе,во сколько лет начал учить программирование, сразу ли ты выбрал направление web, с чего начинал в программировани, какие трудности были, очень интересно было бы посмотреть интервью или рассказ от тебя в видео. Классный контент снимаешь👍
На следующей неделе меня ждёт первый технический собес в Яндекс на миддл питониста и тут это видео.. На самом деле я работаю в другой биг тех компании, и уходить не особо планирую, но все же хочется попытать свои силы, поэтому челлендж за неделю освоить все эти сраные алгоритмы и задачи, которые на практике приходилось применять практически никогда
UPD: послевкусие собеседования.
На самом деле все прошло в принципе нормально, но собес я не прошел. Задачка была несложная, но в условиях собеса и отсутствия возможности запускать код, решить ее было правда сложно. Сначала интервьюер попросил озвучить решение и после аппрува писать код. Первое время из-за напряженной атмосферы пытался понять что от меня вообще нужно в задаче, но потом в принципе сходу сказал верное решение и приступил к написанию кода. Вот тут и начались проблемы, сложно было осмыслить, что будет лежать в переменных при той или иной итерации. В итоге каждый раз когда было сказано, что в коде есть ошибка, у меня взрывался мозг при попытке понять, что будет лежать в переменных. Из-за нервов очень быстро забываешь, что было в предыдущую итерацию.
В общем, решил только одну задачу, с подсказками интервьюера, но в принципе я не опозорился и уже доволен. У меня в принципе опыта в алгоритмических задачах нет почти никакого, поэтому результат недельной подготовки меня устроил. Оценка сложности алгоритма и остальное вопросов не вызвало у собеседующего - что тоже порадовало, ибо эту тему я так же освоил за время подготовки к собесу.
Отдельно отмечу, что собеседующий действительно помогал, пытался направить на нужное решение, и это правда здорово. Не было чувства, что тебя просто бросили на поле боя со словами «враг впереди, вот тебе туда». Так что со временем даже стресса стало поменьше. Видимо, от осознания, что в случае тупика, тебе могут подсказать в какую сторону смотреть, чтобы найти из него выход.
Для того, чтобы пройти собес, необходимо было решить минимум две задачи, так что по окончании собеса уже было понятно, что это все. Несмотря на это рекрутер написала объемную обратную связь от интервьюера мне сегодня (вторник, собес был в четверг, но понедельник был выходным днем), где особо ничего нового не было, но приятно было ее увидеть. Сказала, что если будет желание, могу ей написать через полгода и попробовать прособеседоваться еще раз. Не уверен, что буду этим заниматься, но возможно у меня поедет крыша и я захочу проводить свое свободное время на leetcode прорешивая задачи. Однако очень в этом сомневаюсь, ибо свободного времени и так нет..
По поводу задачи, не буду писать саму задачу (не уверен, насколько это будет честно), просто скажу, что задача была с решением путём использования двух указателей
Удачи! Напишите пожалуйста прошли иди нет
"за неделю"))))))))
@@bocik2854 ага, я тоже не особо верю ахах
@@appleman2590 Как всё прошло?
Ну и как оно
Тимур, спасибо огромное!!! Видео с большим интересом смотрел. Очень благодарен за твою работу
Нельзя запустить код чтобы работать в комфортной среде - ну и духота
пишем код на бумажке и деплоим сразу в прод! нет права на ошибку
Да да да, все такие классные и добрые "без задачи завалить", задача из 8 Кью на код варс,а по факту... Например, я не прошёл на weekend offer, надо было задачки решить онлайн из практикума, пару дней назад решал, там такая постановка задачи, что вообще непонятно что от тебя хотят. А там где понятно не то что 30 мин, там часа мало, а в общем 5 задач и 3 часа на решение. И задачи совсем не на палиндром, там такие задачи, что охереешь, у меня в 1 Кью на кодварсе задачи проще, по крайней мере на практикуме так, если интересно, Тимур, могу скинуть, посмотришь. Мне интересно сможешь ли ты решить, я только 1 решил, но половина тестов во время не укладывается. И их основная проблема - описание задачи, оно непонятное. И сам алгоритм не придумаешь за 15 мин, там целую ф-ю с полной перестройкой Dom надо написать, для этого надо подумать. "Цель не завалить кандидата" так зачем в практикуме такая дебильная постановка? Я реально первую задачу 20 мин перечитывал пытаясь понять, что там написано, во второй задаче куска описания как-будто не хватает, при том у меня несколько лет коммерческого опыта. Напишите человеческим языком, "есть а, б, и в, напиши ф-ю которая сделает то и то и вернёт д". А вы такие добрые и классные, задачку из детского сада задали, подсказочки. Палиндром и я напишу за минуту-две, где же гремучий практикум с 35 минутами на решение задачи? Тимур, ты красавчик, а вот Яндекс лицемеры. Я уже когда то пробовал пройти на стажировку, там так же было, архитектурное проектирование гита или что-то типо того. Стажеру... С головой всё ок у вас ребят
согласен насчет викенд офера, задачи абсолютно заградительные, тем более, что прохождение контеста не гарантирует оффер, а лишь дает приглашение на интервью
лол я проходил на летнее обучение в яндексе, там тупо была математическая формула, основной проблемой этих задач было не столько их решить, сколько их понять, в голос проорал когда увидел пример с полиндромом.
P.S так же как и @user-ud5uj4lf9j могу потом скрины задач скинуть
@@beka777go поддерживаю, я тоже не решил вовремя, потому что львиную долю времени потратил, что бы понять, что требуется сделать
да ежу понятно это проплаченная хрень
@@constantine6464 да не, не факт, может просто пригласили, почему не согласится. Это хороший контент, я бы на месте Тимура тоже согласился, просто они выдают не реальные задачи, которые на собесах дают, а базу, которую решит любой прочитавший "Грокаем алгоритмы", или посмотревший видео по мотивам книги. Я говорю, к Тимуру вопросов нет, даже если бы ему заплатили, что врядли, ничего плохого в этом нет, это не ставки или рулетки, а с учетом кол-ва крутого бесплатного контента, можно было бы и на платной основе согласиться. Бесит яндекс, типо мы такие классные, а на собесах такую дичь выдают, что мидлы с 5 летним опытом не справляются, т.к. задачи синтетические и отношения к реальной работе не имеет. Да, я например скорее всего решу все задачи, но может уйти 15 мин, а может уйти 2 дня на решение 1 задачи, если ранее ты ничего подобного не делал, а у них требования 5 задач за 3 часа, это нереально, если ты годами на яндекс практикуме не сидишь, а с учетом если ты реальный разработчик, который работает в коммерции, тебе некогда и нахер это не нужно. Думаю даже дата инженер не уложится в срок, хотя они с алгоритмами и структурами данных куда больше связаны. Что они добиваются таким подходом - хз, видимо нанять выпускника школы, который только и делал что участвовал в олимпиадах по алгоритмам и доп. обучался на курсах или в ГБУДО
Интервью получилось, "Как устроиться в Яндекс".
Тимуру спасибо за хак, как понять что у нас буквы, а не символы, не знал про него. Но Я бы решил так, сравнил бы символы по кодам таблицы ASCII, если символ в этом диапозоне находиться то это символ, в другом диапозоне это число, третьем диапозоне - буква.
Тоже мелькнула идея так поступить во время просмотра. Однако надо понимать что не на всех собеседованиях нам дадут "подсмотреть" таблицу кодов ASCII. Оба решения в целом корректные. Но, с ASCII алгоритм будет более гибким.
@@Andrq122 Помоему на любом собеседовании должны давать возможность загуглить таблицу кодов и другую подобную информацию, ибо требовать знать подобное наизусть - это глупость, темболее это не относится конкретно к фронтенду и к JS в частности. Сам, кстати, не знал про такую возможность, спасибо за комментарий
способ проверки через заглавность или не заглавность небудет работать если входные данные это иероглифы китайские например. или будут?
@@duoduoo6732 иероглифы не буквы же, а слова/значения/образы. Нет заглавных и незаглавных слов.
Можете написать таймкод этого лайфхака? Заранее спасибо!
Первая задача вроде и обычная, классическая, но решал подобный вариант без учета символов
хак с lowerCase === upperCase интересный конечно
еще интересно, что ограничение по памяти константное, даже не задумывался
только не сработает на языках без регистра (глифы, вязь итп)
Как же мне нравиться тебя смотреть, спасибо высшим силам за твое существование 😅
согласен
Круто, спасибо за труд!
Интервьюер постоянно перебивает Тимура, нужно ведь как-то показывать свою "важность" и "альфовость". Типичный яндекс...
Тимура слушать, как всегда, одно удовольствие
Кажется Альфа-самцы Яндекса погубят хрупкий мир русского айти сообщества😂
Не, ты не понял, он же не обычный гребец-сеньор, он сеньор из «Яндекса»😊
@@jetsker6388 хм, интересно сеньоры Яндекса умеют на реакте компоненты писать, или они умеют только алгоритмы решать
Вторая задача очень хорошая:
очень глубокие комментарии третьего специалиста от Яндекс,
относительно минимизации сложности вычислений,
за что ему спасибо.
Ну и Тимуру огромное спасибо за видео
Комменты хорошие были но всё же никто их них не заметил что там 3 цикла вложенных друг в друга, эта задача в итоге решается в 2 цикла, а цикл обычно самый пздц в плане сложности. Странно что чел их Яндекса обратил внимание на то что братюня выдергивает элементы из начала очереди но при этом не подкинул мысль что от последнего while так-то избавиться можно... Но конечно на реальном собесе жопа была бы мокрая факт
@@only_one_chanceтретий вложенный цикл(в котором соединяем пройденный путь) будет выполняться ровно один раз. Поэтому ничего тут страшного нет. Не очень красиво, согласен, но дополнительной сложности алгоритма не добавляет
Видос очень полезный
PS
я не разраб. а тестировщик. но целую кучу видосов у тебя уже посмотрел
по-моему, бро, я где-то в прямом эфире что ли это видел))) Или мне кажется.)
Интересная коллаба, лайк.
После этого видео захотелось заплакать и пойти дальше решать задачи на codewars
Яндекс - достаточно древняя компания - и у многих о ней остались хорошие воспоминания и некий ареол "российского гугла".
Что имеем по факту:
1. Зарплаты ниже рынка (я проходил к ним собес - зп была реально ниже рынка процентов на 30)
2. Все вменяемые люди оттуда поувольнялись.
3. Сейчас яндекс распилили между очередными олигархами - есть сомнения, что он всё больше будет становиться провластной помойкой - или после яндекс дзена это было непонятно?
4. Дрочат на алгоритмы - а реальных инноваций нет.
С учётом всего вышеперечисленного - какой смысл тратить хоть час своего времени на них - тем более проходить наглухо отбитые алгоритмические собеседования?
Ну, в части про факты, самих фактов то и не было: зарплаты не приведены, приплетена какая-то 'вменяемость' и приплетена политика. Еще и эта чушь про инновации... В том же хроме гораздо меньше возможностей и удобств, нежели чем у браузера от Яндекса.
Крупные компании всегда подвержены влиянию государства - очевидно же.
@@forlectures8685 вы написали пост, в духе типичного хуесоса с хабра.
@@forlectures8685 в сбере/втб/авито/озоне запраты выше, ниже яндекса наверное только тинек
@@forlectures8685 да, только хром не застран рекламой и всякой хуйней на главной странице, только уже поэтому яндекс идет лесом
@@forlectures8685
+15 рублей
Очень интересно было послушать рассуждения "с обоих сторон" .
Если реальный собес проходит в подобной обстановке то респект.
В который раз смотрю собесы ру контор и сам по опыту собесов в сбере убеждаюсь, что таких собесов нет, наверное, нигде. Когда отношение к кандидату как к студенту, а не как к потенциальному коллеге. Плюс отвратительная практика лайфкодинга (имхо). Таких требований, вопросов, особенно на джуна)
Сейчас работаю в качестве software engineer в немецком универе с очень неплохой зп и мой собес состоял в основном из теста на софт скилы (пообщались на темы) и тестового задания вида: созвон, дали доступ к гитхабу с АПИ, нужно было найти ошибки в коде, написать тесты к этой АПИ, на все тестовое 1,5 часа, надо было запушить обратно (я тогда не догадался, чтобы создать пуллреквест, но это оказалось некритично).
Тестовое выполнил впритык, потому что было довольно муторно, отправил, отписался. Мне ответили, что все ок, поглядим. Через неделю где-то отписались, что все ок.
Таким образом я оказался на позиции миддл+ (если смотреть по зп) в Германии с синей картой. Это было в январе-феврале этого года.
Для себя сделал вывод, что на западе решают софт скилы гораздо сильнее хард. К тому же, всем в команде закупили - копилот, чатГпт4 и прочие плюшки для упрощения работы. И подобные таски (как с этого тестового) просто не имеют смысла. Гораздо важнее, как кандидат мыслит, сможет ли он найти нужное в том же гугле. Все алгоритмы уже написаны сто раз, все их помнить - странно. Берешь, гуглишь, находишь, адаптируешь. И твои мысли и умение как раз адаптироваться важнее знания алгоритма баблсортинг, который на первой странице гугла уже сто раз обмусолен.
Согласен! Читал давно на медиуме еще интервью что западные компании смотрят больше софт скиллы, чем хард и это оправдано (у них была еще аналитика по этой теме) и вот вы подтверждаете. Спасибо за коммент!
Полностью согласен!
зато потом работаешь с иностранными коллегами, которые только пиздеть красиво умеют, и делаешь им по 100 комментов в код ревью, т. к. они ни документации не читали, ни код стайлов не смотрели, и в целом пишут код на уровне СНГшных вкатывальщиков на позиции мидл\сеньора, даже иногда не зная базовых вещей фреймворка
Этот собеседующий может быть крутым спецом, но пожалуйста, научите его нормально общаться. Чел столько раз перебил других, что ААААААААААААААА!!!
Бл
Да рил
В конце! Не исправили проблему очереди - пересчет массива при модификации очереди (эта проблема не решаема - всегда будет n изменений с одного конца, n изменений с другого конца), а просто сменили очередь на стэк. Хотя изначально использовали именно очередь, потому что хотели обходить граф именно вширь, а не вглубь.
Спасибо за видео, смотреть на Ютубе не так волнительно как проходить в живую:)
Тимур лучший. Нет слов! 🔥
Насколько минимально он плох == насколько максимально он хорошо
И эти люди собеседуют ребят😄которые даже не могут нормально передать мысль
35:40 признавайтесь много людей которые так делали? Не знаю ни одного человека, у которого это было бы первое что в голову пришло, а не if. Не, а ну Тимур конечно по памяти написал задачу, задачи такой сложности по-другому вообще не реально решить же...
Автор - зачот. Яндексят в Я.Проктологию. Всем составом.
ждал решения второй задачи без await, жаль что решили его даже не обсуждать :) в целом интересно получилось!
Отлично пообщались, на одном дыхании посмотрел, Тимур, спасибо за очередное видео.
Кстати кажется, что вы по итогу обход в ширину превратили в обход в глубину
Обход в глубину выполняется либо стэком, либо рекурсией.
А тут использовалась очередь ( queue ).
87 строка. const node = queue.shift();
Видео супер. Тимур красавчик. Один мой знакомый с 20 летним опытом на С++, который разрабатывает спутники и военные устройства, и второй знакомый c 5 летним опытом разрабатывает на JavaScript сервисы в VK, оба не смогли пройти собеседование в Яндекс. Больше они в Яндекс не собеседовались и не планируют. Т.е. Яндексу не интересны профессионалы. Им нужны олимпиадники по алгоритмам. Складывается ощущение, что эти алгоритмы нужны чтобы просто резать зарплату. Типа ты решил 1 задачу из 4. Ок, возьмем тебя за 10тыс.
Выполнял тестовое для Яндекса (не на разработку). Вакансия была примитивная, делать карточки для яндекс-маркета или что-то такое. З/п 20 т.р. Тестовое сделал. Самое сложное там было - обтравка 3х товаров в фотошопе и цветокоррекция. Даже на собес не пригласили. А у меня опыт работы в PS лет 15 (в том числе по профилю - изоляция объектов), карточки сделал качественно, пишу грамотно. Не понятно, кого они хотят найти на эти 20 тысяч. Фантазеры, в общем.
😂
Нормальный собес , Тимур молодец , было даже по другую сторону экрана как-то волнительно смотреть ))
Спасибо за хороший контент!
Слава СУПЕР ТОП! Посчастливилось побывать на одной из секций с ним, очень комфортно было!
смотрим шедевр
Довольно интересно было посмотреть и в первую очередь полезно
Сложная задача перестаёт быть сложной, когда ты её уже где-то реализовывал.
Я таким образом создавал поиска маршрута в 3D пространстве и игру "3 в ряд" тоже в 3D пространстве.
Зачем человеку соответствующему таким ожиданиям идти в яндекс? Я на вебфлоу сайтики верстаю, 160 - 300 в рублях выходит. Если я осилю такое интервью, то хочу 600 минимум
как нашёл работу?
@@vladislove1337 на апворке сидел, набралось несколько хороших клиентов, сарафан потянулся
На сколько я понял, сложность алгоритма в первой задачи не O(1), а O(N), где N - длина массива.
То есть, объем вычислений зависит от размера N исходного массива.
Немного теории: Что означает запись O(1) ?
Ответ:
Запись O(1) относится к анализу сложности алгоритмов и описывает поведение алгоритма или операции в отношении использования памяти или времени.
О(1) означает, что сложность алгоритма или операции является постоянной и не зависит от размера входных данных. Это означает, что время выполнения операции или объем используемой памяти остаются постоянными, независимо от количества данных.
Например, если у вас есть массив чисел, и вы хотите получить доступ к элементу по его индексу, операция доступа к элементу массива будет иметь сложность O(1). Независимо от размера массива, операция будет выполняться за постоянное время.
Аналогично, если у вас есть алгоритм, который всегда выполняет фиксированное количество операций, независимо от размера входных данных, его сложность также будет O(1).
В общем, O(1) означает постоянную сложность и является желаемым свойством алгоритмов, так как они позволяют выполнять операции или обрабатывать данные эффективно, не зависимо от их объема.
Там же четко сказано - по памяти
@@aw3s0me Сложность, в данном случае, определяется размером исходного массива.
Она равна N (да, это константа для данного массива, но для другого массива она другая).
Будет изменятся размер ИСХОДНОГО массива - будет расти и сложность (линейно).
Мы перебираем все элементы масива (ну, или их половины - всё зависит как считать),
а значит и сложность (объём) вычислений В ОБЩЕМ СЛУЧАЕ будет N или N/2 (принято в твких случаях отбрасывать константу-делитель).
@@SergiyAntonyuk_PhD you confused memory complexity and time complexity. The time complexity of the algorithm is O(n) where n is the number of elements. For memory complexity it's O(1) as no extra space was used. Creating pointers don't count as extra space
1:24:13 Нам довольно важен порядок добавления в очередь. Пример(start=A, to=E) : A : [D,C,B], B:[K], K[D], D[E]. В данном случае со стеком мы получим ABKDE, а не ADE
В задаче говорилось, что будет только один путь. Но кое-что на самом деле меняется - поиск будет не в ширину, а в глубину :)
Но как бы при условии что путь один - результат тот же.
забавно, что янджекс использует ЗУМ, а не свой Яндекс.Телемост 6))
После слитого в сеть сурс кода можно однозначно сказать: подобные задачи являются отличным способом набрать себе в команду дeгенepaтoв
Такой код всегда будет производиться, пока люди не начнут следовать базовым правилам программирования, а именно, как минимум avoid premature optimization принцип. Такие интервью нацеленны именно на будущую работу с нарушением этого принципа
Привет, мне очень понравился такой формат.👌👍
Спасибо за труд и полезность!
Спасибо, давно никак не мог найти крутое объяснение обхода графа , можно замутить видос с записью алгоритма Дийкстры , где нужно учитывать длину рёбер, а то тут длина равна 1 везде !???
Бл алгоритму Дейкстры 100млн лет, видосов жопай жуй
Алгоритм Дийкстры - это че-то из ведьмака? ( ͡° ͜ʖ ͡°)
@mico6762 😂
Интересно, хорошая задача
В конце превратили обход в ширину в обход в глубину заменив shift на pop.
Каждый раз будет забираться последний элемент, а потом будут класться в конец его дети. Потом берём с конца и так все ниже и ниже.
Видимо все на этом стриме перенервничали, надо бы валерьянки попить перед собесом 😂
В данном случае не важен тип обхода графа в ширину или глубину. Поиск в ширину ищет кратчайший путь от from к to. Но поскольку в условии задачи указано, что путь от from к to может быть только один, то уже и не важен тип обхода.
Хорошее собеседование, волновался за Тимура как за себя)
Результат подобного "набора" может прочувстовать каждый, обратившись к любому сервису Яндекса.
Спасибо за видео, познавательно. (Прикольно что оставили нерабочий вариант второй задачи с ошибкой)
По поводу второй задачи. В самом начале одни челы говорят окей используй обход в ширину, а под конец другой человек ему говорит не используй shift используй pop, и в итоге его обход в ширину превратился в обход в глубину. А также не показали как решить такую задачу без async/await, хотя обещали
там несколько раз в начале намекнули на решение в глубину, в какой-то момент я был уверен, что сейчас открытым текстом скажут, но раз кандидат уверен, что ж спорить
@@apanchuk работник яндекса, выйди из учетки
Блин, вот пораньше бы вышел этот ролик. Я завалил собес в яндекс неделю назад)
У тебя такие задачи были на собесе?
Реклама, которая не реклама. Яндексу нужны следующие жертвы )) рабы на галеры
🤦♂🤦♂
Яндекс еще не в черных списках на Западе как оборонпредприятия?😄
@@ivanabdullaev859 нет, т.к. головной офис Яндекса зарегистрирован в Норвегии (насколько я помню). Вот как попилят, так и внесут 😆
Это всё нахрен ненужно для фронтенда. Задача фронта сводится к получению Json и отрисовки инфы. В Яндексе собеседуют так, словно тебе придётся написать собственный браузер на C++ и без библиотек.
Ахах, ну это Яндекс, у них там все на плюсах😂
@@romankuznetsov4601 и на питоне. Где нужна скорость, плюсы, а остальное питон. Короче, полный треш.
хех успокаивайте себя
@@СерёгаСокольский где нужна скорость - питон, остальное - плюсы
@@pavelk7493 чел по факту написал))) Максимум что может потребоваться, это обходы дерева, но и то, если с бека присылают такой формат, а то что яндекс требует на собесах/своих уроках это полная бредятина именно для фронта, а они сделали просто один набор для любого направления
Как всегда - спасибо)
Тимур, пора записывать аудиокниги, многих он успокаивает😊
+++
Сложилось впечатление, что они думали, что Тимур начинающий специалист и они его собеседуют. Но, Тимур сам проводит собеседования и у него есть опыт.
Не думаю, вышли на него именно потому, что у него большая экспертиза. А что уж там хотели на самом деле показать - знают только инициаторы, в любом случае выводы о том, что из этого вышло делаем мы 😊
Кто угодно: нужен промоутер для раздачи листовок
---------
Яндекс при вопросах Яндекс.Практикум: калорийно стимулятор транзита материала, получаемого из целлюлозы: из растений, а также из вторсырья (тряпья и макулатуры).
Огонь, спасибо.
Ого, вот это топ контент
Не дают, оказывается, пользоваться консолью)) Я постоянно все, что пишу, тестирую в консоли, потому что какие-то мелочи выветриваются из головы со временем. Ну можно пойти дальше и сказать, что писать код в блокноте - это читерство, и надо писать его кровью на пергаменте)
Рассказывать слишком подробно о ходе решения, оказывается, нежелательно. Вот это можно рассказать, а это уже не надо. А если мне комфортно, когда я все проговариваю вслух? Видимо, во время решения задачи надо сосредоточиться не на решении, а на том, что можно проговорить, а что нет)
В отдельные функции выносить всякие дикие выражения не слишком приветствуется, и на имена переменных тоже, оказывается, никто не обращает внимания. А ничего. что нейминг - это один из важнейших скиллов для программиста?
Посмотрел первую половину собеса и сложилось впечатление об общей атмосфере происходящего, как об очень душной и некомфортной.
не сказал бы что нейминг один из важнейших скиллов, это даже не скилл больше, а просто игра слов
Ulbi, запиши пожалуйста видео о сборке через Vite, чтобы работало так же хорошо, как и с вебпаком.
У меня с vite постоянно какие-то проблемы с типами возникают, либо подсказки тайпскрипта вообще не отрабатывают - хотя с вебпаком все хорошо работает :D
о, видел твое видео еще в лайве с канала "Разработка". У тебя классно получается объяснять, даже я бы сказал разжевывать материал
Сам недавно прошел все этапы в Яндекс:
предварительный этап - middle
этап код - jun/middle ближе к джуну
этап на алгоритмы middle
К сожалению, набирают от крепких мидлов, не попал куда хотел, но может предложат еще в другие команды, будем верить)
На этапе кода почему джун/миддл? Мало задач решил?
Супер интересный выпуск 👍👍
Каким образом интервьюеры говорят об O(1) в первой задаче про палиндром?
Вышеприведенное решение с использованием цикла while и двух указателей (на начальный и последний символ строки), которые смещаются в цикле, не является операцией с постоянным временем O(1). Она имеет линейное время выполнения O(n), где "n" - это длина строки.
Почему? Процесс определения палиндрома требует сравнения символов, начиная с первого символа и с последнего символа строки, и постепенного смещения указателей внутри цикла while. Этот цикл будет выполняться столько раз, сколько символов есть в строке, поскольку нужно проверить каждую пару символов в строке, чтобы убедиться, что они равны. Таким образом, время выполнения зависит от длины входной строки и составляет O(n), где "n" - длина строки.
O(1) - ограничение по памяти, не по ЦПУ (времени). По времени оно, очевидно, имеет линейную сложность.
@@extra_poop Понял, мой фейспалм :) Спасибо
была у меня секция на алгоритмах в яндексе
собеседующий ни одной подсказки не дал
пытался ему намекать, что застрял
а в ответ - тишина...
Значит ты вообще не туда копал, в таком случае уже мимо.
Помнится рассказ, последний, котрый я слышал, - о том как Лёша Корепанов проводил собеседование:
Из запланированных (по-моему) 6ти - пришёл Один (!).
Собеседование он прошёл, но работать НЕ захотел.....
Вот так бывает))
Всем мира и добра
Нет он устроился, хорошо предложили
@@nik_user75
об этом и речь
(если вы не поняли)
Спасибо за видео, полезное! у меня был собес в яндекс. Я писал код и не много запутался. Я задал уточняющий вопрос на верном ли я пути, т.к начал понимать, что где то ошибся. И мне сказали, что я должен решать сам. И ни каких подсказок не было(
Интересный комментарий про unshift и невозможность выполнять его с константной сложностью. Если реализовать массив с помощью кольцевого буфера, то что unshift, что push у него будут выполнятся за О(1) (не считая моментов выделения и копирования в новую область памяти, но это будет у любого динамического массива)
Даже если двусвязный список сделать, это должно решить эту проблему, но время чтения из таких структур данных O(n) против O(1) у массива, если мне не изменяет память из курса по структурам данных.
@@alexey5097 у кольцевого буфера чтение O(1)
@@alexey5097 singly linked list будет достаточно
я в задаче с графами сразу видел ошибки и переусложнения, но вот я прекрасно понимаю что сам бы мог на твоем месте дичайше тупить и хуже справиться, только потому что я сижу в комфортной обстановке и смарю видос, вот этим мне и не нравится лайвкодинг, ужасная вещь - первая причина это мы чекаем как человек пишет код под дичайшим давлением, а вторая причина что там задачи из литкода, которые можно задрочить, сжирает этот лайвкодинг оч много времени, лучше за это время покопать человека, понять а способен ли он расти, с чем уже работал, что интересно и это можно раскапывать иногда у джуна долго, что уж говорить про крепкого мидла или ваще сеньера
Я больше 15 лет проработал программистом, сейчас ничего бы не решил без подготовки.
Хотя по работе реально приходилось писать и структуры данных, и алгоритмы применять. Я это по книгам и статьям делал.
На Сях Дийкстру написал лет 10 назад! Гордился даже! Скорость выросла по сравнению с реализацией на ПХП.
Решил задачу и забыл со временем. В конторы бигтеч надо к собесам готовиться реально. Читайте Лафоре.
Год назад в торговый бизнес ушел - бабки как у мидла, напрягов меньше - наработанная схема продаж, и не надо мозги плавить с кодом.
Ото смотрю еще канальчики айтишные для фана.
бро, а что за бизнес? хочу тоже уйти из этого мозгоколупательства во что-то более стабильное. смотришь, как люди возят товар и ставят ценники на него 2x, n*x, заносят кому надо и всё. риска почти нет, мозг на месте (иногда только покупатели, наверное, попадаются дотошные... НО что это по сравнению с постоянным стрессом от кода?)...
@@InverserPro Носки, трусы, пижамы, сумки, кроссовки, футболки, кофты. Пробовал еще светильники, чехлы к планшетам и телефонам продавать - все продал, но не то. Постельное белье еще продавал.
Олигархом не станешь, но 1500 - 2000 баксов в месяц заработаешь. Я сам себе менеджер, сам на почту хожу отправлять.
Можно нанимать людей, расширяться будет со временем. Я укробендерофашист, то у нас щас ракеты еще летают - то пока поработаю сам.
Надеюсь, после войны экономика пойдет вверх и я тоже расти буду. Сейчас я - мелкий провинциальный спекулянт.
У нас мидл 1200 - 1500 баксов получает. В Киеве - можно и на 2500 найти, но я не в Киеве) И не хочу туда, мне больше нравится запад Украины, далеко от россии - меньше ракет сюда летит. И Польша близко - мне это важно.
@@olezhonnv3215удачи тебе в жизни и здоровья побольше. Очень печально от того, что началось это все
@@olezhonnv3215 Удачи чел, надеюсь всё будет круто :)
Ну хз за 15 лет то можно было и синьором стать и Тим лидом и получать x3-x5 мидловской ЗП. Ещё и с возможностью релокейта.
Тимур, после курса твой голос стал РОДНЫМ)))
Как ты после курса чувствуешь себя в плане знаний, собесов. Может уже оферы? И какие знания было до изучения курса, в кратце
Это факт!!!!😊
Присоединяюсь :)
@@abobus_xero я еще не досмотрел курс, там сейчас открыто 16 недель, очень много полезной информации, и находясь на 4й неделе, могу ответить что оно того стоит), в плане знаний: я думал что я пишу нормальный код, оказалось что есть варианты получше, есть оферы по 150к, но уйти не могу туда, потому что есть договор с нынешней компанией, и платят они чуть меньше 150к, если думаешь стоит ли покупать курс, то я скажу "ДА" оно того стоит, я бы и 100к заплатил за такой курс) Тимур просто лучший) спасибо тебе отдельное)
@@abobus_xero если будут вопросы, пиши, отвечу
ну такое... Тимур как всегда молодец, но вообще - какое отношение решение задач имеет к реальным проектам ? разве что для разминки мозга, но вообще - на любителя. Голову морочат эти яндексы, и ещё в блокноте писать код - алё яндексы ! 21-й век на дворе ! капец 😆😆
Ты можешь предложить лучший вариант?Как за час узнать подходит ли человек на данную позицию?Задавать тупые вопросы на заучивание тонкостей фреймворка или стандартной библиотеки? Такие задачи помогают понять 2 простые вещи:1)Знает ли человек, хотя бы синтаксис языка на который собеседуется (видел случаи когда "супер-пупер" сеньеры не могут без ide вспомнить как цикл писать)
2)Помогает понять как мыслит кандидат
Такой вариант собеседования более-менее приемлемый.Если человек не может решить задачу по типу twoSum с литкода,то о чем может идти речь?
@@denisDetrov посмотреть на опыт человека и на каких проектах он работал
@@denisDetrov а как вам вариант, когда человек решает twoSum с литкода и все? Он приходит на проект, задрочив (буквально) литкод, то есть по сути стандартные либы и ему дают не задачу с литкод, а, например, написать парочку DAO (условно). Не очень вижу здесь пользу алг задач. Но вообще это холеварная тема, всегда будут 2 лагеря
@@denisDetrov по факту, но про синьоров ахинею написал, синтаксис циклов во всех языках с подобной парадигмой одинаков
@@motopers Про подобные парадигмы ты наверное имел в виду си-подобные яп. А так да
А разве в условии функции где if(isEqual(first,second)) тут нужно отрицание перед isEqual ? Там же в самой функции если они не равны тогда true вернется
Когда яндыкс уже закроют? =)))
Интересно. Спасибо.
Ждём новые видео с next 13 ,, поставьте лайк пусть комментарии будет в топе
А для чего алгоритмическая задача с этими точками для Frontend? По мне так избыточно абсолютно. Вопросы то по frontend где?
Первая задача, как бы я решал:
1). убрал лишние символы регуляркой
2). Привел к нижнему регистру
3). создал цикл длины i < (arr.length / 2)
4) if ( arr[ i ] == arr[ arr.length - i ] ) {return "Не полиндром"}
5) return "Полиндром";
Причем неважно сколько знаков в строке, условие отработает как с четными, так с нечетными
хм, а что насчет памяти? если убрать символы, то получится константа, которая занимает память, в зависимости от длины входящей строки. В условие по памяти не войдете
@@miguelgrushetckii4839 окей, тогда все придет к тому варианту как в видео, где мы просто ставим условие на сдвиг. Изначально не понял трактовку условия, но ладно, был близок)))
Душнилово рил.
Не знаю как в Яндекс но каждый раз когда был на этих душных тех собесах, открывал потом код таких ребят
И ниразу там никто не принимал алгоритмы компоненты 1000+ строк. ООП в проекте ноль. Интерфейсы такие же огромные как и компоненты и тд.
Жесткий бред конечно выполнять задание в блокноте. Задача разработчика думать и реализовывать задачу. Искать опечатки в коде дело ide. Просто охренел когда спикеры начали обосновывать использование блокнота.
так за опечатки баллы не снимают. насчет блакнота - иногда приходится редачить файлы на сервере, и чтобы не тратить время на подключение к серверу через IDE, иногда легче просто воспользоваться каким-нибудь nano или vim
Все эти отборы типа пиши код на доске маркером и прочая, полная фигня. На это можно натренироваться, если захотеть. Вот только зачем? Если к реальному кодингу это не имеет никакого отношения. IDE, Copilot, поисковик и stackoverflow - это обязательные помощники программиста. И нет никакой ценности что чел на память помнит синтаксис языка - это чушь, это тест на запоминайку. А нужно тест на думалку! То как думает чел -- это единственное что важно. А все эти тупые тестирования а-ля гос экзамен - где просто вызубриваешь ничего не проверяют. Более того то что чел решил 2 задачи собеса не значит что он не зафакапит реальный деплой на прод. Короче херня это всё. НИКТО ещё не придумал тест на интеллект, такого не существует. Лучшая проверка программиста - это испытательный срок на вашем реальном проекте.
Я сегодня с огромным удовольствием пишу отказы когда получаю приглашение на собес в Google или Amazon. Потому что понял суть этих корпорастов которые ищут себе просто винтик бездумный, безвольный.
"Лучшая проверка программиста - это испытательный срок на вашем реальном проекте" - Ага, FAANG будет нанимать по 500 программистов на испытательный, потом будут еще столько же человек отправлять за ними следить, и все ради того чтобы отфильтровать их и оставить 5 человек.
Уточним. Вот эти смузихлебарезки с важными е_бальниками нанимали тех овощей которые брали отдельно логин и брали отдельно пароль потом одавали серверу в тупую. Пральна?)
Ну страна должна знать своих героев.
Про душнилово unshift, shift и прочее - поржал прям. Т.е. компиляторы постоянно ускоряют код, оптимизируют выполнение, а тут чувак считает, что reverse ему там сильно ускорит производительность. Где он там нашел смещение памяти, только ему известно, JS может не хранить память как в Си, было бы странно если бы это было так. Зато reverse приводит к избыточной сложности восприятия алгоритма. Ну лааадно.
В случае элементов одинакового типа js-ный массив превращается оптимизирующим компилятором в настоящий. Но даже если это не случилось, то unshift и shift всё равно меняют значения по всем индексам, т.е. отрабатывают за O(n). За единицу они могут работать только в связном списке.
@@alexandroppolus С тем же успехом компилятор может посмотреть, что дальше используется shift, unshift, и сделать из этого связанный список. Это как борьба с производительностью захвата области видимости, она сегодня медленная, завтра стоимость нулевая.
@@sanchezz1135 хм... да, согласен, здесь компилятор мог бы увидеть, что массив используется строго как очередь (без доступа к произвольным индексам) и обработать это нужным образом. Не знаю, есть ли такая оптимизация, но учитывая довольно частое использование массива как очереди, это было бы весьма актуально.
Уф, понял что фронтендеру нужно учить алгоритмы и сложность функций
34:01 в первой задаче был вопрос про цифры, однако его пропустили, хотя формально 22/02/2022 тоже палиндром.
еще может быть isPalindrome(" ") // expect false для пустой или пробельной строки, но вернет -> true
или строка не содержащая букв isPalindrome('!@#$%&*') // expect false, но вернется -> true
Тимуру спасибо! у вас всегда очень внятные и детальные пояснения к коду, UlbiTV - мой любимый канал. Лайк
Собеседующий Вася пропускает ошибку в решении и ставит максимальный балл. Собеседующий Лёша "душнит" и наводящими вопросами заставляет того же претендента исправить ошибку и ставит по итогу балл ниже. Где логика?
Яндекс в целом что-то мудрит постоянно с собеседованиями , не только в it сферу . У них куча вакансий и я проходил собеседование на некоторые из них . По нейронкам , заниматься Алисой и разные другие , везде приходят разного рода тесты сложные и очень сложные , но даже проходя их на 5 из 5 , вам все равно отказывают в работе .
Потом я полез изучать информацию по этому поводу и люди пишут тоже самое . Либо это какие-то фейковые вакансии от них , либо они собирают разного рода статистику о людях ! Вообщем, не понятно !
Там уже и теории разные есть , что они нейросети обучают этими тестами и вакансиями
Вот бы еще хоть кто-нибудь сказал, что тупить на новом проекте после месячного поиска (это второй проект, первый полтора года длился, легкий...) это нормально, чтобы люди и я в том числе не жрали себя изнутри за это. Черт с этими собесами, я поняла, что собеседующий тоже может быть неприятным человеком, как я им, и можно просто отпустить ситуацию, но тупняк на первом крупном проекте в простых вещах...
1:18:57 - 1:19:25 Я не понимаю, как startPoint может не быть. Зачем эту проверку добавлять? Согласно 102 строке startPoint всегда будет. Разве нет ?