спасибо, коротко, по существу. Честно! Какие-то фейлы спокойно описываешь. Вот так сидя с дивана оно виднее, что вон тут проблема, тут ошибка, а в стрессе собеса конечно сложнее
Я фронтенд разработчик, но я восхищаюсь людьми, которые занимаются темой Data science. Сам в свободное время играюсь с ИИ на питоне, стараюсь придумывать для себя задачки (единственное - никогда не любил статистику, хотя в целом математика мне нравилась и до сих пор нравится). Автор молодец, так держать!)
Недавно проходил собес в сбер на NLP/Audio. Прошёл алгоритмическую секцию, общий ML, Audio/NLP/Deep Learn, а так же два финала с лидами команд. И не взяли в итоге. Только зря на 5 собесов время тратил :(
С кубиком суть не в том, что вероятность > 1/2, а в мат ожидании. Если на текущем броске выпало число, которое меньше, чем будущее мат ожидание (3.5), то перебрасываем, иначе оставляем. Это достаточно известная задача, она даже есть в "Green Book", но там мы можем кидать кубик 3 раза, а не 2.
@@niceberg2820 спасибо gpt: "С большой долей вероятности под «Green Book» тут имеют в виду бесплатный учебник по теории вероятностей Grinstead & Snell “Introduction to Probability”, который часто неформально называют «зелёной книжкой» из-за характерной зелёной обложки. В нём действительно есть задача про оптимальную стратегию перебрасывания кубика (или другие варианты задач на «остановку», основанные на сравнении выпавшего результата с ожидаемым). Этот учебник можно найти в свободном доступе (в том числе на сайте проекта Open Textbook Library) и он довольно известен среди тех, кто увлекается или занимается математической статистикой и вероятностями."
Автор молодец, спасибо за ролик! Жаль что конечно не признаёт, что чего-то не знает, на самом деле честность и открытость подкупают больше, чем хард скиллы. Желаю успехов!
Задача с кубиком требует пояснений. Если цель - максимизировать выигрыш, то: 1. говорим, что броски независимы 2. считаем матожидание 3. если выпало больше матожидания, сохраняем, если меньше, то перебрасываем Если цель - с наибольшей вероятностью получить больше чем в первый бросок (причем не важно насколько больше), то тогда да все верно решено в видео. Просто если был бы не кубик, а что-то другое, например, на кубике вместо 6 стояло бы 1 миллион, интуитивно понятно, что нам выгоднее перебрасывать даже когда выпало 5, потому что 1 млн это много и он сильно оттягивает матожидание. А если бы цель не проиграть, т.е. не получить меньше, тогда логика как в видео. Так что решение тут правильное, но рассуждение не совсем, я думаю стоит через матожидания делать. Т.е. для каждого случая переброса считать матожидание выигрыша, и если оно больше того, что выпало, то перебрасывать. Особенно если события зависимы и матожидание зависит от того, что выпало на предыдущем броске. Но тут повезло, неправильное рассуждение привело к правильному ответу) Так что смотрите что надо, либо МАТОЖИДАНИЕ выигрыша максимизировать, либо ВЕРОЯТНОСТЬ выгоды на втором броске.
Я вот ещё подумал, что при 4ке можно перебрасывает также. Вероятность выпадения нормальной грани (4,5,6), те 3/6. Конечно в данном случае я считаю что повторный выпад 4 это тоже хороший результат .
В задаче unique_in_order за начальное значение prev нельзя принимать пустую строку, так как первым элементом параметра sequence может быть именно пустая строка.
Молодец! Лучше конечно говорить правду. Работодателю интересно нанять адекватного соискателя пусть даже если он знает меньше того, кто врёт. Это моё мнение.
Всем привет, учусь в вузе на программиста на 3-ем курсе, задумываюсь о работе. Реально ли после успешного прохождения такого собеса без опыта устроиться на норм зп?
Я вот ещё подумал, что при 4ке можно перебрасывает также. Вероятность выпадения нормальной грани (4,5,6), те 3/6. Конечно в данном случае я считаю что повторный выпад 4 это тоже хороший результат.
🐳 Следи за новостями: t.me/gernar228/ - новости, анонсы, бесплатный контент 🍑 Приватный телеграм: t.me/gernar228_bot/ - весь движ тут: сообщество, собесы, мои личные консультации и другой эксклюзивный контент! ⬆ Boosty больше недоступен, всё переехало в телеграм ⬆
@@gernar228 а почему выбор делается на основе вероятности получить во время второго броска больше очков? Условие задачи странное, но я бы его воспринял, как найти стратегию, при которой математическое ожидание выигрыша наибольшее ( или любая другая статистика) Скажем, если бы во время второго броска с большой вероятностью (90%) мы бы теряли очко, а маленькой (10%) увеличивали выигрыш на миллиард, разве не выгоднее было бы рискнуть, несмотря на меньшую вероятность?
забавный кто Вас собесдовал, сранно что не спросили про собственные наработки и прочее, я думал сейчас будет просто ВАх...код обучения, разложение кода по строкам, оптимизация, компиляция (для закрытого кода) ну и в этом духе...
Здача 2 На чиле решил за 10 минут (что вообще не быстро уже), но на собесе бы просто насрал в штаны от стресса def decompose(n): s = str(n) digits = [i for i in s] return digits def next_smaller(n): digits_init = decompose(n) i = n while i > 0: i -= 1 digits_next = decompose(i) check = [s for s in digits_init if s not in digits_next] if len(check) == 0: break return i
@@valerierfolg1112 А меня наоборот этот фэйл вдохновил отвлечься от вылизывания картинок в ноутбуках и почитать про алгоритмы, потусить на литкоде. Кстати, в этой задаче, кажется, нужно найти все варианты перестановок цифр в числе и среди получившихся найти ближайшее слева к данному.
@@СырноБаказадача решается довольно просто за линию - в плюсах уже готовая есть prev_permutation идея такая - мы хотим сделать изменения в минимальном суфииксе. Если суффикс нестрого возрастает, то его уменьшить нельзя никак - найдем первую позицию с конца, где монотонность нарушается 1237079 - максим возрастающий суффикс это 079, значит будем менять только 7079, а 123 останется 7 в начале 7079 мы должны заменить на что-то меньшее, причем, чем больше, чем лучше - заменим на наибольшее число, строго меньшее данного 7079 -> 0779 заметим, что при этом 779 будет нестрого убывать (если монотонность нарушена, выбрали неправильное число на замену 7), значит, чтоб получить максимальное число из него, надо реверснуть итого 1237079 -> 123 (7) 079 -> 123 (0) 779 -> 123 (0) 977 -> 1230977 еще пример 15236 -> 1 (5) 236 -> 1 (3) 256 -> 1 (3) 652 -> 13652
Вот именно! Очень хорошо если нас будет много, а то недавно проходил собеседование, спрашивали как на 300+, а в итоге сказали у нас на этой позиции максимум 110🤣 Плюс ребята с региона!!!! Не соглашайтесь на зп меньше! Сейчас стоимость всех товаров и услуг (в т.ч квартиры, машины) иксанули. И когда говорят, сколько бы вы хотели получать в регионе? Да какая разница регион или не регион! Сейчас все и везде одинаково дорого!
Слушать тяжело. Ибо ты говоришь тихо, а твой собеседник громко. И ты либо глохнешь при перескакивание на него, либо ничего не слышишь, когда говоришь ты. Надо как-то уравновесить громкость :(
@@bogdanns2 я на ютубе штук 20 разных мок интервью ДС смотрел. И под каждым видео находится васян, которому легко и изи. Такому васяну изи только мелочь в пятерочке на кассе считать, чтобы пачку примы взять.
Самое ужасное что после таких видео когда люди массово на тренировались проходить собесы они приходят на работу и ничего не могут делать. Спасибо что помогаеие людям войти в айти)))
@@cardmaster6915 на это требуется дополнительное время, а это ценный ресурс. Да многое дополнительными вопросами отсеятся, но есть индивиды которые уже сотый раз проходят на собесы и уже более менее подготовлены отвечать на разные вопросы, а на практике не знаю ничего. Жаль потерянного времени.
Это невозможно понять плюс это дело компании. Плюс я лучше найму джуна из универа, который знает математику и питон слабо знает дата сайенс, чем чела после курсов, который знает про модели из курсов и может делать базовые вещи, но не знает математики. Тк первый через пару месяцев догонит второго(скорее всего), а второй при всем желании не сможет исключить логические фейлы ввиду слабой мат базы @@gernar228
4:25 решение задачи: def next_smaller(n): n = str(n) j = i = len(n) - 1 while i > 0: i -= 1 if n[i+1] < n[i]: if i == 0 and n[-1] == '0': return -1 # исключили случай с n = 30, 500, и т.д while True: if n[j] < n[i]: if j != len(n) - 1: return int(n[:i] + n[j] + n[i+1:j] + n[i] + n[j+1:]) return int(n[:i] + n[j] + n[i + 1:j] + n[i]) j -= 1 return -1
Codewars, с которого взята задача, показывает фейл даже на пробном тесте. Сорян, ты пытался... Вот решение, которое проходит: ua-cam.com/video/0PVJ7eGtwG4/v-deo.html
Я не хочу, я устал - после этой фразы интервьювер понял, что нужно брать 😅
А что, так МОЖНО было что ли?
Из-за тебя гнездо наушника сломал, думал одно ухо не работает - раскавырял все. спс
спасибо, коротко, по существу. Честно! Какие-то фейлы спокойно описываешь. Вот так сидя с дивана оно виднее, что вон тут проблема, тут ошибка, а в стрессе собеса конечно сложнее
Я фронтенд разработчик, но я восхищаюсь людьми, которые занимаются темой Data science. Сам в свободное время играюсь с ИИ на питоне, стараюсь придумывать для себя задачки (единственное - никогда не любил статистику, хотя в целом математика мне нравилась и до сих пор нравится). Автор молодец, так держать!)
держи в курсе
@@Maraur-y9s токсик, арбузер
@@Maraur-y9sты тоже держи в курсе что держишься в курсе
"я устал":D вот это прикол
Недавно проходил собес в сбер на NLP/Audio. Прошёл алгоритмическую секцию, общий ML, Audio/NLP/Deep Learn, а так же два финала с лидами команд. И не взяли в итоге. Только зря на 5 собесов время тратил :(
5 секций это жесть
мдаа уж, не совсем понятно что они вообще хотели, или передумали вообще брать кого-либо
Увидели конкурента😊
Шок! Действительно очень полезное видео! Посмотрел его и стал проходить собесы в 1.3 раза лучше!!! ЭТО ЖЕЕСТЬ!!!😶🌫💣💣 КРУТО!!! 😎
С кубиком суть не в том, что вероятность > 1/2, а в мат ожидании. Если на текущем броске выпало число, которое меньше, чем будущее мат ожидание (3.5), то перебрасываем, иначе оставляем.
Это достаточно известная задача, она даже есть в "Green Book", но там мы можем кидать кубик 3 раза, а не 2.
Вы абсолютно правы! Я тоже хотел об этом написать.
Что за Green Book?
@@niceberg2820 спасибо gpt: "С большой долей вероятности под «Green Book» тут имеют в виду бесплатный учебник по теории вероятностей Grinstead & Snell “Introduction to Probability”, который часто неформально называют «зелёной книжкой» из-за характерной зелёной обложки. В нём действительно есть задача про оптимальную стратегию перебрасывания кубика (или другие варианты задач на «остановку», основанные на сравнении выпавшего результата с ожидаемым).
Этот учебник можно найти в свободном доступе (в том числе на сайте проекта Open Textbook Library) и он довольно известен среди тех, кто увлекается или занимается математической статистикой и вероятностями."
В задаче на функцию next_smaller в конце написано '7079' should equal 790, что неверно. По идее должно быть 977. А задачка действительно интересная.
Автор молодец, спасибо за ролик!
Жаль что конечно не признаёт, что чего-то не знает, на самом деле честность и открытость подкупают больше, чем хард скиллы. Желаю успехов!
Честно, ни разу не видел, когда ответ на вопрос «я не знаю» засчитался как «+». Гораздо лучше рассуждать начать
все индивидуально. Люди разные, интервьюеры разные. Одни интервьюеры точно засчитают это красным флагом, другим нужно рассуждение
Задача с кубиком требует пояснений. Если цель - максимизировать выигрыш, то: 1. говорим, что броски независимы 2. считаем матожидание 3. если выпало больше матожидания, сохраняем, если меньше, то перебрасываем
Если цель - с наибольшей вероятностью получить больше чем в первый бросок (причем не важно насколько больше), то тогда да все верно решено в видео.
Просто если был бы не кубик, а что-то другое, например, на кубике вместо 6 стояло бы 1 миллион, интуитивно понятно, что нам выгоднее перебрасывать даже когда выпало 5, потому что 1 млн это много и он сильно оттягивает матожидание. А если бы цель не проиграть, т.е. не получить меньше, тогда логика как в видео. Так что решение тут правильное, но рассуждение не совсем, я думаю стоит через матожидания делать. Т.е. для каждого случая переброса считать матожидание выигрыша, и если оно больше того, что выпало, то перебрасывать. Особенно если события зависимы и матожидание зависит от того, что выпало на предыдущем броске. Но тут повезло, неправильное рассуждение привело к правильному ответу) Так что смотрите что надо, либо МАТОЖИДАНИЕ выигрыша максимизировать, либо ВЕРОЯТНОСТЬ выгоды на втором броске.
Я вот ещё подумал, что при 4ке можно перебрасывает также. Вероятность выпадения нормальной грани (4,5,6), те 3/6. Конечно в данном случае я считаю что повторный выпад 4 это тоже хороший результат
.
Лаконично и информативно) Было интересно подумать, как бы ответил)
Последних задач условия не до конца понял только))
В задаче unique_in_order за начальное значение prev нельзя принимать пустую строку, так как первым элементом параметра sequence может быть именно пустая строка.
тогда None
найс ролик сделал, глухие, на левое ухо, будут довольный )
Приветствую, расскажи пожалуйста, с чего начинал изучение? Мб какие то курсы/школы есть? Спасибо
получать высшее как минимум
@@Aydar_Kapino Вышку 9 лет назад получил,
@@ДенисВолков-л2ъ на степепике курс есть неплохой
@@Aydar_Kapino спс
Молодец!
Лучше конечно говорить правду. Работодателю интересно нанять адекватного соискателя пусть даже если он знает меньше того, кто врёт. Это моё мнение.
чет мне кажется странным что после слов "не хочу, я устал" тебя куда-то взяли, работать придётся фулл день, а ты устал за час или два собеседования
день и ночь
вообще спасибо за короткий видос. это хороший формат. правда звук когда комментируешь плохой.
Эта тема)) как я должен с ним работать, если меня не берут на работу, где я должен с ним работать 😅
Хотелось бы посмотреть реальные ответы с собеса, на не врезки
В других роликах уже выкладываю полные версии
Божественно
Какие курсы по DS рекомендуете?
Вадим спасибо за полезный контент=)
Странное интервью, если честно. Мало в какой конторе будут слушать того, кто с таким "энтузиазмом" отвечает на вопросы интервьюера.
Это ты видос с ВТБ не видел ещё
Я думаю это манера разговора многих в через айти. Т.е. норм
Всем привет, учусь в вузе на программиста на 3-ем курсе, задумываюсь о работе. Реально ли после успешного прохождения такого собеса без опыта устроиться на норм зп?
После успешного собеса тебя как правило на работу берут же)) или я не понял вопроса?
Лол, что
Самые важные вопросы, привязанные к работе завалил, но прошел?
Какие вопросы он завалил?
Я вот ещё подумал, что при 4ке можно перебрасывает также. Вероятность выпадения нормальной грани (4,5,6), те 3/6. Конечно в данном случае я считаю что повторный выпад 4 это тоже хороший результат.
Подумай еще
🐳 Следи за новостями: t.me/gernar228/ - новости, анонсы, бесплатный контент
🍑 Приватный телеграм: t.me/gernar228_bot/ - весь движ тут: сообщество, собесы, мои личные консультации и другой эксклюзивный контент!
⬆ Boosty больше недоступен, всё переехало в телеграм ⬆
А такое можно публиковать вообще?)
Стоит ли ожидать блокировки канала?
можно публиковать
Слушай Вадим. Все по делу. Четко!
Можешь объяснить откуда в задаче терверу, вероятность получить 1 5/6, 2 4/6
вероятность того, что мы выбросим число >1 = 5/6, потому что у нас 5 граней кубика из 6, которые удовлетворяют этому условию
@@gernar228 а почему выбор делается на основе вероятности получить во время второго броска больше очков? Условие задачи странное, но я бы его воспринял, как найти стратегию, при которой математическое ожидание выигрыша наибольшее ( или любая другая статистика)
Скажем, если бы во время второго броска с большой вероятностью (90%) мы бы теряли очко, а маленькой (10%) увеличивали выигрыш на миллиард, разве не выгоднее было бы рискнуть, несмотря на меньшую вероятность?
Я устал, я мухожук...)
4:27 Последний тест неправильный. Там в конце 890, а должно быть 809.
забавный кто Вас собесдовал, сранно что не спросили про собственные наработки и прочее, я думал сейчас будет просто ВАх...код обучения, разложение кода по строкам, оптимизация, компиляция (для закрытого кода) ну и в этом духе...
Привет! Какое у тебя образование? Вышка?
Такое решение не проканает?
def next_smaller(num):
import itertools
digits = list(str(num))
permutations = list(itertools.permutations(digits))
permutations = sorted([int(''.join(permutation)) for permutation in permutations])
i_to_select = permutations.index(num) - 1
return permutations[i_to_select] if i_to_select >= 0 else -1
перестановки это ⚰️
а где финальный этап?
Здравствуйте. Подскажите как осваивали профессию?
Учился. Выйдет отдельное видео про это
Здравствуйте. Было ли финальное собеседование?
Было, но попросили не выкладывать. Выйдет в приватном доступе.
Откуда взяты задачки? Есть ссылки на литкод или подобную платформу с именно этой задачей? Спасибо.
Думаю, в основном с литкода. Саму задачу не нашел(
@@gernar228кстати а как ты учился ,на дату ?на курсы или сам нашел материал ?
Офигеть какие требования в российских компаниях 😮
Рекомендации были потому что вакансия на рекомендательные системы?
Да, но в Яндексе в целом их почти всегда спрашивают, тк они везде есть
Голос у вьюера просто треш, респект, что выдержал его
не стремно выкладывать? Разве это не приватная инфа?
Не приватная, не боюсь
@@gernar228 думаю жопа в сбере у кого-то подгорит и прибегут к тебе с этим (работал в сбере 3+ года)
Здача 2
На чиле решил за 10 минут (что вообще не быстро уже), но на собесе бы просто насрал в штаны от стресса
def decompose(n):
s = str(n)
digits = [i for i in s]
return digits
def next_smaller(n):
digits_init = decompose(n)
i = n
while i > 0:
i -= 1
digits_next = decompose(i)
check = [s for s in digits_init if s not in digits_next]
if len(check) == 0:
break
return i
А лол, потестил, не катит, ну вот я и тут уже обосрался
ты пытался
Прочитала ваш комментарий и кажется я передумала начинать учиться в Айти сфере
@@valerierfolg1112
А меня наоборот этот фэйл вдохновил отвлечься от вылизывания картинок в ноутбуках и почитать про алгоритмы, потусить на литкоде.
Кстати, в этой задаче, кажется, нужно найти все варианты перестановок цифр в числе и среди получившихся найти ближайшее слева к данному.
@@СырноБаказадача решается довольно просто за линию - в плюсах уже готовая есть prev_permutation
идея такая - мы хотим сделать изменения в минимальном суфииксе. Если суффикс нестрого возрастает, то его уменьшить нельзя никак - найдем первую позицию с конца, где монотонность нарушается
1237079 - максим возрастающий суффикс это 079, значит будем менять только 7079, а 123 останется
7 в начале 7079 мы должны заменить на что-то меньшее, причем, чем больше, чем лучше - заменим на наибольшее число, строго меньшее данного
7079 -> 0779 заметим, что при этом 779 будет нестрого убывать (если монотонность нарушена, выбрали неправильное число на замену 7), значит, чтоб получить максимальное число из него, надо реверснуть
итого
1237079 -> 123 (7) 079 -> 123 (0) 779 -> 123 (0) 977 -> 1230977
еще пример
15236 -> 1 (5) 236 -> 1 (3) 256 -> 1 (3) 652 -> 13652
не захочу 😁😁😁😁
Звук плохой(
в последних роликах исправил
live coddng - сразу мимо, это как правило говорит о тупости и не готовности к диалогу интервьюэра. Таких сразу надо в игнор
Такие же вопросы на джуна JS разработчика с зп 15т.р
JS джунам стоит задуматься
а это на позицию Джуна собес?
нет
Ребята 300 это сейчас всего лишь 3000 баксов. Это три нормальных телевизора. Это зарплата солдата с сво. Не снижайте планку,
Вот именно! Очень хорошо если нас будет много, а то недавно проходил собеседование, спрашивали как на 300+, а в итоге сказали у нас на этой позиции максимум 110🤣
Плюс ребята с региона!!!! Не соглашайтесь на зп меньше! Сейчас стоимость всех товаров и услуг (в т.ч квартиры, машины) иксанули. И когда говорят, сколько бы вы хотели получать в регионе? Да какая разница регион или не регион! Сейчас все и везде одинаково дорого!
Ребята готовы получать меньше солдата сво в три раза, лишь бы живыми быть. Вот поэтому и получаем снижение планки.
Привет) это мидл?!)
привет, да
Интересно в какое подразделение собесился.
Что-то многовато 300к для мидла. Сам работаю ds в Сбере на 10 грейде
Если такие собеседования на Джуна, то дайте мне миддла, простейшие задания:(
это не на джуна) мне оффер 250к сделали после этого собеса
@@gernar228это много или мало для вашего уровня знаний? Это рубли? (Для меня я так поняла вы очень хорошо разбираетесь в айти)
Вторая задача решается просто реверсом цифр в числе?
Простой реверс не подходит, для примера 1009. По моему лучший вариант, разбиение на цифры -> построение всех комбинаций -> поиск нужного.
Слушать тяжело. Ибо ты говоришь тихо, а твой собеседник громко. И ты либо глохнешь при перескакивание на него, либо ничего не слышишь, когда говоришь ты. Надо как-то уравновесить громкость :(
звук галимый
Сразу видно что человек рос во времена Ельцина "Я устал, я ухожу"))
Это жесть 😂 Требования джуна. Что они там напрограммирубт 😂
Типо очень легко?
Ты бы лайвкоде все это сделал без проблем?
@@bogdanns2 я на ютубе штук 20 разных мок интервью ДС смотрел. И под каждым видео находится васян, которому легко и изи. Такому васяну изи только мелочь в пятерочке на кассе считать, чтобы пачку примы взять.
😂😂😂😂😂 ПХАХАХАХ
Это видео для подростков?)
Да уже видно , кто помогает Бакстерам чистить карманы рабочего класса
Самое ужасное что после таких видео когда люди массово на тренировались проходить собесы они приходят на работу и ничего не могут делать. Спасибо что помогаеие людям войти в айти)))
Таких элементарно отсеять на собесе, а если собеседующий не способен это сделать, то это проблема компании, а тот кто прошел - молодец
@@cardmaster6915 на это требуется дополнительное время, а это ценный ресурс. Да многое дополнительными вопросами отсеятся, но есть индивиды которые уже сотый раз проходят на собесы и уже более менее подготовлены отвечать на разные вопросы, а на практике не знаю ничего. Жаль потерянного времени.
Так пусть проверяют на собесах сможет человек выполнять рабочие задачи или нет)
Это невозможно понять плюс это дело компании. Плюс я лучше найму джуна из универа, который знает математику и питон слабо знает дата сайенс, чем чела после курсов, который знает про модели из курсов и может делать базовые вещи, но не знает математики. Тк первый через пару месяцев догонит второго(скорее всего), а второй при всем желании не сможет исключить логические фейлы ввиду слабой мат базы @@gernar228
@@gernar228 лучше бы это сразу и проверяли, а не задачи про кубики или еще какую-нибудь фигню
хмм я думал сказать "нет не хочу" - это как то грубо.
4:25 решение задачи:
def next_smaller(n):
n = str(n)
j = i = len(n) - 1
while i > 0:
i -= 1
if n[i+1] < n[i]:
if i == 0 and n[-1] == '0':
return -1 # исключили случай с n = 30, 500, и т.д
while True:
if n[j] < n[i]:
if j != len(n) - 1:
return int(n[:i] + n[j] + n[i+1:j] + n[i] + n[j+1:])
return int(n[:i] + n[j] + n[i + 1:j] + n[i])
j -= 1
return -1
Codewars, с которого взята задача, показывает фейл даже на пробном тесте. Сорян, ты пытался...
Вот решение, которое проходит: ua-cam.com/video/0PVJ7eGtwG4/v-deo.html