D. Валера и торговые автоматы
Это задача многорукого бандита: нужно исследовать автоматы и постепенно чаще выбирать успешные. Простой вариант — Thompson sampling; он не гарантирует больше 75% успехов в каждом случайном прогоне.
Читать ответПодготовка к интервью
978 вопросов с собеседований в Яндекс
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, backend, database.
Каталог
Это задача многорукого бандита: нужно исследовать автоматы и постепенно чаще выбирать успешные. Простой вариант — Thompson sampling; он не гарантирует больше 75% успехов в каждом случайном прогоне.
Читать ответВыделите первую попытку каждой пары campaign_id/user_id, усредните её флаг успеха и присоедините агрегат к полному списку кампаний через LEFT JOIN.
Читать ответINNER JOIN вернёт только кампанию 1 со счётчиком 2. LEFT JOIN добавит кампанию 2 со счётчиком 0 при COUNT(m.id), но со счётчиком 1 при COUNT(*).
Читать ответУ двухпроходного решения Product of Array Except Self дополнительная память O(1) без учёта результата. Если считать выходной массив, память O(n).
Читать ответСначала сведите попытки к одной строке на кампанию и пользователя с флагом успеха. Затем присоедините результат к campaigns и посчитайте успешные и неуспешные группы.
Читать ответПоддерживаем скользящее окно с частотами штаммов. Когда различных штаммов становится больше K, сдвигаем левую границу; максимальная длина допустимого окна и есть ответ.
Читать ответВ SQLite можно пронумеровать загрузки через ROW_NUMBER по subscriber_id в порядке loaded_at DESC, id DESC и выбрать строку с номером 2 во внешнем запросе.
Читать ответИспользуем два прохода: сначала записываем произведение элементов слева, затем домножаем на произведение справа. Деление не нужно, нули обрабатываются естественно.
Читать ответПри независимой исправности фейерверков искомая условная вероятность равна 0,432 / (2,3 / 3), то есть приблизительно 0,563 после округления до тысячных.
Читать ответЕсли деление разрешено, можно использовать общее произведение, отдельно обработав нули: без нулей делим на текущий элемент, с одним заполняем только его позицию, с двумя и более возвращаем нули.
Читать ответМассив достижим тогда и только тогда, когда сумма всех положительных падений между соседними элементами не превышает первый элемент. Проверка выполняется за O(n).
Читать ответДля каждого ненулевого цвета исходной картинки вычисляем IoU: совпадения делим на объединение клеток этого цвета. Затем усредняем значения только по цветам оригинала.
Читать ответ