Font size
Worksheets0706Аттестация
Total questions: 101
Worksheet time: 53mins
Напишите свои ФИО (в формате: Примеров Пример Примерович)
Что является основной характеристикой структурного программирования?
Использование классов и объектов.
Использование глобальных переменных.
Использование goto операторов.
Разбиение программы на модули (функции, процедуры).
Какой управляющей структуры нет в структурном программировании?
Последовательность.
Выбор (ветвление).
Цикл.
Goto.
Какая основная цель структурного программирования?
Уменьшить количество строк кода.
Улучшить читаемость и поддерживаемость кода.
Ускорить выполнение программы.
Использовать только глобальные переменные.
Что такое модуль в структурном программировании?
Блок кода, содержащий goto операторы.
Независимая часть программы (функция, процедура), выполняющая определенную задачу.
Класс, содержащий объекты.
Интерфейс для взаимодействия с пользователем.
Какое преимущество дает модульность?
Упрощение отладки и тестирования.
Повторное использование кода.
Улучшение читаемости.
Все вышеперечисленное.
Какое ключевое слово обычно используется для определения функции (процедуры) в структурном программировании?
class
interface
function, def, sub (в зависимости от языка)
goto
Что такое локальная переменная?
Переменная, доступная из любой точки программы.
Переменная, доступная только внутри модуля (функции, процедуры), где она определена.
Переменная, хранящая адрес в памяти.
Переменная, объявленная в глобальной области видимости.
Какое преимущество дают локальные переменные?
Увеличение скорости выполнения программы.
Предотвращение конфликтов имен переменных.
Упрощение отладки.
Все вышеперечисленное.
Что такое параметр функции?
Переменная, передаваемая в функцию при ее вызове.
Локальная переменная внутри функции.
Глобальная переменная.
Адрес в памяти.
Что такое рекурсия?
Функция, вызывающая саму себя.
Функция, вызывающая другую функцию.
Цикл внутри функции.
Выход из функции.
Что важно учитывать при использовании рекурсии?
Чтобы не было бесконечного цикла вызовов.
Чтобы рекурсия была только хвостовой.
Чтобы глубина рекурсии не превышала лимиты стека.
Все вышеперечисленное.
Что такое побочный эффект (side effect) в функции?
Функция возвращает значение.
Функция не возвращает значение.
Функция изменяет состояние программы вне своей области видимости.
Функция выводит информацию на экран.
Почему рекомендуется избегать функций с побочными эффектами?
Они замедляют выполнение программы.
Они затрудняют отладку и понимание кода.
Они не поддерживаются большинством языков.
Они требуют больше памяти.
Что такое процедура?
Функция, которая возвращает значение.
Функция, которая не возвращает значение.
Класс, содержащий методы.
Интерфейс, определяющий контракт.
Какой тип циклов обычно используется для перебора элементов в массиве?
while
do-while
for
goto
Что такое "нисходящее проектирование" (top-down design)?
Проектирование от частного к общему.
Проектирование от общего к частному, разложение большой задачи на более мелкие подзадачи.
Проектирование с использованием классов и объектов.
Проектирование с использованием goto операторов.
В чем преимущество использования структурных типов данных (массивы, записи)?
Упрощение организации и обработки данных.
Увеличение скорости выполнения программы.
Уменьшение объема кода.
Все вышеперечисленное.
Что такое "псевдокод"?
Код, написанный на вымышленном языке программирования.
Неформальное описание алгоритма, использующее обычный язык и элементы синтаксиса языков программирования.
Код, написанный на языке ассемблера.
Код, написанный на языке машинных кодов.
Для чего используют блок-схемы?
Для написания кода.
Для визуального представления алгоритма.
Для компиляции программы.
Для отладки программы.
Что такое инвариант цикла?
Условие, которое должно быть истинным в начале и конце каждой итерации цикла.
Условие выхода из цикла.
Переменная, изменяющаяся внутри цикла.
Тело цикла.
Что такое "O(n)" (линейная сложность)?
Время выполнения алгоритма не зависит от размера входных данных.
Время выполнения алгоритма растет пропорционально квадрату размера входных данных.
Время выполнения алгоритма растет логарифмически с ростом размера входных данных.
Время выполнения алгоритма растет линейно с ростом размера входных данных.
Что такое "O(1)" (постоянная сложность)?
Время выполнения алгоритма растет линейно с ростом размера входных данных.
Время выполнения алгоритма растет логарифмически с ростом размера входных данных.
Время выполнения алгоритма не зависит от размера входных данных.
Время выполнения алгоритма растет пропорционально квадрату размера входных данных.
Что такое "O(log n)" (логарифмическая сложность)?
Время выполнения алгоритма растет линейно с ростом размера входных данных.
Время выполнения алгоритма растет логарифмически с ростом размера входных данных.
Время выполнения алгоритма не зависит от размера входных данных.
Время выполнения алгоритма растет пропорционально квадрату размера входных данных.
Что такое "O(n^2)" (квадратичная сложность)?
Время выполнения алгоритма растет линейно с ростом размера входных данных.
Время выполнения алгоритма растет логарифмически с ростом размера входных данных.
Время выполнения алгоритма не зависит от размера входных данных.
Время выполнения алгоритма растет пропорционально квадрату размера входных данных.
Какой из перечисленных алгоритмов имеет сложность O(1)?
Поиск элемента в массиве (линейный поиск).
Поиск элемента в отсортированном массиве (бинарный поиск).
Доступ к элементу массива по индексу.
Сортировка массива.
Какой из перечисленных алгоритмов имеет сложность O(n)?
Доступ к элементу массива по индексу.
Поиск элемента в отсортированном массиве (бинарный поиск).
Поиск элемента в массиве (линейный поиск).
Сортировка массива.
Какой из перечисленных алгоритмов имеет сложность O(log n)?
Поиск элемента в массиве (линейный поиск).
Доступ к элементу массива по индексу.
Сортировка массива.
Поиск элемента в отсортированном массиве (бинарный поиск).
Какой из перечисленных алгоритмов имеет сложность O(n^2)?
Сортировка слиянием (Merge Sort).
Быстрая сортировка (Quick Sort).
Сортировка пузырьком (Bubble Sort).
Бинарный поиск.
Что такое "Big O notation"?
Способ точного определения времени выполнения алгоритма.
Способ описания наихудшего случая времени выполнения алгоритма в зависимости от размера входных данных.
Способ описания наилучшего случая времени выполнения алгоритма.
Способ измерения объема памяти, используемого алгоритмом.
Какой алгоритм бинарного поиска?
O(n)
O(1)
O(log n)
O(n^2)
Какая сложность алгоритма линейного поиска в худшем случае?
O(1)
O(log n)
O(n)
O(n log n)
Какая сложность алгоритма быстрой сортировки (QuickSort) в худшем случае?
O(n)
O(n log n)
O(log n)
O(n^2)
Какая сложность алгоритма сортировки слиянием (Merge Sort)?
O(n)
O(n log n)
O(log n)
O(n^2)
Какой алгоритм сортировки считается самым эффективным в среднем случае?
Сортировка пузырьком (Bubble Sort).
Сортировка вставками (Insertion Sort).
Быстрая сортировка (Quick Sort).
Сортировка выбором (Selection Sort).
Как изменится время выполнения алгоритма со сложностью O(n log n), если размер входных данных увеличится вдвое?
Увеличится вдвое.
Увеличится в четыре раза.
Увеличится примерно в два раза, плюс небольшая добавка.
Останется неизменным.
Какой из перечисленных алгоритмов сортировки является самым простым в реализации, но не самым эффективным?
Сортировка слиянием (Merge Sort).
Быстрая сортировка (Quick Sort).
Сортировка пузырьком (Bubble Sort).
Сортировка вставками (Insertion Sort).
Какой алгоритм сортировки работает, последовательно находя минимальный элемент и помещая его в начало списка?
Сортировка слиянием (Merge Sort).
Быстрая сортировка (Quick Sort).
Сортировка пузырьком (Bubble Sort).
Сортировка выбором (Selection Sort).
Какой алгоритм сортировки разделяет массив на подмассивы, рекурсивно сортирует их, а затем объединяет отсортированные подмассивы?
Сортировка слиянием (Merge Sort).
Быстрая сортировка (Quick Sort).
Сортировка пузырьком (Bubble Sort).
Сортировка вставками (Insertion Sort).
Какой алгоритм сортировки выбирает опорный элемент (pivot) и разделяет массив на две части: элементы меньше опорного и элементы больше опорного?
Сортировка слиянием (Merge Sort).
Быстрая сортировка (Quick Sort).
Сортировка пузырьком (Bubble Sort).
Сортировка вставками (Insertion Sort).
Какой алгоритм сортировки хорошо работает на почти отсортированных данных?
Сортировка слиянием (Merge Sort)
Быстрая сортировка (Quick Sort)
Сортировка пузырьком (Bubble Sort)
Сортировка вставками (Insertion Sort)
Какой алгоритм сортировки является стабильным (stable)?
Сортировка выбором (Selection Sort)
Сортировка пузырьком (Bubble Sort)
Быстрая сортировка (Quick Sort)
Все вышеперечисленные
Что означает, что алгоритм сортировки является "стабильным"?
Он всегда быстро сортирует данные.
Он не изменяет порядок элементов с одинаковыми значениями.
Он не требует дополнительной памяти.
Он не изменяет входной массив.
Какой алгоритм сортировки требует дополнительной памяти O(n)?
Сортировка вставками (Insertion Sort)
Сортировка выбором (Selection Sort)
Сортировка пузырьком (Bubble Sort)
Сортировка слиянием (Merge Sort)
Какой алгоритм сортировки является сортировкой "на месте" (in-place)?
Сортировка слиянием (Merge Sort)
Быстрая сортировка (Quick Sort) - обычно in-place, но может требовать дополнительную память для стека рекурсии.
Сортировка подсчетом (Counting Sort)
Сортировка Radix Sort
Что означает, что алгоритм сортировки является "сортировкой на месте"?
Он использует дополнительную память O(n).
Он не требует дополнительной памяти (или требует O(1) дополнительной памяти).
Он изменяет исходный массив.
Он не изменяет исходный массив.
Какой алгоритм сортировки лучше всего подходит для сортировки больших массивов данных на диске (внешняя сортировка)?
Сортировка пузырьком (Bubble Sort)
Сортировка вставками (Insertion Sort)
Сортировка слиянием (Merge Sort)
Быстрая сортировка (Quick Sort)
В каком случае быстрая сортировка (QuickSort) показывает наихудшую производительность?
Когда данные уже отсортированы
Когда данные отсортированы в обратном порядке
Когда опорный элемент всегда выбирается как первый или последний элемент
Все вышеперечисленное
Как можно улучшить производительность быстрой сортировки (QuickSort)?
Выбирать опорный элемент случайным образом
Использовать сортировку вставками для небольших подмассивов
Использовать медиану из трех элементов в качестве опорного
Все вышеперечисленное
Какой алгоритм сортировки подходит для сортировки данных, когда известен диапазон значений элементов (например, целые числа от 0 до 100)?
Сортировка слиянием (Merge Sort)
Быстрая сортировка (Quick Sort)
Сортировка подсчетом (Counting Sort)
Сортировка вставками (Insertion Sort)
Какой алгоритм сортировки сортирует данные поразрядно, начиная с наименее значащего разряда?
Сортировка слиянием (Merge Sort)
Быстрая сортировка (Quick Sort)
Сортировка подсчетом (Counting Sort)
Сортировка Radix Sort
Что такое объект в ООП?
Тип данных, хранящий только числа
Экземпляр класса, имеющий состояние и поведение
Функция, вызываемая из другой функции
Инструкция для компилятора
Что такое класс в ООП?
Экземпляр объекта.
Шаблон или чертеж для создания объектов.
Функция, вызываемая из другой функции.
Глобальная переменная.
Что такое инкапсуляция?
Процесс наследования от базового класса.
Процесс сокрытия внутренней реализации объекта и предоставления контролируемого доступа к данным.
Процесс создания новых объектов.
Процесс удаления объектов.
Что такое наследование?
Процесс сокрытия данных класса.
Процесс создания нескольких объектов одного класса.
Процесс создания нового класса на основе существующего.
Процесс создания интерфейса.
Что такое полиморфизм?
Возможность объектов разных классов реагировать на один и тот же метод по-разному.
Процесс создания нескольких объектов одного класса.
Процесс создания нового класса на основе существующего.
Процесс сокрытия данных класса.
Что такое абстракция?
Упрощение сложной системы, выделение только существенных характеристик.
Создание новых объектов.
Процесс сокрытия данных класса.
Процесс наследования от базового класса.
Какой принцип ООП позволяет повторно использовать код?
Инкапсуляция.
Наследование.
Полиморфизм.
Абстракция.
Какой принцип ООП позволяет создавать гибкий и расширяемый код?
Инкапсуляция.
Наследование.
Полиморфизм.
Абстракция.
Какой принцип ООП помогает скрыть детали реализации и упростить использование объекта?
Инкапсуляция.
Наследование.
Полиморфизм.
Абстракция.
Какой принцип ООП помогает управлять сложностью системы, выделяя только важные детали?
Инкапсуляция.
Наследование.
Полиморфизм.
Абстракция.
Что такое интерфейс в ООП?
Класс, содержащий только реализованные методы.
Класс, от которого нельзя наследоваться.
Контракт, определяющий набор методов, которые класс должен реализовать.
Класс, содержащий только статические методы.
В чем отличие интерфейса от абстрактного класса?
Интерфейс может содержать только абстрактные методы, а абстрактный класс может содержать и реализованные методы.
Абстрактный класс может содержать только абстрактные методы, а интерфейс может содержать и реализованные методы.
Нет никакой разницы.
Интерфейс не может быть реализован классом, а абстрактный класс может быть.
Что такое конструктор класса?
Метод для удаления объекта.
Метод для создания объекта.
Метод для получения информации об объекте.
Метод, вызываемый при завершении работы программы.
Что такое деструктор класса?
Метод для создания объекта.
Метод для удаления объекта и освобождения памяти.
Метод для получения информации об объекте.
Метод, вызываемый при запуске программы.
Что такое метод класса (статический метод)?
Метод, доступный только внутри объекта.
Метод, доступный только внутри класса.
Метод, принадлежащий всем экземплярам класса.
Метод, принадлежащий только одному экземпляру класса.
Что такое SOLID принципы?
Набор принципов для написания простого кода.
Набор принципов для написания быстрого кода.
Набор принципов для написания гибкого, поддерживаемого и расширяемого ООП кода.
Набор принципов для написания короткого кода.
Что означает Single Responsibility Principle?
Каждый класс должен выполнять несколько задач.
Каждый класс должен иметь только одну обязанность.
Классы должны быть открыты для расширения и закрыты для изменения.
Подклассы должны заменять базовые классы без нарушения работы программы.
Что означает Open/Closed Principle?
Классы должны быть открыты для изменения и закрыты для расширения.
Классы должны быть открыты для расширения и закрыты для изменения.
Классы должны зависеть от конкретных реализаций, а не от абстракций.
Интерфейсы должны быть маленькими и специфичными.
Что означает Liskov Substitution Principle?
Подклассы должны нарушать поведение базового класса.
Подклассы должны заменять базовые классы без нарушения работы программы.
Классы должны иметь много обязанностей.
Интерфейсы должны быть большими и общими.
Что означает Interface Segregation Principle?
Интерфейсы должны быть большими и общими.
Интерфейсы должны быть маленькими и специфичными.
Классы не должны реализовывать интерфейсы.
Классы должны знать все методы интерфейсов.
Что означает Dependency Inversion Principle?
а) Высокоуровневые модули должны зависеть от низкоуровневых модулей.
б) Низкоуровневые модули должны зависеть от высокоуровневых модулей.
в) Высокоуровневые и низкоуровневые модули должны зависеть от абстракций.
г) Классы не должны зависеть от других классов.
Что такое композиция в ООП?
а) Наследование от другого класса.
б) Создание нового класса на основе существующего.
в) Включение объектов одного класса в качестве полей другого класса.
г) Создание интерфейса.
Что такое агрегация в ООП?
а) То же самое, что и композиция.
б) Включение объектов одного класса в качестве полей другого класса, но с менее жесткой зависимостью.
в) Наследование от другого класса.
г) Создание интерфейса.
В чем разница между композицией и агрегацией?
а) Композиция подразумевает более сильную связь между классами, чем агрегация.
б) Агрегация подразумевает более сильную связь между классами, чем композиция.
в) Нет никакой разницы.
г) Композиция не поддерживается в ООП.
Что такое паттерн проектирования (design pattern)?
а) Готовое решение для типовой задачи проектирования.
б) Набор правил для написания кода.
в) Метод для компиляции программы.
г) Стандартный синтаксис языка программирования.
Приведите пример порождающего паттерна (creational pattern).
а) Singleton.
б) Factory Method.
в) Observer.
г) Iterator.
Приведите пример структурного паттерна (structural pattern).
а) Singleton.
б) Factory Method.
в) Adapter.
г) Observer.
Приведите пример поведенческого паттерна (behavioral pattern).
а) Singleton.
б) Factory Method.
в) Adapter.
г) Observer.
Что такое SOLID принципы?
Аббревиатура, обозначающая: Simple, Obvious, Logical, Intuitive, Documented.
Набор принципов для создания гибкого и поддерживаемого кода.
Инструмент для автоматической проверки кода.
Просто рекомендации по написанию кода, которые не обязательно соблюдать.
Что такое рефакторинг?
Изменение функциональности программы.
Изменение внутренней структуры кода без изменения внешнего поведения.
Написание комментариев к коду.
Удаление неиспользуемого кода.
Что такое алгоритм?
Компьютерная программа.
Точная последовательность действий, необходимых для решения задачи.
Тип данных.
Управляющая структура.
Что такое переменная?
Константа.
Именованная область памяти, предназначенная для хранения данных.
Функция.
Оператор.
Что такое константа?
Переменная, значение которой может изменяться.
Именованная область памяти, значение которой не может быть изменено после инициализации.
Функция.
Оператор.
Что такое цикл?
Последовательность инструкций, выполняемых один раз.
Последовательность инструкций, выполняемых многократно до выполнения определенного условия.
Условный оператор.
Функция.
Что такое массив?
Тип данных, хранящий только один элемент.
Структура данных, хранящая упорядоченный набор элементов одного типа.
Функция.
Управляющая структура.
Что такое строка (string)?
Тип данных, хранящий только числа.
Тип данных, хранящий последовательность символов.
Тип данных, хранящий логические значения.
Тип данных, хранящий адреса в памяти.
Что такое функция (процедура, метод)?
Тип данных.
Именованный блок кода, выполняющий определенную задачу.
Управляющая структура.
Переменная.
Что такое оператор (operator)?
Функция.
Символ, указывающий на выполнение определенной операции над данными.
Переменная.
Тип данных.
Что такое компилятор?
Программа для редактирования текста.
Программа, преобразующая исходный код программы в машинный код или промежуточный код.
Операционная система.
Программа для отладки кода.
Что такое интерпретатор?
Программа для редактирования текста.
Программа, выполняющая исходный код программы построчно.
Операционная система.
Программа для отладки кода.
Что такое отладка (debugging)?
Процесс написания кода.
Процесс поиска и устранения ошибок в коде.
Процесс компиляции кода.
Процесс выполнения кода.
Что такое IDE (Integrated Development Environment)?
Операционная система.
Набор инструментов для разработки программного обеспечения, включающий редактор кода, компилятор, отладчик и другие инструменты.
Тип данных.
Язык программирования.
Что такое система контроля версий (version control system)?
Программа для редактирования текста.
Система, позволяющая отслеживать изменения в коде и возвращаться к предыдущим версиям.
Компилятор.
Интерпретатор.
Какой самый популярный инструмент для контроля версий?
Word.
Excel.
Git.
PowerPoint.
Что такое "репозиторий" (repository) в Git?
Файл с исходным кодом.
Каталог, содержащий все файлы проекта и историю их изменений.
Временный файл.
Архив с файлами проекта.
Что делает команда git commit?
Отправляет изменения на удаленный сервер.
Сохраняет изменения в локальном репозитории.
Удаляет изменения.
Сравнивает файлы.
Что делает команда git push?
Сохраняет изменения в локальном репозитории.
Отправляет изменения на удаленный сервер.
Скачивает изменения с удаленного сервера.
Создает новую ветку.
Что такое "ветка" (branch) в Git?
Альтернативная версия проекта, позволяющая разрабатывать новые функции независимо от основной ветки.
Место хранения файлов проекта.
Способ скрыть файлы от других разработчиков.
Инструмент для отладки кода.
Что такое "merge" в Git?
Удаление ветки.
Объединение изменений из одной ветки в другую.
Создание новой ветки.
Переименование ветки.
Что такое "pull request"?
Запрос на добавление новой функции в программу.
Запрос на объединение изменений из ветки в основную ветку проекта.
Сообщение об ошибке в программе.
Документация к программе.
