Подборка объединяет вопросы, отмеченные на этапах интервью в ivi. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: frontend, python, mobile.
Начните с ранжирования блоков по релевантности их доступного содержимого и последовательного заполнения с общим Set уже показанных movie_id. После дедупликации ценность блока нужно пересчитывать.
Recall@k отвечает: какую долю всех нужных результатов мы нашли в первых k позициях? MRR отвечает: насколько высоко в среднем находится первый подходящий результат?
Если один API-запрос возвращает N фильмов, QPS этого endpoint равен числу загрузок страниц в секунду, а не умножается автоматически на N. Запросы постеров и внутренние вызовы считаются отдельно.
Оставлять бустинг стоит по результатам сравнения с baseline и альтернативами при нужных ограничениях, а не только потому, что он уже выбран. Без данных эксперимента однозначного ответа нет.
Да, кроме старта воспроизведения нужны длительность просмотра и доля досмотра, но их следует отделять от технического качества плеера. Долгий ролик и короткий нельзя сравнивать одной сырой метрикой.
NDCG@k оценивает порядок ранжирования: релевантные результаты на верхних позициях дают больший вклад. Значение нормируется на идеальную сортировку для того же запроса.
Многократное s += part в цикле может приводить к повторным аллокациям и копированию уже собранного текста. Для больших объёмов используйте strings.Builder или strings.Join.
Опишите желаемые задачи, ответственность и направление развития, связав их с вашим опытом. Разделите то, что хотите продолжать, и то, чему хотите научиться.
Скажите, соответствует ли смешанный стек вашим интересам и опыту, и уточните характер Python-задач. Разработка сервиса и поддержка автотестов требуют разной подготовки.
Укажите реальную локацию и предпочтительный формат, отдельно обозначив допустимые компромиссы. Важно согласовать частоту присутствия и часы взаимодействия.