Тольяттинский государственный университет (Росдистант), ТГУ. Программирование на Java (Джава) 2 (8151). Промежуточные тесты. Ответы на вопросы.
Для Росдистант имеются и другие готовые работы. Пишем уникальные работы под заказ. Помогаем с прохождением онлайн-тестов. Пишите, пожалуйста, в личку (Евгений).
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 1-3
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
К методам выходных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Что представляют собой буферизованные потоки?
Выберите один ответ:
Расширение классов фильтруемых потоков
Одну единицу исполнения кода
Потоки, которые каждую секунду прибавляют или вычитают единицы из значения статической переменной Program.mValue
Абстракции, используемые только для чтения
Для чего используется OutputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Дан код. Какое действие описывает код?
Выберите один ответ:
Запись текста в файл
Чтение текста из файла
Считывание в промежуточный буфер из массива символов
Запись в промежуточный буфер из массива символов
Что представляет собой класс Writer?
Выберите один ответ:
Абстрактный класс, описывающий символьный ввод
Абстрактный класс, описывающий символьный вывод
Абстрактный класс, определяющий потоковый байтовый вывод
Абстрактный класс, определяющий потоковый байтовый ввод
Классы, производные от классов OutputStream или Write, имеют методы с именами … для записи одиночных байтов или массива байтов.
Выберите один ответ:
read()
write()
print()
println()
Что может быть источником в работе InputStream для представления классов, которые производят ввод?
Выберите один или несколько ответов:
Массив байтов
Каталог
Объект Integer
Internet-соединение
Чтобы выполнить запись в файл, необходимо сконструировать объект
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
К методам входных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Для создания объектов класса File можно использовать следующие конструкторы (2 варианта ответа):
Выберите один или несколько ответов:
File(File dir, String name)
File(String path)
File(String dir, String name)
File(uri)
Выберите начальный символ спецификации преобразования.
Выберите один ответ:
%
/
.
s
К методам входных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Для чего используется класс InputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
К методам выходных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Объект System.err представляет собой
Выберите один ответ:
стандартный поток ввода (клавиатура)
стандартный поток вывода (дисплей)
стандартный поток для вывода ошибок
стандартный поток для входа в систему
С помощью какого метода можно просмотреть содержимое каталога?
Выберите один ответ:
list
mkdir
mkdirs
accept
Какой класс позволяет вставлять символы обратно в поток?
Выберите один ответ:
FilterReader
PushbackReader
LineNumberReader
CharArrayReader
Какой класс является родительским для входных символьных потоков?
Выберите один ответ:
Reader
Writer
BufferedWriter
CharArrayReader
Какой поток ввода-вывода описывает класс Reader?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Для чтения данных из файла необходимо сконструировать объект … из объекта File.
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Управляющие потоком классы
Выберите один или несколько ответов:
получают в своих конструкторах уже имеющийся поток
создают новый, преобразованный поток
преобразовывают входной байтовый поток в выходной символьный поток
преобразовывают выходной символьный поток во входной байтовый поток
Какой класс описывает буферизированный входной символьный поток?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С условными
С безусловными
Последовательного доступа
Произвольного доступа
Выберите ложные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Какой класс реализует символьный поток из строки?
Выберите один ответ:
StringReader
StringWriter
PtintWriter
FileReader
Какой класс предназначен для буферизованного чтения массива символов?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Какой класс является родительским для иерархии классов выходных символьных потоков?
Выберите один ответ:
Writer
BufferedWriter
Reader
BufferedReader
Соотнесите термины и их значение.
Reader
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
InputStream
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
OutputStream
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
Writer
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Какой английский термин соответствует понятию «поток ввода-вывода»?
Выберите один ответ:
stream
thread
pipe
process
Какой поток ввода-вывода описывает класс InputStream?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С типизированными
С нетипизированными
С условными
Параллельного доступа
Что представляет собой поток (Stream)?
Выберите один ответ:
Абстрактное значение источника или приёмника данных, которые способны обрабатывать информацию
Файл или каталог, которые можно использовать для создания объекта
Абстракция, используемая только для чтения
Абстракция, используемая только для записи файлов
Выберите верные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
С помощью какого оператора можно организовать работу с потоками ввода-вывода, при которой поток безопасно АВТОМАТИЧЕСКИ закрывается?
Выберите один ответ:
try with resource
try ... cath
case
foreach
Сопоставьте название метода потока ввода-вывода и его назначение.
mark()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
availiable()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
markSupported()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
skip()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
Что выполняет метод reset(), определенный в потоках ввода-вывода?
Выберите один ответ:
Проверяет готовность потока
Закрывает поток и освобождает системный ресурс
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Выберите задачи, которые могут решаться с применением классов и интерфейсов, входящих в технологию Java IO.
Выберите один или несколько ответов:
Работа с файлами
Чтение-запись в/из массивов
Организация вычислительных потоков (threads)
Блокировка вычислительных нитей на условной переменной
Какой класс реализует мост между символьным и байтовым выходным потоками?
Выберите один ответ:
OutputStreamWriter
InputStreamReader
FilterWriter
FilterReader
Сопоставьте наименование потока ввода-вывода и его назначение.
PushbackInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
PipedInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
SequenceInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
ObjectInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
Какой класс преобразует объект в символьный поток?
Выберите один ответ:
OutputStreamWriter
StringWriter
PrintWriter
CharArrayWriter
Какой метод возвращает количество байтов, которое может быть считано или пропущено в байтовом потоке ввода-вывода?
Выберите один ответ:
skip()
mark()
markSupported()
availiable()
Какой класс записывает символы в массив?
Выберите один ответ:
Writer
BufferedWriter
FilterWriter
CharArrayWriter
Какой метод закрывает поток, освобождая заблокированный ресурс?
Выберите один ответ:
ready()
close()
reset()
skip()
Сопоставьте наименование потока ввода-вывода и его назначение.
CharArrayReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
LineNumberReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
PushbackReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
FilterReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
Выберите назначение класса FileDescriptor.
Выберите один ответ:
Представляет путь к файлу в платформенно-независимом виде, а также служит для получения информации о файле или каталоге
Создает платформенно-независимый дескриптор, представляющий открытый файл, сокет или другой источник или приемник байтов
Реализует чтение и запись в файл с произвольным доступом
Разбирает входной символьный поток на лексемы
Сопоставьте наименование потока ввода-вывода и его назначение.
PrintStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
DataOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
ObjectOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
PipedOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Что выполняет метод availiable(), определенный в потоках ввода-вывода?
Выберите один ответ:
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Маркирует текущую позицию
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Сопоставьте наименование потока ввода-вывода и его назначение.
OutputStreamWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
CharArrayWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
FilterWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
BufferedWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
Сопоставьте наименование потока ввода-вывода и его назначение.
InputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
ByteArrayInputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
FileInputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
OutputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
Что выполняет данный код?
catch (FileNotFoundException e) {
System.err.println("FIle not found");
} catch (IOException e) {
System.err.println("File closing problems ");
}
Выберите один ответ:
Переписывает содержимое файла in.txt в файл out.txt, используя символьные потоки
Переписывает содержимое файла out.txt в файл in.txt, используя символьные потоки
Переписывает содержимое файла in.txt в файл out.txt, используя байтовые потоки
Произойдет ошибка компиляции
---
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 4-6
Единица вычислительной работы, имеющая собственный стек и представляющая собой поток команд, называется
Выберите один или несколько ответов:
потоком
процессом
thread
stream
Выберите правильные утверждения.
Выберите один или несколько ответов:
В потоке как минимум один процесс
В процессе как минимум один поток
В процессе может быть несколько потоков
В процессе ровно один поток
Если в программе запланировано несколько потоков выполнения, то она называется
Выберите один ответ:
последовательной
параллельной
рекуррентной
многопользовательской
Выберите правильные утверждения.
Выберите один или несколько ответов:
Потоки выполнения в Java могут иметь приоритет
Потоки выполнения в Java не имеют приоритета
Потоку с большим приоритетом отдается большее предпочтение, чем потоку с меньшим приоритетом
Потоки не могут быть демонами
Как можно создать поток?
Выберите один или несколько ответов:
Через реализацию интерфейса Runnable
Через наследование от класса Thread
Через реализацию интерфейса Thread
Через наследование от класса System
Какие потоки называют потоками-демонами?
Выберите один ответ:
Поток-демон не связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Потоки-демоны – это потоки, имеющие статический метод
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон уничтожается
Если для реализации взаимодействия один процесс посылает другому сообщение, то такое взаимодействие называется
Выберите один ответ:
разделяемыми переменными
пересылкой сообщений
электронной почтой
очередью сообщений
Если метод класса необходимо выполнить в критической секции, то он объявляется через ключевое слово
Выберите один ответ:
synchronized
sync
parallel
absrtract
Выберите правильный фрагмент кода для определения метода класса, выполняемого в критической секции.
Выберите один ответ:
synchronized (this) {};
synchronized lock1 {};
synchronized void foo() {};
void synchronized foo() {};
Что необходимо для программирования взаимодействия процессов?
Выберите один ответ:
Синхронизация вычислительных процессов
Среда разработки
Компилятор
Оркестровка BPMN-процессов
Вычислительные потоки в Java
Выберите один ответ:
реализуются как экземпляры класса Thread
реализуются как экземпляры класса System
реализуются как экземпляры класса Process
реализуются как экземпляры класса Runnable
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Loks
I/O Sreams
Monitors
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в куче
Фактические параметры методов всегда размещаются в стеке
Данные обработчика ошибок всегда размещаются в куче
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Concurrent Collections
Loks
Threads
Happens before
Выберите правильный фрагмент кода для определения оператора, выполняемого в критической секции.
Выберите один или несколько ответов:
synchronized (this) {};
synchronized (lock1) {};
synchronized void foo() {};
void synchronized foo() {};
Выберите правильные утверждения.
Выберите один или несколько ответов:
Объекты, массивы и статические поля всегда размещаются в куче
Объекты, массивы и статические поля могут разделяться между потоками
Локальные переменные не являются потокобезопасными
Фактические параметры методов не являются потокобезопасными
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Synchronizers
Concurrent Collections
I/O Sreams
Runnable
Для реализации условной синхронизации в Java применяется
Выберите один ответ:
ключевое слово synchronized
ключевое слово volatile
связка методов wait(), notify()
связка методов waitAll(), notify()
Метод notify() используется
Выберите один ответ:
для остановки процесса на мониторе класса
для остановки процесса на барьере
для запуска одного ожидаемого на мониторе процесса
для программирования активного ожидания
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Synchronizers
Threads
Runnable
Классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Queues – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов для поддержки lock-free программирования с атомарными переменными
Concurrent Collections – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
Atomic – это
Выберите один ответ:
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
набор классов для поддержки lock-free программирования с атомарными переменными
Выберите правильные утверждения.
Выберите один или несколько ответов:
Интерфейс Future может использоваться для представления результата вычислений другим потоком
Интерфейс Future может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable может использоваться для представления результата вычислений другим потоком
Интерфейс Callable может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable объявляет метод
Выберите один ответ:
run()
call()
start()
join()
Набор классов для поддержки lock-free программирования с атомарными переменными – это
Выберите один ответ:
Queues
Concurrent Collections
Loks
Atomic
Выберите правильное утверждение.
Выберите один или несколько ответов:
В последовательной программе – один поток выполнения
В параллельной программе – несколько потоков выполнения
Программа становится параллельной при использовании ветвлений
В параллельной программе – один поток выполнения
Что выполняет метод yield() класса Thread?
Выберите один ответ:
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Для получения результатов асинхронных вычислений интерфейс Future объявляет метод
Выберите один ответ:
get()
isDone()
call()
return()
Метод Future.isDone() используется
Выберите один ответ:
для получения результатов асинхронных вычислений
для проверки готовности результата асинхронных вычислений
для получения результатов синхронных вычислений
для проверки готовности результата синхронных вычислений
Для программирования многопоточной задачи, способной возвращать результат, применяется
Выберите один ответ:
интерфейс Callable
класс Callable
класс Thread
интерфейс Runable
Что выполняет метод run() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Выберите правильные утверждения.
Выберите один ответ:
Executors имеют механизм получения данных из потоков
Executors не имеют механизма получения данных из потоков
Executors позволяют определить готовность результата асинхронных вычислений в потоке
Executors позволяют определить готовность результата синхронных вычислений в потоке
---
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 7-9
Какая ситуация в параллельном программировании соответствует понятию «гонка/Race»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Если два или более вычислительных потока ожидают освобождения общего ресурса, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Какой примитив синхронизации реализован в языке программирования Java?
Выберите один ответ:
Мьютекс
Семафор
Монитор
Указатель
Если все изменения, выполненные первым потоком до момента операции A, и изменения, которые повлекла эта операция, видны второму потоку в момент выполнения операции B и после выполнения этой операции, то отношение между операциями А и В называется
Выберите один ответ:
A happens-before B
В happens-before А
А эквивалентна В
A happens-after B
Какой метод класса Thread указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Как называется ситуация, когда операции, не являющиеся неделимыми, выполняемые в разных потоках, но воздействующие на одни и те же данные, чередуются?
Выберите один ответ:
Интерференция потоков
Взаимная блокировка
Синхронизация потоков
Голодание
Что выполняет приведенный фрагмент кода?
try {
Thread.sleep((1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
Выберите один ответ:
Приостанавливает текущий вычислительный процесс на 1 секунду
Приостанавливает текущий вычислительный процесс на 1000 секунд
Присоединяет текущий процесс ко второму
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Выберите правильные последовательности применения методов wait() и notify()/notifyAll().
Выберите один или несколько ответов:
wait() – notify()
wait() – notifyAll()
notify() – wait()
notify() – notifyAll()
Какая ситуация в параллельном программировании соответствует понятию «динамическая блокировка / Live Lock»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Какая ситуация в параллельном программировании соответствует понятию «голодание/Starvation»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Отношение happens-before используется
Выберите один ответ:
для предотвращения ошибок согласованности памяти
для предотвращения ошибок чтения-записи
для реализации задачи «Писатели-читатели»
для создания критических секций
Если один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Какие операции на Java не требуют синхронизации?
Выберите один или несколько ответов:
Чтение-запись значения int
Чтение-запись значения float
Инкремент
Чтение-запись long
Чтение-запись double
Какой метод класса Thread переводит текущий поток в режим сна?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Что выполняет приведенный код?
String query = "UPDATE student SET group = ? WHERE group = ?" ;
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из заданной группы
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, изменяющий группу oldGroup студентов на новую группу newGroup
Создает запрос, изменяющий у всех студентов группу на новую – newGroup
Драйвер JDBC какого типа напрямую подключается к источнику данных?
Выберите один ответ:
1
2
3
4
Выберите код, который выбирает все записи из таблицы order, у которых значение поля count больше определенного значения.
Выберите один ответ:
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * RFOM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
String query = "UPDATE order SET price = price * ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setFloat(1, ratio);
stmt.executeUpdate();
String query = "SELECT * RFOM order WHERE ((count > ?) AND (data > ?))";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
stmt.setData(2, dataFrom);
ResultSet rs = stmt.executeQuery();
Что выполняет приведенный код?
String query = "UPDATE order SET price = price * ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setFloat(1, 1.1);
stmt.executeUpdate();
}
Выберите один или несколько ответов:
Создает запрос, увеличивающий значение поля price в 1,1 раза у всех записей в таблице order
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, увеличивающий значение поля price на 10 % у всех записей в таблице order
Какой интерфейс расширяет PreparedStatement и используется для выполнения хранимых процедур?
Выберите один ответ:
CallableStatement
PreparedStatement
Statement
ResultSet
Сколько типов драйверов существует в JDBC?
Выберите один ответ:
2
3
4
Сколь угодно много
Выберите код, который удаляет записи из таблицы order с использованием непараметризированного запроса.
Выберите один ответ:
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * RFOM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
String query = "UPDATE order SET price = price * ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setFloat(1, ratio);
stmt.executeUpdate();
String query = "DELETE FROM order WHERE id=1";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
String query = "DELETE FROM order WHERE id = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.executeUpdate();
}
Что выполняет приведенный код?
String query = "SELECT ? FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код выдаст ошибку компиляции
Код выдаст ошибку времени выполнения
Что выполняет приведенный код?
String query = "DELETE FROM order WHERE id = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, удаляющий записи из таблицы order с использованием параметризированного запроса
Создает запрос, удаляющий записи из таблицы order с использованием непараметризированного запроса
Что выполняет приведенный код?
public void insertStudent(String fName, String lName, String group) throws SQLException {
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeQuery();
}
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу student с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу student с использованием непараметризированного запроса
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (100, 'D1234', 12)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Какие классы и интерфейсы относятся непосредственно к технологии JDBC?
Выберите один или несколько ответов:
Connection
CallableStatement
Stateless
JDBCInputStream
JDBC – это
Выберите один ответ:
технология платформы Java SE для работы с реляционными базами данных
технология платформы Java SE для работы с NoSQL базами данных
технология платформы Java EE для работы с реляционными базами данных
технология корпорации Microsoft для работы с реляционными базами данных
Что выполняет приведенный код?
public void insertStudent(String fName, String lName, String group) throws SQLException {
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeUpdate();
}
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу student с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу student с использованием непараметризированного запроса
Что выполняет приведенный код?
public void testUpdate (String oldGroup, String newGroup) throws SQLException {
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(3, newGroup);
stmt.executeQuery();
}
}
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из заданной группы
Код вызовет ошибку времени выполнения
Код вызовет ошибку компиляции
Создает запрос, изменяющий группу oldGroup студентов на новую группу newGroup
Создает запрос, изменяющий у всех студентов группу на новую – newGroup
Сопоставьте класс/интерфейс и его назначение.
Connection
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
DriverManager
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Statement
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
ResultSet
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
· Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
· Используется для выполнения статического оператора SQL и возврата полученных результатов
· Определяет характеристики и состояние соединения с БД
· Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.setString(2, number);
stmt.setLong(3, count);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Что выполняет приведенный код?
String query = "UPDATE order SET price = price * ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.createStatement(query);) {
stmt.setFloat(1, ratio);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, увеличивающий значение поля price в ratio раз у всех записей в таблице order
SQL-запрос задан строкой
String query = "UPDATE order SET price = price * ?";
Какой класс/интерфейс необходимо использовать для запуска запроса?
Выберите один ответ:
Statement
PreparedStatement
CallableStatement
Connection
Выберите код, который удаляет студента с заданным идентификатором.
Выберите один ответ:
String query = "SELECT * FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * FROM student WHERE group = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
...
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
...
String query = "DELETE FROM student WHERE id=101";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Что выполняет приведенный код?
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 100
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 1
Какой класс обеспечивает загрузку драйверов и создание новых соединений с базой данных?
Выберите один ответ:
DriverManager
Connection
Statement
ResultSet
Что выполняет приведенный код?
String query = "SELECT ? FROM student WHERE group = ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код даст ошибку компиляции
Код даст ошибку времени выполнения
Установите соответствие между типами драйверов JDBC.
Драйверы этого типа реализуют JDBC API как связку с другим API доступа к данным
Выберите...
3
2
1
4
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Выберите...
3
2
1
4
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Выберите...
3
2
1
4
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данных
Выберите...
3
2
1
4
· 3
· 2
· 1
· 4
Для чего используются пространства имен в XML?
Выберите один ответ:
Для описания структуры XML-документа
Для описания содержания XML-документа
Для устранения конфликтов имен тегов
Для загрузки XML-документа по указанному в схеме адресу
Какие существуют схемы описания XML-документов?
Выберите один или несколько ответов:
DTD – Document Type Declaration
XSD – XML Schema Definition Language
DOM – Document Object Model
SAX – Simple API for XML
Что такое JAXP (JAVA API for XML Parsing)?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Каково назначение узла Element дерева DOM?
Выберите один ответ:
Представляет элемент XML в исходном документе
Представляет атрибут элемента XML
Представляет содержимое элемента
Представляет весь XML-документ
Что возвращает метод getDocumentElement?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Когда возникает событие endElement?
Выберите один ответ:
Когда SAX-парсер нашел конечный тег
Когда SAX-парсер нашел некоторый текст
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Что выполняет следующий код?
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Выберите один ответ:
Создается фабрика построителей DOM-документов
Создается фабрика DOM-документов
Создается DOM-документ
Построителю DOM-документов дается указание об использовании пространства имен
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Документ XML представляет собой древовидную структуру тегов
В документе XML должен быть корневой тег
Документ XML представляет собой произвольную структуру элементов
Элементы, из которых состоит XML-документ, образуют бинарное дерево
Что такое SAX – Simple API for XML?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Какой узел дерева DOM представляет весь XML-документ?
Выберите один ответ:
Element
Attr
Text
Document
Какое событие DOM-парсера возвращает последнего потомка данного узла?
Выберите один ответ:
getDocumentElement
getFirstChild
getNextSibling
getAttribute
getLastChild
Какие особенности характерны для SAX-парсера?
Выберите один или несколько ответов:
SAX-парсер не строит в памяти дерево XML-документа
SAX-парсер не создает никаких объектов
SAX-парсер строит в памяти дерево XML-документа
SAX-парсер начинает посылать события после прохода всего документа
Какие парсеры можно использовать для анализа XML-документов произвольного типа (с точки зрения ограничения памяти)?
Выберите один или несколько ответов:
SAX
DOM
StAX
JSON
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Элементы не могут перекрываться
Элементы могут перекрываться
Элементы чувствительны к регистру
Элементы не чувствительны к регистру
Если XML-документ полностью удовлетворяет всем правилам XML-форматирования, то такой документ называется
Выберите один ответ:
правильно форматированным – Well-Formed Document
правильным – Valid Document
неправильным – not Valid Document
связанным – Binded Document
Когда возникает событие startDocument?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда DOM-парсер нашел начало документа
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Тег XML заключается в угловые скобки <>
Тег XML заключается в двойные кавычки " "
Существуют открывающие и закрывающие теги
Существуют правильные и неправильные теги
Язык расширяемой разметки, позволяющий представлять структурированный текст в виде дерева тегов, – это
Выберите один ответ:
XML
HTML
UML
ML
Какие из приведенных документов являются правильными?
Выберите один или несколько ответов:
<?xml version="1.0" encoding="UTF-8"?>
<!-- this is comment -->
<items>
<item>
<name>Java</name>
<subject>Programming</subject>
</item>
</items>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<name>Java</name>
<!-- this is comment -->
<subject>Programming</subject>
</item>
</items>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<name>Java</name>
<subject>Programming</subject>
</items>
</item>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
</name>Java<name>
<subject>Programming</subject>
</item>
</items>
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Атрибуты должны иметь значения в кавычках " "
Атрибуты должны иметь значения в угловых скобках <>
Атрибуты должны иметь значения
Атрибуты не должны иметь значения
Какое событие возникает, если парсер нашел конечный тег?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Что возвращает метод getLastChild?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Выберите код, который создает новый построитель DOM-документов.
Выберите один ответ:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("example.xml");
Что возвращает метод getAttribute?
Выберите один ответ:
Значение атрибута с указанным именем
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Какие действия выполняет следующий код SAX-парсера?
public void startElement(String uri, String localName, String qName,
Attributes attributes)
{
System.out.print("startElement() ");
System.out.print("uri=[" + uri + "], ");
System.out.print("localName=[" + localName + "], ");
System.out.println("qName=[" + qName + "]");
for (int i = 0; i < attributes.getLength(); i++)
System.out.println(" Attribute: " + attributes.getLocalName(i) +
", " + attributes.getValue(i));
System.out.println("Column number=[" + locator.getColumnNumber() +
"]");
System.out.println("Line number=[" + locator.getLineNumber() + "]");
}
Выберите один ответ:
Выводит найденный текст элемента на стандартную консоль
Выводит информацию о начале XML-документа
Выводит содержимое комментария
Выводит информацию о найденном элементе
Выводит информацию о завершении элемента