Продвинутый уровень (12 из 15)

<aside> <img src="/icons/calendar-day_gray.svg" alt="/icons/calendar-day_gray.svg" width="40px" />

16 июня 2026

</aside>

<aside> <img src="/icons/clock-alternate_lightgray.svg" alt="/icons/clock-alternate_lightgray.svg" width="40px" />

20 минут

</aside>

  1. Ваше приложение использует гибридный алгоритм сортировки, который переключается между быстрой сортировкой и сортировкой вставками. На больших массивах производительность заметно снизилась. Логи показывают, что переключение происходит чаще, чем ожидалось.

    Какое действие поможет стабилизировать производительность гибридного алгоритма?

  2. Вы разрабатываете систему поиска данных в большом неупорядоченном массиве, где необходимо значительно сократить время поиска.

    Вы определили для себя такие условия:

    1. Использование линейного поиска приводит к временной сложности O(n), что делает его неэффективным для больших объемов данных.
    2. Размер массива составляет 1 миллиард записей, что требует высокой производительности алгоритма.
    3. Среднее время отклика на запрос не должно превышать 1 миллисекунду.

    Какой подход к организации поиска позволит обеспечить лучшую производительность в заданных условиях?

  3. В вашей системе для хранения и обработки больших объемов данных используются динамические массивы. С ростом данных стали очевидны проблемы с производительностью, обусловленные частым перераспределением памяти.

    Что произойдет после перехода на массив с резервированием памяти?

  4. В банковской системе реализован механизм вложенных транзакций с возможностью отмены (undo). Однако в нагрузочном тестировании выявлены проблемы:

    – задержки при отмене вложенных операций; – рост потребления памяти при большом числе параллельных транзакций; – трудности с поддержанием корректного порядка отмены.

    О чем связаны эти проблемы в реализации?

  5. Вам необходимо в реальном времени обрабатывать огромный поток логов, поступающих от нескольких серверов. Для ускорения процесса вы внедрили новый алгоритм фильтрации и предобработки данных.

    В результате оказалось, что:

    1. Система начала использовать избыточный объем оперативной памяти, в разы превышающий расчетные пределы.
    2. Среднее время ответа сервиса выросло настолько, что пользователи стали получать данные с ощутимой задержкой.

    Выберите наиболее вероятное объяснение, почему это произошло.

  6. Ваше приложение обрабатывает миллиарды записей в реальном времени, но система неожиданно начала потреблять больше памяти, чем было рассчитано. Логирование показало, что значительная часть памяти уходит на накладные расходы структуры данных.

    Что наиболее вероятно приводит к повышенному расходу памяти?

  7. Вы реализовали рекурсивную функцию для подсчёта количества маршрутов, по которым складской робот может добраться от точки приёма до точки упаковки. Робот перемещается по сетке из 20 строк и 20 столбцов, двигаясь только вправо или вниз. Алгоритм корректно работает на малых размерах сетки, но при запуске на полном размере программа резко теряет производительность: выполнение занимает очень много времени, хотя объем используемой памяти остается стабильным.

    Почему выполнение алгоритма резко замедляется при увеличении размера сетки, несмотря на стабильное потребление памяти?

  8. В системе автоматической навигации для логистической компании, в которой маршруты грузового транспорта строятся автоматически, граф дорог представлен взвешенным ориентированным графом, а алгоритм расчета оптимальных маршрутов основан на поиске кратчайшего пути. Тестирование выявило две ключевые проблемы:

    – При увеличении числа точек доставки время расчета маршрутов резко возрастает, что приводит к задержкам в системе; – Один и тот же граф при повторном запуске алгоритма дает разные корректные маршруты, но их длина различается, что вызывает колебания времени доставки.

    Примеры расхождений: В первом тесте маршрут от S до T проходит через A → C → E → T. В другом тесте для той же конфигурации графа, но с измененным порядком обработки узлов маршрут изменился на S → B → D → T.

    Какое изменение в алгоритме или структуре графа могло привести к такому поведению?

  9. Вы разрабатываете финансовую систему, которая хранит транзакции пользователей в хеш-таблице для ускорения поиска. Однако при анализе производительности выявлено, что в периоды высокой нагрузки система начинает работать нестабильно. Логи показывают, что некоторые ключи сильно перегружены, а операции поиска стали значительно медленнее.

    Почему увеличилось количество коллизий?

  10. Выберите вариант ответа, в котором перечислены только ключевые метрики, определяющие производительность хеш-таблицы.

  11. Вы разрабатываете алгоритм для поиска минимального количества разрезов строки, необходимых для разбиения ее на палиндромы. Первоначальная версия использует рекурсивный подход, но при длинных строках время выполнения возрастает экспоненциально. Проверка показала, что некоторые подстроки анализируются несколько раз, что приводит к значительным накладным расходам.

    Какой метод поможет уменьшить избыточные вычисления и повысить производительность?

  12. В вашей компании разрабатывается интеллектуальная система распределения грузов по железной дороге, в которой используется граф с динамически изменяющимися тарифами. Некоторые тарифы, например, небольшие скидки на вес маршрута за включение обратного рейса или скидки за остановку на таможенную проверку груза на этой станции, могут иметь отрицательные веса. В тестах ваш алгоритм дал корректные результаты.

    Что изменить, чтобы тесты НЕ дали корректные результаты с отрицательными весами?

  13. При решении задачи о размене суммы с помощью заданных номиналов монет используется динамическое программирование. Результатом работы алгоритма должно быть количество различных способов собрать целевую сумму.

  14. Какой алгоритм используется для построения минимального остовного дерева?

  15. Какой из перечисленных методов целесообразно применять для решения задачи многомерной нелинейной оптимизации, учитывая ограниченность вычислительных ресурсов и отсутствие точного аналитического решения?