Font size
WorksheetsООПП
Total questions: 21
Worksheet time: 15mins
Какие из утверждений верны для динамической типизации?
Тип переменной определяется во время компиляции
Тип определяется во время выполнения
Позволяет легко менять тип переменной на лету
Часто требует дополнительных проверок во время исполнения
Строгая статическая типизация устраняет все возможные ошибки типов ещё до запуска программы.
Правда
Не правда
Какие утверждения верны для статической строгой типизации?
Ошибки типов обнаруживаются во время исполнения
Ошибки типов обнаруживаются на этапе компиляции
Компилятор не позволяет неявно приводить несовместимые типы
Всегда даёт более высокую скорость выполнения, чем динамическая типизация
Какая структура данных даёт O(1) доступ к любому элементу по индексу?
Статический массив
Односвязный список
Двусвязный список
Хэш-таблица
В JavaScript запись f(...arr) разворачивает массив arr в отдельные аргументов.
Как называется этот оператор?
(a)
Какие способы передачи аргументов распространены в языках программирования?
По значению
По ссылке
По указателю
Через глобальные переменные
Если функция в JavaScript возвращает объект, то создаётся его копия
Да
Нет
Что делает функцию высшего порядка?
Работает только с числами высшего порядка
Принимает другую функцию как аргумент
Возвращает новую функцию
Всегда ускоряет выполнение кода
Какие преимущества стрелочных функций
Короче синтаксис
Лексическое связывание this
Полная замена функций-конструкторов
Автоматическая оптимизация компилятором
Что верно про замыкания?
Сохраняют доступ к внешним переменным после завершения внешней функции
Освобождают память сразу после выхода из функции
Всегда создают новый объект при каждом вызове
Позволяют инкапсулировать «приватные» данные
Для чего обычно используют декораторы в Python?
Логирование вызовов функций
Проверка прав доступа
Сжатие бинарных данных
Замена интерпретатора
Какие свойства имеет абстрактный класс?
Не может быть инстанцирован напрямую
Всегда должен содержать хотя бы один конкретный метод
Может задавать шаблон обязательных методов
Обеспечивает множественное наследование
Какие плюсы у трейтов (например, в PHP, Rust)?
Позволяют разделить реализацию без иерархий
Всегда быстрее наследования
Устранение дублирования кода
Работают только с примитивами
«Основная проблема трейтов — «алмазный» конфликт при композиции нескольких частей.»
Да
Нет
Интерфейс описывает только (a) методов, без их реализации.
Что является критерием чистой функции?
Всегда возвращает одинаковый результат при одних входах
Не имеет побочных эффектов
Может менять глобальные переменные
Использует yield
Генератор позволяет функции приостанавливать исполнение и возвращать несколько значений подряд
Да
Нет
Чем итератор отличается от генератора?
Итератор реализует методы iter/__next__ вручную
Генератор создаётся через yield
Итератор всегда ленивый, генератор — нет
Генератор хранит всё в памяти
Почему RegExp так популярны?
Позволяют компактно описать сложные шаблоны
Поддерживаются во всех основных языках
Легко читаются новичками
Автоматически генерируются IDE
Назовите самый популярный формат сериализации.
(a)
Какие преимущества даёт использование геттеров/сеттеров?
Возможность валидации при присвоении
Локализация логики доступа к полю
Автоматическое ускорение доступа
Позволяют менять реализацию без изменения интерфейса
