Viktor
я, конечно, в FAANG не пробовался, но что-то сомневаюсь, что формат будет таким же
Почему? Ровно такой формат и есть. вайтбординги, секция систем-дизайн, и секция с EM-ом.
Viktor
Расскажи, плз, что у тебя было в Минском офисе 🙂
Viktor
То, что попалась одна и та же задача, ну это косяк, конечно.
Uladzimir
давно дело было 🙂 да там ничего особенного, если честно, по крайней мере, когда в германию собеведовался, были поинтереснее вопросы. Порядок могу немного путать, сумбурно все было; мне выделили день в яндексе, взяли за руку, привели в комнатушку, дали воду и сказали ждать 1) прилетает один товарищ в мыле, говорит, что опоздал, что у нас осталось 45 минут, что я должен ему debounce и throttle накидать 2) с горем пополам уложился, улетает, ведут в другую комнатушку, подключаются из москвы, наверное. что-то про опыт, паттерны спрашивали, базовые вопросы, возможно, что-по софт скилам. связь виснет периодически, настраивали тоже минут 15 интерком, сумбур в общем 3) потом ведут к третьему товарищу уже из какой-то команды, говорит: пиши мне throttle, я объясняю, что писал уже на первой секции (вот дурак же ), дают что-то там уже более приближенное к реальной задаче по поиску, с горем пополам укладываюсь 4) ведут в большую комнату к какому-то большому бородатому дядьке из москвы по скайпу уже (вроде как из serp). говорит: делай мне компонент рейтинг из 5 звездочек, чтобы можно было state задать и без JS - тут провал, с подсказками кое-как сделал 5) уже конкретно с каким-то менеджером общался, исключетельно про софт скилы и интерес к проекту ===================================== немного погодя сказали, что слишком много денег я хочу (как раз рубль российский просел тогда, а в беларуси зп в долларах), сказали с каким-то архитектором созвониться по скайпу еще, чтобы решить. ну я созвонился, там хардкор по js, вроде как и сделал, но с es6, а не на прототипах, как хотел собеседующий Итого 1-2 алгоритмические задачи на третьем этапе, ну может была какая-то еще маленькая на первом Но даже близко не такие задачи, как codility в топтал.
Viktor
Да, чё-то не похоже на секции в FAANG. Ну ладно. По-разному бывает. В целом, по больнице, мне кажется в Яндексе нормальные алгоритмические секции.
Viktor
В данном конкретном случае ещё организация всего подкачала.
Viktor
Как ты рассказываешь.
Uladzimir
к решению алгоритмических задач я системно, как вы, не подходил, максимум на codewars решал периодически что-то, но от яндекса ожидал большего 🙂 вспомнил, еще палиндромы надо было в строке найти на каком-то этапе)
Viktor
Ещё надо учитывать, что вся эта история года с 2015 начала формироваться в Яндексе. С приходом нового CTO из Майкрософта. Сейчас он уже уволился, а система окрепла и осталась 🙂
Uladzimir
надо сходить))
Uladzimir
о, раз уж тема про собесы пошла, может быть подскажете, известная ли это задача и куда копать 🙂 Задача про аппарат по обмену монет Есть автомат с номиналами монет (задается, например, 1,2,5,10,20,50) и их количеством (5 штук по 1, 10 по 20 и тп) на вход подается сумма, например, 523, на выходе надо получить ответ: а) можно ли обменять эту сумму на монеты б) если да, выдать эту сумму минимально возможным количеством монет
Uladzimir
я даже гуглил потом эту задачу, но ничего не нашел
Uladzimir
известная?
Viktor
Это стандартная задачка на дпшечку.
Viktor
coin change
Viktor
нет?
Evgeniy
Это задача на динамическое программирование
Uladzimir
coin change обычно, как мне кажется, не дает ограничений по количеству монет
Evgeniy
Дополнительное ограничение просто еще добавили
Uladzimir
Хм, спасибо
Олег
надо сходить))
Такая задача решалась в курсе CS50. Называется cash.
V
гарвардском?
Олег
Да
Порридж В Ко-ливинге
о, раз уж тема про собесы пошла, может быть подскажете, известная ли это задача и куда копать 🙂 Задача про аппарат по обмену монет Есть автомат с номиналами монет (задается, например, 1,2,5,10,20,50) и их количеством (5 штук по 1, 10 по 20 и тп) на вход подается сумма, например, 523, на выходе надо получить ответ: а) можно ли обменять эту сумму на монеты б) если да, выдать эту сумму минимально возможным количеством монет
Порридж В Ко-ливинге
известная?
Порридж В Ко-ливинге
Была такая у меня
Порридж В Ко-ливинге
На стажера
Порридж В Ко-ливинге
А, нет
Порридж В Ко-ливинге
Я нашел её на habr е, решил, написал HRу, мол я хочу еще раз пройти (я еще там решил задач несколько)
Порридж В Ко-ливинге
Она сказала ок, завтраками кормили месяц
Evgeniy
https://leetcode.com/problems/coin-change/discuss/616570/C-simple-O(c*n)-time-DP-solution
Порридж В Ко-ливинге
А потом сказала что не хотят брать СТАЖЕРА меня, т.к. у меня репозиторий неопрятный, prettier выключен, и вот эта задачка была не правильно решена
Evgeniy
решил сейчас
Evgeniy
Посмотрите
Evgeniy
Может как-то и упростить можно, с условиями
Uladzimir
На стажера
А в какую контору?)
Порридж В Ко-ливинге
Порридж В Ко-ливинге
МСК
Порридж В Ко-ливинге
Я
Это Яндекс если что
Порридж В Ко-ливинге
Без дополнительной памяти 🤔
Evgeniy
Может за константу?
Порридж В Ко-ливинге
Может за константу?
Это и есть константа
Порридж В Ко-ливинге
Я просто думаю как
Evgeniy
Не, без, это без вообще)
Порридж В Ко-ливинге
Evgeniy
используем только ту, что дали
Порридж В Ко-ливинге
Хм
Evgeniy
Например, поиск первого неуникального элемента
Evgeniy
В массиве
Evgeniy
Вообще, по-моему тут от понимания зависит
Порридж В Ко-ливинге
Звучит как вызов
Evgeniy
Стоит уточнять
Uladzimir
https://leetcode.com/problems/coin-change/discuss/616570/C-simple-O(c*n)-time-DP-solution
Я пока нашёл математическую выкладку, попробую по ней, спасибо :)
Viktor
Не, без, это без вообще)
можно, наверное, по разному воспринимать, но я имел в виду за O(1)
Viktor
хотя конкретно в этой задаче ничего кроме пары переменных не нужно, чтобы сделать за O(1) по памяти
Evgeniy
В этой да
Viktor
даже никакие массивы из 26 элементов под символы
Viktor
хотя, как по мне, что 2 переменные завести, что 26. это без дополнительной памяти.
Viktor
другое дело когда оно зависит от размера входа реально
Evgeniy
А как тогда с дополнительной? 🤔
Viktor
А, в этом смысле
Ну да. Типа сделал решение, все норм на ноуте, а потом запускают его в продакшене на относительно больших размерах входа и выясняется, что ему терабайт оперативной памяти нужно. Не ок :-) поэтому и выясняется понимает ли кандидат что он делает когда хэшмапу создаёт или это в его понимании «бесплатно и works on my machine»
Evgeniy
Я в задаче на палиндромы гонял тесты со строкой из тысячи символов "a". При полном переборе все прошло нормально (хоть и 400 с лишним мс показало). А когда отправил решение, то показало TLE. Было неприятно)
Evgeniy
Вот и с памятью так же
Evgeniy
Для этого крайние случаи и нужны...
Порридж В Ко-ливинге
А можно наводку
Порридж В Ко-ливинге
У меня была гениальная идея, все перемножить, а потом посмотреть, что делиться на каждое число возведенное в степень половины размера массива
Порридж В Ко-ливинге
Но на последних претестах не хватало даже long long
Viktor
А мы про какую задачу говорим?
Порридж В Ко-ливинге
Сегодняшнюю
Evgeniy
Там ведь число надо найти
Порридж В Ко-ливинге
Ну, вообще, не правильно немного
Viktor
Сегодняшнюю
на всякий случай уточнил 🙂 там есть так называемый алгоритм Бойера-Мура, если не знать, что он есть догадаться до него может быть довольно сложно.
Порридж В Ко-ливинге
А почему так?
Это не должно на самом деле работать
Evgeniy
Только не для строк, а для голосов)