wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ООП3

Total questions: 51

Worksheet time: 28mins

Name
Class
Date
1.

Напишите свои ФИО (в формате: Примеров Пример Примерович)

4 lines
2.

Что такое перегрузка методов?

a)

Изменение поведения унаследованного метода.

b)

Создание нескольких методов с одинаковым именем в одном классе, но с разными параметрами.

c)

Создание абстрактного метода.

d)

Запрет наследования метода.

3.

Какие параметры отличают перегруженные методы друг от друга?

a)

Только тип возвращаемого значения.

b)

Имя метода и тип возвращаемого значения.

c)

Количество и/или типы параметров.

d)

Только имя метода.

4.

Можно ли перегрузить метод, изменив только тип возвращаемого значения?

a)

Да, если язык это поддерживает.

b)

Да, если изменяется количество параметров.

c)

Нет, это вызовет ошибку компиляции.

d)

Только если метод статический.

5.

Что такое конструктор в классе?

a)

Метод для удаления объекта.

b)

Метод для создания объекта.

c)

Метод для получения информации об объекте.

d)

Метод, вызываемый при завершении работы программы.

6.

Что такое деструктор (если он есть в языке)?

a)

Метод для создания объекта.

b)

Метод для удаления объекта и освобождения памяти.

c)

Метод для получения информации об объекте.

d)

Метод, вызываемый при запуске программы.

7.

Что такое атрибут класса (статическая переменная)?

a)

Переменная, доступная только внутри метода.

b)

Переменная, доступная только внутри класса.

c)

Переменная, принадлежащая всем экземплярам класса.

d)

Переменная, принадлежащая только одному экземпляру класса.

8.

Что такое наследование?

a)

Процесс скрытия данных класса.

b)

Процесс создания нескольких объектов одного класса.

c)

Процесс создания нового класса на основе существующего.

d)

Процесс создания интерфейса.

9.

Что такое базовый класс (суперкласс)?

a)

Класс, который наследует от других классов.

b)

Класс, который не может быть унаследован.

c)

Класс, от которого наследуются другие классы.

d)

Класс, содержащий только абстрактные методы.

10.

Что такое производный класс (подкласс)?

a)

Класс, от которого наследуются другие классы.

b)

Класс, наследующий от другого класса.

c)

Класс, содержащий только статические методы.

d)

Класс, который не может быть создан.

11.

Что такое интерфейс?

a)

Класс, содержащий только реализованные методы.

b)

Класс, от которого нельзя наследоваться.

c)

Контракт, определяющий набор методов, которые класс должен реализовать.

d)

Класс, содержащий только статические методы.

12.

Может ли интерфейс содержать поля (атрибуты)?

a)

Да, любые.

b)

Да, но только константы.

c)

Да, но только статические.

d)

Нет, только методы.

13.

Может ли класс реализовывать несколько интерфейсов?

a)

Нет, только один.

b)

Да, если все интерфейсы совместимы.

c)

Да, без ограничений.

d)

Только если интерфейсы не содержат общих методов.

14.

Что происходит при наследовании от абстрактного класса?

a)

Подкласс обязан реализовать все абстрактные методы.

b)

Подкласс не обязан реализовывать абстрактные методы.

c)

Абстрактные методы автоматически удаляются.

d)

Происходит ошибка компиляции.

15.

Можно ли создать экземпляр интерфейса?

a)

Да, всегда.

b)

Да, если реализованы все методы.

c)

Нет, нельзя.

d)

Только если интерфейс пустой.

16.

Что такое структура (struct)?

a)

Класс, содержащий только методы.

b)

Тип данных, объединяющий несколько переменных под одним именем. Обычно используется для представления простых данных.

c)

Интерфейс, определяющий набор методов.

d)

Класс, содержащий только статические методы.

17.

Чем структуры обычно отличаются от классов (в языках, где есть и то, и другое)?

a)

Структуры - ссылочные типы, классы - типы значений.

b)

Структуры - типы значений, классы - ссылочные типы.

c)

Структуры поддерживают наследование, классы - нет.

d)

Структуры не поддерживают методы, классы - поддерживают.

18.

Где обычно хранятся структуры в памяти?

a)

В куче (heap).

b)

В стеке (stack).

c)

В статической памяти.

d)

В произвольном месте памяти.

19.

Что такое делегат?

a)

Класс, содержащий только данные.

b)

Тип, представляющий ссылку на метод.

c)

Интерфейс для создания объектов.

d)

Класс, содержащий только статические методы.

20.

Для чего используются делегаты?

a)

Для хранения данных.

b)

Для передачи методов в качестве аргументов другим методам.

c)

Для создания классов.

d)

Для управления памятью

21.

Что такое мультиделегат?

a)

Делегат, указывающий на несколько классов.

b)

Делегат, указывающий на несколько методов.

c)

Делегат, не указывающий ни на один метод.

d)

Делегат, указывающий на статический метод.

22.

Что такое регулярное выражение?

a)

Код для шифрования данных.

b)

Шаблон для поиска и сопоставления с текстом.

c)

Метод для сортировки данных.

d)

Тип данных для хранения чисел.

23.

Какую функцию выполняет символ . (точка) в регулярном выражении?

a)

Соответствует началу строки.

b)

Соответствует концу строки.

c)

Соответствует любому символу, кроме переноса строки.

d)

Означает повторение предыдущего символа.

24.

Что означает квантификатор * в регулярном выражении?

a)

Ноль или одно вхождение предыдущего символа.

b)

Одно или более вхождений предыдущего символа.

c)

Ноль или более вхождений предыдущего символа.

d)

Ровно одно вхождение предыдущего символа.

25.

Что такое коллекция?

a)

Тип данных для хранения только чисел.

b)

Объект, представляющий собой контейнер для хранения набора объектов.

c)

Метод для сортировки данных.

d)

Класс для работы с файлами.

26.

Какие типы коллекций вы знаете (на примере вашего любимого языка)?

a)

Строки, числа, булевы значения.

b)

Массивы, списки, словари (хеш-таблицы), множества.

c)

Классы, интерфейсы, структуры.

d)

Функции, методы, делегаты.

27.

Чем ArrayList отличается от LinkedList?

a)

ArrayList хранит элементы в связном списке, LinkedList хранит элементы в массиве.

b)

ArrayList быстрее для вставки и удаления элементов в середине, LinkedList быстрее для доступа по индексу.

c)

ArrayList быстрее для доступа по индексу, LinkedList быстрее для вставки и удаления элементов в середине.

d)

Нет никакой разницы.

28.

Что такое параметризированный класс (generic class)?

a)

Класс, принимающий параметры только типа int.

b)

Класс, принимающий параметры только типа string.

c)

Класс, принимающий тип данных в качестве параметра, что позволяет использовать его с разными типами данных.

d)

Класс, не принимающий никаких параметров.

29.

Для чего используются параметризированные классы?

a)

Для уменьшения размера кода.

b)

Для повышения безопасности типов и повторного использования кода.

c)

Для ускорения работы программы.

d)

Для упрощения синтаксиса.

30.

Как объявить параметризированный класс (на примере вашего любимого языка)?

a)

class MyClass { ... } (Java, C#)

b)

class MyClass(T) { ... } (Python - с использованием Type Hints)

c)

template class MyClass { ... } (C++)

d)

Все вышеперечисленные

31.

Что такое указатель?

a)

Переменная, хранящая значение другого типа.

b)

Переменная, хранящая адрес в памяти другой переменной.

c)

Метод для создания объекта.

d)

Тип данных для хранения чисел.

32.

Какие операции можно выполнять с указателями?

a)

Только чтение значения, на которое указывает указатель.

b)

Только запись значения, на которое указывает указатель.

c)

Чтение и запись значения, на которое указывает указатель, а также арифметические операции с самим указателем (изменение адреса).

d)

Только арифметические операции с самим указателем.

33.

Что такое разыменование указателя?

a)

Получение адреса, хранящегося в указателе.

b)

Получение значения, находящегося по адресу, хранящемуся в указателе.

c)

Удаление указателя из памяти.

d)

Создание нового указателя.

34.

Какие основные операции можно выполнять со списками (List)?

a)

Добавление элемента, удаление элемента, поиск элемента, получение элемента по индексу, сортировка.

b)

Только добавление и удаление элемента.

c)

Только поиск и сортировка.

d)

Только получение элемента по индексу.

35.

Что делает операция append() (или add(), в зависимости от языка) со списком?

a)

Добавляет элемент в начало списка.

b)

Добавляет элемент в конец списка.

c)

Удаляет элемент из списка.

d)

Заменяет элемент в списке.

36.

Что делает операция remove() (или delete(), в зависимости от языка) со списком?

a)

Добавляет элемент в список.

b)

Удаляет элемент из списка по значению или индексу.

c)

Сортирует элементы в списке.

d)

Ищет элемент в списке.

37.

Что такое композиция (в контексте ООП)?

a)

Наследование от другого класса.

b)

Создание нового класса на основе существующего.

c)

Включение объектов одного класса в качестве полей другого класса.

d)

Создание интерфейса.

38.

Какая разница между агрегацией и композицией?

a)

Агрегация - это сильная связь, композиция - слабая.

b)

Агрегация - это слабая связь, композиция - сильная.

c)

Агрегация - это отношение "has-a", композиция - отношение "is-a".

d)

Нет никакой разницы.

39.

Что такое шаблон проектирования (design pattern)?

a)

Готовое решение для типовой задачи проектирования, которое можно использовать повторно.

b)

Набор правил для написания кода.

c)

Метод для компиляции программы.

d)

Стандартный синтаксис языка программирования.

40.

Что такое SOLID?

a)

Набор принципов разработки, направленных на создание гибкого и поддерживаемого кода.

b)

Язык программирования.

c)

Среда разработки.

d)

Библиотека для работы с базами данных.

41.

Что означает буква S в SOLID (Single Responsibility Principle)?

a)

Каждый класс должен иметь несколько обязанностей.

b)

Каждый класс должен иметь только одну обязанность.

c)

Класс не должен зависеть от других классов.

d)

Класс долж

42.

Что означает буква S в SOLID (Single Responsibility Principle)?

a)

Каждый класс должен иметь несколько обязанностей.

b)

Каждый класс должен иметь только одну обязанность.

c)

Класс не должен зависеть от других классов.

d)

Класс должен быть открыт для расширения, но закрыт для изменения.

43.

Что означает буква O в SOLID (Open/Closed Principle)?

a)

Класс должен быть закрыт для расширения, но открыт для изменения.

b)

Класс должен быть открыт для расширения, но закрыт для изменения.

c)

Класс должен зависеть от абстракций, а не от конкретных реализаций.

d)

Класс должен иметь только одну обязанность.

44.

Что означает буква L в SOLID (Liskov Substitution Principle)?

a)

Класс должен быть закрыт для расширения.

b)

Подтипы должны быть взаимозаменяемыми со своими базовыми типами без изменения корректности программы.

c)

Класс должен зависеть от конкретных реализаций.

d)

Класс должен иметь только одну обязанность.

45.

Что означает буква I в SOLID (Interface Segregation Principle)?

a)

Клиенты не должны зависеть от методов, которые они не используют.

b)

Клиенты должны зависеть от конкретных реализаций.

c)

Класс должен быть открыт для расширения.

d)

Класс должен иметь только одну обязанность.

46.

Что означает буква D в SOLID (Dependency Inversion Principle)?

a)

Высокоуровневые модули не должны зависеть от низкоуровневых модулей. Оба должны зависеть от абстракций.

b)

Высокоуровневые модули должны зависеть от низкоуровневых модулей.

c)

Клиенты не должны зависеть от методов, которые они не используют.

d)

Класс должен иметь только одну обязанность.

47.

Что такое DI (Dependency Injection)?

a)

Паттерн проектирования, который позволяет внедрять зависимости в класс извне.

b)

Метод компиляции программы.

c)

Способ управления памятью.

d)

Язык программирования.

48.

Что такое IoC (Inversion of Control)?

a)

Фреймворк для разработки веб-приложений.

b)

Паттерн проектирования, в котором управление потоком выполнения программы передается от приложения контейнеру или фреймворку.

c)

Метод оптимизации кода.

d)

Способ управления базой данных.

49.

Что такое UML?

a)

Язык программирования.

b)

Унифицированный язык моделирования, используемый для визуализации, спецификации, конструирования и документирования артефактов программных систем.

c)

Операционная система.

d)

База данных.

50.

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

a)

Диаграмма деятельности.

b)

Диаграмма классов.

c)

Диаграмма состояний.

d)

Диаграмма последовательностей.

51.

Что такое рефакторинг?

a)

Создание нового класса.

b)

Изменение внешнего поведения программы.

c)

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

d)

Компиляция кода.