Тёмный

Открытое алгоритмическое собеседование 

Яндекс Практикум
Подписаться 33 тыс.
Просмотров 4,5 тыс.
50% 1

На вебинаре «Открытое алгоритмическое собеседование» вы узнаете, как проходят реальные собеседования, и подготовиться к своим. В конце вебинара спикеры ответят на все интересующие вас вопросы и расскажут о курсе Алгоритмы и структуры данных.
Mock-интервью проведет Иван Самсонов, Senior Software Engineer, наставник на курсе «Алгоритмы и структуры данных» Яндекс Практикума, с выпускником курса Павлом Орловым, ML Engineer.
Курс «Алгоритмы и структуры данных» Яндекс Практикума
clck.ru/39p87e
Мы на связи:
Сайт ya.cc/t/fWQom9...
ВКонтакте yandex....

Опубликовано:

 

8 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 21   
@Tatiana-of5xw
@Tatiana-of5xw Месяц назад
Павел - молодец! 🎉
@user-zu2sy2lq6t
@user-zu2sy2lq6t Месяц назад
после поиска первого решения через бин поиск нужно итеративно - = 1 спускаться до минимума, koko eats bananas таки
@RomanKoshetov
@RomanKoshetov 10 дней назад
3 задача была с неправильным примером, там не 12 можно распределить так: 4 2 5 | 2 8 | 3 4 3 | 1 10 | Вот код задачи: conv = [1, 3, 2, 4, 10, 8, 4, 2, 5, 3] count = 4 # с сумматорами # CPU - O(n*m) n - кол-во емкостей в конвейере, m - кол-во контейнеров # Memory - O(m) - тк используем список сумматоров summators = [0 for i in range(count)] minSumIndex = 0 for e in conv: for i in range(len(summators)): if summators[minSumIndex] > summators[i]: minSumIndex = i summators[minSumIndex] += e print(max(summators))
@dezmondlab
@dezmondlab 7 дней назад
У них в условии 3 задачи порядок элементов нельзя менять (это было в условии 2 задачи, для 3 не очевидно, но это типа модификация 2). Но решение таки не всегда верное, после нахождения нужно еще попробовать уменьшать объем на 1, пока это возможно, тк с текущим количеством бидонов может быть диапазон объемов.
@RomanKoshetov
@RomanKoshetov 7 дней назад
@@dezmondlab мое или их решение не верное?
@dezmondlab
@dezmondlab 7 дней назад
@@RomanKoshetov у них неверное
@RomanKoshetov
@RomanKoshetov 7 дней назад
@@dezmondlab немного не понял про неизменение порядка, в моем решении мы идем циклом по каждому по порядку их следования в массиве, можете объяснить?
@dezmondlab
@dezmondlab 7 дней назад
@@RomanKoshetov У них емкости идут в порядке 1 3 2 4 10 ... Нельзя залить, например, 1 3 в первый бидон, потом 2 во второй, а затем 4 снова в 1. Если перешли к заполнению второго бидона, то первый более не трогаем. Из-за этого задача проще, чем искать оптимальное распределение. То есть исходный пример [1, 3, 2, 4, 10, 8, 4, 2, 5, 3] распределяется только с сохранением порядка [1, 3, 2, 4 | 10 | 8, 4 | 2, 5, 3]
@MessirAvgur
@MessirAvgur 3 месяца назад
Ваня, привет от 50 когорты! 😁
@werft2266
@werft2266 3 месяца назад
функция из второй задачи находит же не оптимальное решение, а просто хорошее, а в третьей нужно найти именно минимальное значение и поэтому её нельзя использовать? Или я не понял?
@maxfalkovich
@maxfalkovich 3 месяца назад
Во второй решение за линию, вполне оптимальное
@werft2266
@werft2266 3 месяца назад
@@maxfalkovich в плане не минимальное количество контейнеров
@RusPeople21
@RusPeople21 2 месяца назад
@@werft2266 Вроде по условию не подразумевается, что мы заранее знаем все емкости, то есть не получится сделать минимальное количество бидонов. Ну и в третий аналогично - последовательность бидонов менять нельзя
@user-um6ml7os3k
@user-um6ml7os3k 27 дней назад
Мне с лососем, пожалуйста. Спасибо
@kekcius
@kekcius 4 месяца назад
Можете кто-нибудь объяснить, на кой хрен такие задачи, если в реальной работе никогда даже близко к ним не бывает?
@spacecookies6814
@spacecookies6814 4 месяца назад
У таких ребят, как Яндекс, Амазон, спотифай, Гугл и тд, работающих с большим количеством пользователей, данных, стримингом и потоками трафика критически важно
@kekcius
@kekcius 4 месяца назад
@@spacecookies6814 имеешь в виду что это именно для хайлоада? Просто там пузырьковая или другая сортировка вручную практически нигде не применяется) разве что совсем у низкоуровневых сишников. В промышленных системах важнее знать особенности разных типов индексов конкретных СУБД, архитектурные подходы... Подправьте если не прав. Даже те кто работает в долине наизусть учат алгоритмы и структуры данных для собесов, а потом все как один говорят, что это можно забывать до следующего поиска работы
@SergiyAntonyuk_PhD
@SergiyAntonyuk_PhD 4 месяца назад
Просто это копирование ЗАПАДНОГО подхода к набору персонала в КРУПНЫЕ компании (Google, Amazon, Facebook и т.д.): важно чтобы КАНДИДАТ был достаточно эрудирован (уже встречал подобные задачи и мог быстро решить предложенную) или был сообразителен и мог быстро предложить алгоритм шенеия и оценить его плюсы и минусы.
@yafpv
@yafpv 3 месяца назад
Если работа заключается в написании рест ручек - то смысла нет.
@user-sc9hv7vy4z
@user-sc9hv7vy4z Месяц назад
Когда чел шарит в алгоритмах, он не будет решать реальные задачи не оптимально. Я на практике у людей, не умеющих решать алгоритмические задачи часто вижу код с неоправданно завышенной асимптотикой. Негативных следствий из этого много разных. Например, какие-то запросы серверу могут долго обрабатываться. Может потребоваться сильно больше серверов или более дорогих серверов для обеспечения работы такого решения, чем для обеспечения работы оптимального решения. Это такая тренировка специалиста с запасом. Такой подход в любой сфере жизни можно увидеть. Тяжело в учении -- легко не работе.
Далее