В файле собраны ответы к тестам из курса РОСДИСТАНТ / Программирование на Java (Джава) 2 (Тесты 1-9).
В промежуточных тестах - все правильные ответы (смотрите демо-файл).
После покупки Вы получите файл, где будет 141 вопрос с ответами. Верный ответ выделен по тексту.
В демо-файлах представлен пример, как выделены ответы.
Ниже список вопросов, которые представлены в файле.
Также Вы можете посмотреть другие мои готовые работы у меня на странице по ссылке:
Промежуточный тест 1
Вопрос 1
Выберите начальный символ спецификации преобразования.
Выберите один ответ:
‘%’
‘/’
‘.’
‘s’
Вопрос 2
Классы, производные от классов OutputStream или Write, имеют методы с именами … для записи одиночных байтов или массива байтов.
Выберите один ответ:
read()
write()
print()
println()
Вопрос 3
К методам входных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 4
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 5
Для чего используется OutputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Вопрос 6
Объект System.err представляет собой
Выберите один ответ:
стандартный поток ввода (клавиатура)
стандартный поток вывода (дисплей)
стандартный поток для вывода ошибок
стандартный поток для входа в систему
Вопрос 7
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 8
Для чего используется класс InputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Вопрос 9
Что представляют собой буферизованные потоки?
Выберите один ответ:
Расширение классов фильтруемых потоков
Одну единицу исполнения кода
Потоки, которые каждую секунду прибавляют или вычитают единицы из значения статической переменной Program.mValue
Абстракции, используемые только для чтения
Вопрос 10
С помощью какого метода можно просмотреть содержимое каталога?
Выберите один ответ:
list
mkdir
mkdirs
accept
Вопрос 11
К методам входных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 12
Дан код. Какое действие описывает код?
Выберите один ответ:
Запись текста в файл
Чтение текста из файла
Считывание в промежуточный буфер из массива символов
Запись в промежуточный буфер из массива символов
Вопрос 13
К методам выходных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 14
Что представляет собой класс Writer?
Выберите один ответ:
Абстрактный класс, описывающий символьный ввод
Абстрактный класс, описывающий символьный вывод
Абстрактный класс, определяющий потоковый байтовый вывод
Абстрактный класс, определяющий потоковый байтовый ввод
Вопрос 15
Для создания объектов класса File можно использовать следующие конструкторы (2 варианта ответа):
Выберите один или несколько ответов:
File(File dir, String name)
File(String path)
File(String dir, String name)
File(uri)
Вопрос 16
Что может быть источником в работе InputStream для представления классов, которые производят ввод?
Выберите один или несколько ответов:
Массив байтов
Каталог
Объект Integer
Internet-соединение
Вопрос 17
К методам выходных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 18
Чтобы выполнить запись в файл, необходимо сконструировать объект
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Промежуточный тест 2
Вопрос 1
Что представляет собой поток (Stream)?
Выберите один ответ:
Абстрактное значение источника или приёмника данных, которые способны обрабатывать информацию
Файл или каталог, которые можно использовать для создания объекта
Абстракция, используемая только для чтения
Абстракция, используемая только для записи файлов
Вопрос 2
Какой класс является родительским для входных символьных потоков?
Выберите один ответ:
Reader
Writer
BufferedWriter
CharArrayReader
Вопрос 3
Какой класс реализует символьный поток из строки?
Выберите один ответ:
StringReader
StringWriter
PtintWriter
FileReader
Вопрос 4
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С типизированными
С нетипизированными
С условными
Параллельного доступа
Вопрос 5
Для чтения данных из файла необходимо сконструировать объект … из объекта File.
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Вопрос 6
Какой класс описывает буферизированный входной символьный поток?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Вопрос 7
Управляющие потоком классы
Выберите один или несколько ответов:
получают в своих конструкторах уже имеющийся поток
создают новый, преобразованный поток
преобразовывают входной байтовый поток в выходной символьный поток
преобразовывают выходной символьный поток во входной байтовый поток
Вопрос 8
Какой английский термин соответствует понятию «поток ввода-вывода»?
Выберите один ответ:
stream
thread
pipe
process
Вопрос 9
Соотнесите термины и их значение.
Writer
Reader
InputStream
OutputStream
• Выходной байтовый поток
• Выходной символьный поток
• Входной байтовый поток
• Входной символьный поток
Вопрос 10
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 11
Выберите ложные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Вопрос 12
Выберите верные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Вопрос 13
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С условными
С безусловными
Последовательного доступа
Произвольного доступа
Вопрос 14
Какой класс позволяет вставлять символы обратно в поток?
Выберите один ответ:
FilterReader
PushbackReader
LineNumberReader
CharArrayReader
Вопрос 15
Какой класс является родительским для иерархии классов выходных символьных потоков?
Выберите один ответ:
Writer
BufferedWriter
Reader
BufferedReader
Вопрос 16
Какой поток ввода-вывода описывает класс Reader?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Вопрос 17
Какой поток ввода-вывода описывает класс InputStream?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Вопрос 18
Какой класс предназначен для буферизованного чтения массива символов?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Промежуточный тест 3
Вопрос 1
Что выполняет данный код?
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, используя байтовые потоки
Произойдет ошибка компиляции
Вопрос 2
Сопоставьте наименование потока ввода-вывода и его назначение.
SequenceInputStream
PipedInputStream
PushbackInputStream
ObjectInputStream
• Считывает бинарное представление объекта, выполняя десериализацию объекта
• Служит для организации чтения байтов из одной вычислительной нити в другую
• Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
• Позволяет вернуть байт в поток или не читать уже считанные байты
Вопрос 3
Что выполняет метод reset(), определенный в потоках ввода-вывода?
Выберите один ответ:
Проверяет готовность потока
Закрывает поток и освобождает системный ресурс
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Вопрос 4
С помощью какого оператора можно организовать работу с потоками ввода-вывода, при которой поток безопасно АВТОМАТИЧЕСКИ закрывается?
Выберите один ответ:
try with resource
try ... cath
case
foreach
Вопрос 5
Выберите назначение класса FileDescriptor.
Выберите один ответ:
Представляет путь к файлу в платформенно-независимом виде, а также служит для получения информации о файле или каталоге
Создает платформенно-независимый дескриптор, представляющий открытый файл, сокет или другой источник или приемник байтов
Реализует чтение и запись в файл с произвольным доступом
Разбирает входной символьный поток на лексемы
Вопрос 6
Что выполняет метод availiable(), определенный в потоках ввода-вывода?
Выберите один ответ:
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Маркирует текущую позицию
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Вопрос 7
Сопоставьте наименование потока ввода-вывода и его назначение.
PushbackReader
CharArrayReader
LineNumberReader
FilterReader
• Реализует буферизованный ввод строк символов, который отслеживает номера строк
• Абстрактный класс для чтения символов с возможностью их фильтрации или замены
• Предназначен для буферизованного чтения массива символов
• Класс, реализующий возможность вставлять символы обратно в поток
Вопрос 8
Сопоставьте наименование потока ввода-вывода и его назначение.
BufferedWriter
OutputStreamWriter
CharArrayWriter
FilterWriter
• Реализует мост между символьным и байтовым выходным потоками
• Записывает символы в массив
• Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
• Передает символы в поток, выполняя буферизацию
Вопрос 9
Какой класс записывает символы в массив?
Выберите один ответ:
Writer
BufferedWriter
FilterWriter
CharArrayWriter
Вопрос 10
Сопоставьте название метода потока ввода-вывода и его назначение.
markSupported()
mark()
skip()
availiable()
• Пропускает заданное количество символов или байтов во входном потоке
• Маркирует текущую позицию
• Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
• Проверяет поддержку маркировки
Вопрос 11
Сопоставьте наименование потока ввода-вывода и его назначение.
PipedOutputStream
DataOutputStream
PrintStream
ObjectOutputStream
• Служит для организации передачи байтов из одной вычислительной нити в другую
• Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
• Позволяет записывать примитивные типы данных Java в выходной поток
• Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Вопрос 12
Какой метод закрывает поток, освобождая заблокированный ресурс?
Выберите один ответ:
ready()
close()
reset()
skip()
Вопрос 13
Какой метод возвращает количество байтов, которое может быть считано или пропущено в байтовом потоке ввода-вывода?
Выберите один ответ:
skip()
mark()
markSupported()
availiable()
Вопрос 14
Какой класс реализует мост между символьным и байтовым выходным потоками?
Выберите один ответ:
OutputStreamWriter
InputStreamReader
FilterWriter
FilterReader
Вопрос 15
Какой класс преобразует объект в символьный поток?
Выберите один ответ:
OutputStreamWriter
StringWriter
PrintWriter
CharArrayWriter
Вопрос 16
Выберите задачи, которые могут решаться с применением классов и интерфейсов, входящих в технологию Java IO.
Выберите один или несколько ответов:
Работа с файлами
Чтение-запись в/из массивов
Организация вычислительных потоков (threads)
Блокировка вычислительных нитей на условной переменной
Вопрос 17
Сопоставьте наименование потока ввода-вывода и его назначение.
InputStream
OutputStream
ByteArrayInputStream
FileInputStream
• Производит считывание в поток массива байтов
• Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
• Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
• Создает байтовый поток, который считывается из файла
Промежуточный тест 4
Вопрос 1
Если метод класса необходимо выполнить в критической секции, то он объявляется через ключевое слово
Выберите один ответ:
synchronized
sync
parallel
absrtract
Вопрос 2
Единица вычислительной работы, имеющая собственный стек и представляющая собой поток команд, называется
Выберите один или несколько ответов:
потоком
процессом
thread
stream
Вопрос 3
Если в программе запланировано несколько потоков выполнения, то она называется
Выберите один ответ:
последовательной
параллельной
рекуррентной
многопользовательской
Вопрос 4
Какие потоки называют потоками-демонами?
Выберите один ответ:
Поток-демон не связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Потоки-демоны – это потоки, имеющие статический метод
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон уничтожается
Вопрос 5
Если для реализации взаимодействия один процесс посылает другому сообщение, то такое взаимодействие называется
Выберите один ответ:
разделяемыми переменными
пересылкой сообщений
электронной почтой
очередью сообщений
Вопрос 6
Вычислительные потоки в Java
Выберите один ответ:
реализуются как экземпляры класса Thread
реализуются как экземпляры класса System
реализуются как экземпляры класса Process
реализуются как экземпляры класса Runnable
Вопрос 7
Как можно создать поток?
Выберите один или несколько ответов:
Через реализацию интерфейса Runnable
Через наследование от класса Thread
Через реализацию интерфейса Thread
Через наследование от класса System
Вопрос 8
Что необходимо для программирования взаимодействия процессов?
Выберите один ответ:
Синхронизация вычислительных процессов
Среда разработки
Компилятор
Оркестровка BPMN-процессов
Вопрос 9
Выберите правильные утверждения.
Выберите один или несколько ответов:
Потоки выполнения в Java могут иметь приоритет
Потоки выполнения в Java не имеют приоритета
Потоку с большим приоритетом отдается большее предпочтение, чем потоку с меньшим приоритетом
Потоки не могут быть демонами
Вопрос 10
Выберите правильный фрагмент кода для определения метода класса, выполняемого в критической секции.
Выберите один ответ:
synchronized (this) {};
synchronized lock1 {};
synchronized void foo() {};
void synchronized foo() {};
Вопрос 11
Выберите правильные утверждения.
Выберите один или несколько ответов:
В потоке как минимум один процесс
В процессе как минимум один поток
В процессе может быть несколько потоков
В процессе ровно один поток
Промежуточный тест 5
Вопрос 1
Классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Вопрос 2
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Synchronizers
Concurrent Collections
I/O Sreams
Runnable
Вопрос 3
Выберите правильные утверждения.
Выберите один или несколько ответов:
Объекты, массивы и статические поля всегда размещаются в куче
Объекты, массивы и статические поля могут разделяться между потоками
Локальные переменные не являются потокобезопасными
Фактические параметры методов не являются потокобезопасными
Вопрос 4
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Loks
I/O Sreams
Monitors
Вопрос 5
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в куче
Фактические параметры методов всегда размещаются в стеке
Данные обработчика ошибок всегда размещаются в куче
Вопрос 6
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Synchronizers
Threads
Runnable
Вопрос 7
Метод notify() используется
Выберите один ответ:
для остановки процесса на мониторе класса
для остановки процесса на барьере
для запуска одного ожидаемого на мониторе процесса
для программирования активного ожидания
Вопрос 8
Для реализации условной синхронизации в Java применяется
Выберите один ответ:
ключевое слово synchronized
ключевое слово volatile
связка методов wait(), notify()
связка методов waitAll(), notify()
Вопрос 9
Выберите правильный фрагмент кода для определения оператора, выполняемого в критической секции.
Выберите один или несколько ответов:
synchronized (this) {};
synchronized (lock1) {};
synchronized void foo() {};
void synchronized foo() {};
Вопрос 10
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Concurrent Collections
Loks
Threads
Happens before
Промежуточный тест 6
Вопрос 1
Метод Future.isDone() используется
Выберите один ответ:
для получения результатов асинхронных вычислений
для проверки готовности результата асинхронных вычислений
для получения результатов синхронных вычислений
для проверки готовности результата синхронных вычислений
Вопрос 2
Выберите правильные утверждения.
Выберите один или несколько ответов:
Интерфейс Future может использоваться для представления результата вычислений другим потоком
Интерфейс Future может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable может использоваться для представления результата вычислений другим потоком
Интерфейс Callable может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Вопрос 3
Concurrent Collections – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
Вопрос 4
Queues – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов для поддержки lock-free программирования с атомарными переменными
Вопрос 5
Интерфейс Callable объявляет метод
Выберите один ответ:
run()
call()
start()
join()
Вопрос 6
Что выполняет метод run() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Вопрос 7
Atomic – это
Выберите один ответ:
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
набор классов для поддержки lock-free программирования с атомарными переменными
Вопрос 8
Выберите правильные утверждения.
Выберите один ответ:
Executors имеют механизм получения данных из потоков
Executors не имеют механизма получения данных из потоков
Executors позволяют определить готовность результата асинхронных вычислений в потоке
Executors позволяют определить готовность результата синхронных вычислений в потоке
Вопрос 9
Для получения результатов асинхронных вычислений интерфейс Future объявляет метод
Выберите один ответ:
get()
isDone()
call()
return()
Вопрос 10
Выберите правильное утверждение.
Выберите один или несколько ответов:
В последовательной программе – один поток выполнения
В параллельной программе – несколько потоков выполнения
Программа становится параллельной при использовании ветвлений
В параллельной программе – один поток выполнения
Вопрос 11
Что выполняет метод yield() класса Thread?
Выберите один ответ:
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Вопрос 12
Набор классов для поддержки lock-free программирования с атомарными переменными – это
Выберите один ответ:
Queues
Concurrent Collections
Loks
Atomic
Вопрос 13
Для программирования многопоточной задачи, способной возвращать результат, применяется
Выберите один ответ:
интерфейс Callable
класс Callable
класс Thread
интерфейс Runable
Промежуточный тест 7
Вопрос 1
Какие операции на Java не требуют синхронизации?
Выберите один или несколько ответов:
Чтение-запись значения int
Чтение-запись значения float
Инкремент
Чтение-запись long
Чтение-запись double
Вопрос 2
Какой примитив синхронизации реализован в языке программирования Java?
Выберите один ответ:
Мьютекс
Семафор
Монитор
Указатель
Вопрос 3
Если один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Вопрос 4
Выберите правильные последовательности применения методов wait() и notify()/notifyAll().
Выберите один или несколько ответов:
wait() – notify()
wait() – notifyAll()
notify() – wait()
notify() – notifyAll()
Вопрос 5
Какая ситуация в параллельном программировании соответствует понятию «динамическая блокировка / Live Lock»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Вопрос 6
Какой метод класса Thread указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Вопрос 7
Какая ситуация в параллельном программировании соответствует понятию «голодание/Starvation»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Вопрос 8
Если два или более вычислительных потока ожидают освобождения общего ресурса, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Вопрос 9
Что выполняет приведенный фрагмент кода?
try {
Thread.sleep((1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
Выберите один ответ:
Приостанавливает текущий вычислительный процесс на 1 секунду
Приостанавливает текущий вычислительный процесс на 1000 секунд
Присоединяет текущий процесс ко второму
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Вопрос 10
Как называется ситуация, когда операции, не являющиеся неделимыми, выполняемые в разных потоках, но воздействующие на одни и те же данные, чередуются?
Выберите один ответ:
Интерференция потоков
Взаимная блокировка
Синхронизация потоков
Голодание
Вопрос 11
Если все изменения, выполненные первым потоком до момента операции A, и изменения, которые повлекла эта операция, видны второму потоку в момент выполнения операции B и после выполнения этой операции, то отношение между операциями А и В называется
Выберите один ответ:
A happens-before B
В happens-before А
А эквивалентна В
A happens-after B
Вопрос 12
Отношение happens-before используется
Выберите один ответ:
для предотвращения ошибок согласованности памяти
для предотвращения ошибок чтения-записи
для реализации задачи «Писатели-читатели»
для создания критических секций
Вопрос 13
Какой метод класса Thread переводит текущий поток в режим сна?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Вопрос 14
Какая ситуация в параллельном программировании соответствует понятию «гонка/Race»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Промежуточный тест 8
Вопрос 1
JDBC – это
Выберите один ответ:
технология платформы Java SE для работы с реляционными базами данных
технология платформы Java SE для работы с NoSQL базами данных
технология платформы Java EE для работы с реляционными базами данных
технология корпорации Microsoft для работы с реляционными базами данных
Вопрос 2
Что выполняет приведенный код?
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
Вопрос 3
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 4
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 5
Выберите код, который удаляет студента с заданным идентификатором.
Выберите один ответ:
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);
...
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Вопрос 6
Выберите код, который выбирает все записи из таблицы 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();
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
Вопрос 7
Какой класс обеспечивает загрузку драйверов и создание новых соединений с базой данных?
Выберите один ответ:
DriverManager
Connection
Statement
ResultSet
Вопрос 8
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 9
Выберите код, который удаляет записи из таблицы 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();
}
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Вопрос 10
Что выполняет приведенный код?
String query = "SELECT ? FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код выдаст ошибку компиляции
Код выдаст ошибку времени выполнения
Вопрос 11
Частично правильный
Баллов: 0,5 из 1,0
Установите соответствие между типами драйверов JDBC.
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данных
Драйверы этого типа реализуют JDBC API как связку с другим API доступа к данным
• 1
• 3
• 4
• 2
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данныхДрайверы этого типа реализуют JDBC API как связку с другим API доступа к данным
Вопрос 12
Сопоставьте класс/интерфейс и его назначение.
Statement
DriverManager
Connection
ResultSet
• Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
• Используется для выполнения статического оператора SQL и возврата полученных результатов
• Определяет характеристики и состояние соединения с БД
• Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Вопрос 13
Что выполняет приведенный код?
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
Вопрос 14
SQL-запрос задан строкой
String query = "UPDATE order SET price = price * ?";
Какой класс/интерфейс необходимо использовать для запуска запроса?
Выберите один ответ:
Statement
PreparedStatement
CallableStatement
Connection
Вопрос 15
Что выполняет приведенный код?
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
Вопрос 16
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 17
Сколько типов драйверов существует в JDBC?
Выберите один ответ:
2
3
4
Сколь угодно много
Вопрос 18
Какие классы и интерфейсы относятся непосредственно к технологии JDBC?
Выберите один или несколько ответов:
Connection
CallableStatement
Stateless
JDBCInputStream
Вопрос 19
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (100, 'D1234', 12)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Вопрос 20
Что выполняет приведенный код?
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
Промежуточный тест 9
Вопрос 1
Какое событие DOM-парсера возвращает последнего потомка данного узла?
Выберите один ответ:
getDocumentElement
getFirstChild
getNextSibling
getAttribute
getLastChild
Вопрос 2
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Атрибуты должны иметь значения в кавычках " "
Атрибуты должны иметь значения в угловых скобках <>
Атрибуты должны иметь значения
Атрибуты не должны иметь значения
Вопрос 3
Какие из приведенных документов являются правильными?
Выберите один или несколько ответов:
<?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>
<!-- 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>
Вопрос 4
Когда возникает событие startDocument?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда DOM-парсер нашел начало документа
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Вопрос 5
Какие действия выполняет следующий код 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-документа
Выводит содержимое комментария
Выводит информацию о найденном элементе
Выводит информацию о завершении элемента
Вопрос 6
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Тег XML заключается в угловые скобки <>
Тег XML заключается в двойные кавычки " "
Существуют открывающие и закрывающие теги
Существуют правильные и неправильные теги
Вопрос 7
Какие парсеры можно использовать для анализа XML-документов произвольного типа (с точки зрения ограничения памяти)?
Выберите один или несколько ответов:
SAX
DOM
StAX
JSON
Вопрос 8
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Документ XML представляет собой древовидную структуру тегов
В документе XML должен быть корневой тег
Документ XML представляет собой произвольную структуру элементов
Элементы, из которых состоит XML-документ, образуют бинарное дерево
Вопрос 9
Что возвращает метод getDocumentElement?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 10
Для чего используются пространства имен в XML?
Выберите один ответ:
Для описания структуры XML-документа
Для описания содержания XML-документа
Для устранения конфликтов имен тегов
Для загрузки XML-документа по указанному в схеме адресу
Вопрос 11
Что возвращает метод getLastChild?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 12
Что такое JAXP (JAVA API for XML Parsing)?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Вопрос 13
Какие существуют схемы описания XML-документов?
Выберите один или несколько ответов:
DTD – Document Type Declaration
XSD – XML Schema Definition Language
DOM – Document Object Model
SAX – Simple API for XML
Вопрос 14
Каково назначение узла Element дерева DOM?
Выберите один ответ:
Представляет элемент XML в исходном документе
Представляет атрибут элемента XML
Представляет содержимое элемента
Представляет весь XML-документ
Вопрос 15
Язык расширяемой разметки, позволяющий представлять структурированный текст в виде дерева тегов, – это
Выберите один ответ:
XML
HTML
UML
ML
Вопрос 16
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Элементы не могут перекрываться
Элементы могут перекрываться
Элементы чувствительны к регистру
Элементы не чувствительны к регистру
Вопрос 17
Что такое SAX – Simple API for XML?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Вопрос 18
Какое событие возникает, если парсер нашел конечный тег?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Вопрос 19
Что возвращает метод getAttribute?
Выберите один ответ:
Значение атрибута с указанным именем
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 20
Если XML-документ полностью удовлетворяет всем правилам XML-форматирования, то такой документ называется
Выберите один ответ:
правильно форматированным – Well-Formed Document
правильным – Valid Document
неправильным – not Valid Document
связанным – Binded Document
Промежуточный тест 1
Вопрос 1
Выберите начальный символ спецификации преобразования.
Выберите один ответ:
‘%’
‘/’
‘.’
‘s’
Вопрос 2
Классы, производные от классов OutputStream или Write, имеют методы с именами … для записи одиночных байтов или массива байтов.
Выберите один ответ:
read()
write()
print()
println()
Вопрос 3
К методам входных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 4
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 5
Для чего используется OutputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Вопрос 6
Объект System.err представляет собой
Выберите один ответ:
стандартный поток ввода (клавиатура)
стандартный поток вывода (дисплей)
стандартный поток для вывода ошибок
стандартный поток для входа в систему
Вопрос 7
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 8
Для чего используется класс InputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Вопрос 9
Что представляют собой буферизованные потоки?
Выберите один ответ:
Расширение классов фильтруемых потоков
Одну единицу исполнения кода
Потоки, которые каждую секунду прибавляют или вычитают единицы из значения статической переменной Program.mValue
Абстракции, используемые только для чтения
Вопрос 10
С помощью какого метода можно просмотреть содержимое каталога?
Выберите один ответ:
list
mkdir
mkdirs
accept
Вопрос 11
К методам входных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 12
Дан код. Какое действие описывает код?
Выберите один ответ:
Запись текста в файл
Чтение текста из файла
Считывание в промежуточный буфер из массива символов
Запись в промежуточный буфер из массива символов
Вопрос 13
К методам выходных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 14
Что представляет собой класс Writer?
Выберите один ответ:
Абстрактный класс, описывающий символьный ввод
Абстрактный класс, описывающий символьный вывод
Абстрактный класс, определяющий потоковый байтовый вывод
Абстрактный класс, определяющий потоковый байтовый ввод
Вопрос 15
Для создания объектов класса File можно использовать следующие конструкторы (2 варианта ответа):
Выберите один или несколько ответов:
File(File dir, String name)
File(String path)
File(String dir, String name)
File(uri)
Вопрос 16
Что может быть источником в работе InputStream для представления классов, которые производят ввод?
Выберите один или несколько ответов:
Массив байтов
Каталог
Объект Integer
Internet-соединение
Вопрос 17
К методам выходных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Вопрос 18
Чтобы выполнить запись в файл, необходимо сконструировать объект
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Промежуточный тест 2
Вопрос 1
Что представляет собой поток (Stream)?
Выберите один ответ:
Абстрактное значение источника или приёмника данных, которые способны обрабатывать информацию
Файл или каталог, которые можно использовать для создания объекта
Абстракция, используемая только для чтения
Абстракция, используемая только для записи файлов
Вопрос 2
Какой класс является родительским для входных символьных потоков?
Выберите один ответ:
Reader
Writer
BufferedWriter
CharArrayReader
Вопрос 3
Какой класс реализует символьный поток из строки?
Выберите один ответ:
StringReader
StringWriter
PtintWriter
FileReader
Вопрос 4
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С типизированными
С нетипизированными
С условными
Параллельного доступа
Вопрос 5
Для чтения данных из файла необходимо сконструировать объект … из объекта File.
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Вопрос 6
Какой класс описывает буферизированный входной символьный поток?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Вопрос 7
Управляющие потоком классы
Выберите один или несколько ответов:
получают в своих конструкторах уже имеющийся поток
создают новый, преобразованный поток
преобразовывают входной байтовый поток в выходной символьный поток
преобразовывают выходной символьный поток во входной байтовый поток
Вопрос 8
Какой английский термин соответствует понятию «поток ввода-вывода»?
Выберите один ответ:
stream
thread
pipe
process
Вопрос 9
Соотнесите термины и их значение.
Writer
Reader
InputStream
OutputStream
• Выходной байтовый поток
• Выходной символьный поток
• Входной байтовый поток
• Входной символьный поток
Вопрос 10
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Вопрос 11
Выберите ложные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Вопрос 12
Выберите верные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Вопрос 13
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С условными
С безусловными
Последовательного доступа
Произвольного доступа
Вопрос 14
Какой класс позволяет вставлять символы обратно в поток?
Выберите один ответ:
FilterReader
PushbackReader
LineNumberReader
CharArrayReader
Вопрос 15
Какой класс является родительским для иерархии классов выходных символьных потоков?
Выберите один ответ:
Writer
BufferedWriter
Reader
BufferedReader
Вопрос 16
Какой поток ввода-вывода описывает класс Reader?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Вопрос 17
Какой поток ввода-вывода описывает класс InputStream?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Вопрос 18
Какой класс предназначен для буферизованного чтения массива символов?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Промежуточный тест 3
Вопрос 1
Что выполняет данный код?
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, используя байтовые потоки
Произойдет ошибка компиляции
Вопрос 2
Сопоставьте наименование потока ввода-вывода и его назначение.
SequenceInputStream
PipedInputStream
PushbackInputStream
ObjectInputStream
• Считывает бинарное представление объекта, выполняя десериализацию объекта
• Служит для организации чтения байтов из одной вычислительной нити в другую
• Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
• Позволяет вернуть байт в поток или не читать уже считанные байты
Вопрос 3
Что выполняет метод reset(), определенный в потоках ввода-вывода?
Выберите один ответ:
Проверяет готовность потока
Закрывает поток и освобождает системный ресурс
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Вопрос 4
С помощью какого оператора можно организовать работу с потоками ввода-вывода, при которой поток безопасно АВТОМАТИЧЕСКИ закрывается?
Выберите один ответ:
try with resource
try ... cath
case
foreach
Вопрос 5
Выберите назначение класса FileDescriptor.
Выберите один ответ:
Представляет путь к файлу в платформенно-независимом виде, а также служит для получения информации о файле или каталоге
Создает платформенно-независимый дескриптор, представляющий открытый файл, сокет или другой источник или приемник байтов
Реализует чтение и запись в файл с произвольным доступом
Разбирает входной символьный поток на лексемы
Вопрос 6
Что выполняет метод availiable(), определенный в потоках ввода-вывода?
Выберите один ответ:
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Маркирует текущую позицию
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Вопрос 7
Сопоставьте наименование потока ввода-вывода и его назначение.
PushbackReader
CharArrayReader
LineNumberReader
FilterReader
• Реализует буферизованный ввод строк символов, который отслеживает номера строк
• Абстрактный класс для чтения символов с возможностью их фильтрации или замены
• Предназначен для буферизованного чтения массива символов
• Класс, реализующий возможность вставлять символы обратно в поток
Вопрос 8
Сопоставьте наименование потока ввода-вывода и его назначение.
BufferedWriter
OutputStreamWriter
CharArrayWriter
FilterWriter
• Реализует мост между символьным и байтовым выходным потоками
• Записывает символы в массив
• Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
• Передает символы в поток, выполняя буферизацию
Вопрос 9
Какой класс записывает символы в массив?
Выберите один ответ:
Writer
BufferedWriter
FilterWriter
CharArrayWriter
Вопрос 10
Сопоставьте название метода потока ввода-вывода и его назначение.
markSupported()
mark()
skip()
availiable()
• Пропускает заданное количество символов или байтов во входном потоке
• Маркирует текущую позицию
• Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
• Проверяет поддержку маркировки
Вопрос 11
Сопоставьте наименование потока ввода-вывода и его назначение.
PipedOutputStream
DataOutputStream
PrintStream
ObjectOutputStream
• Служит для организации передачи байтов из одной вычислительной нити в другую
• Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
• Позволяет записывать примитивные типы данных Java в выходной поток
• Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Вопрос 12
Какой метод закрывает поток, освобождая заблокированный ресурс?
Выберите один ответ:
ready()
close()
reset()
skip()
Вопрос 13
Какой метод возвращает количество байтов, которое может быть считано или пропущено в байтовом потоке ввода-вывода?
Выберите один ответ:
skip()
mark()
markSupported()
availiable()
Вопрос 14
Какой класс реализует мост между символьным и байтовым выходным потоками?
Выберите один ответ:
OutputStreamWriter
InputStreamReader
FilterWriter
FilterReader
Вопрос 15
Какой класс преобразует объект в символьный поток?
Выберите один ответ:
OutputStreamWriter
StringWriter
PrintWriter
CharArrayWriter
Вопрос 16
Выберите задачи, которые могут решаться с применением классов и интерфейсов, входящих в технологию Java IO.
Выберите один или несколько ответов:
Работа с файлами
Чтение-запись в/из массивов
Организация вычислительных потоков (threads)
Блокировка вычислительных нитей на условной переменной
Вопрос 17
Сопоставьте наименование потока ввода-вывода и его назначение.
InputStream
OutputStream
ByteArrayInputStream
FileInputStream
• Производит считывание в поток массива байтов
• Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
• Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
• Создает байтовый поток, который считывается из файла
Промежуточный тест 4
Вопрос 1
Если метод класса необходимо выполнить в критической секции, то он объявляется через ключевое слово
Выберите один ответ:
synchronized
sync
parallel
absrtract
Вопрос 2
Единица вычислительной работы, имеющая собственный стек и представляющая собой поток команд, называется
Выберите один или несколько ответов:
потоком
процессом
thread
stream
Вопрос 3
Если в программе запланировано несколько потоков выполнения, то она называется
Выберите один ответ:
последовательной
параллельной
рекуррентной
многопользовательской
Вопрос 4
Какие потоки называют потоками-демонами?
Выберите один ответ:
Поток-демон не связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Потоки-демоны – это потоки, имеющие статический метод
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон уничтожается
Вопрос 5
Если для реализации взаимодействия один процесс посылает другому сообщение, то такое взаимодействие называется
Выберите один ответ:
разделяемыми переменными
пересылкой сообщений
электронной почтой
очередью сообщений
Вопрос 6
Вычислительные потоки в Java
Выберите один ответ:
реализуются как экземпляры класса Thread
реализуются как экземпляры класса System
реализуются как экземпляры класса Process
реализуются как экземпляры класса Runnable
Вопрос 7
Как можно создать поток?
Выберите один или несколько ответов:
Через реализацию интерфейса Runnable
Через наследование от класса Thread
Через реализацию интерфейса Thread
Через наследование от класса System
Вопрос 8
Что необходимо для программирования взаимодействия процессов?
Выберите один ответ:
Синхронизация вычислительных процессов
Среда разработки
Компилятор
Оркестровка BPMN-процессов
Вопрос 9
Выберите правильные утверждения.
Выберите один или несколько ответов:
Потоки выполнения в Java могут иметь приоритет
Потоки выполнения в Java не имеют приоритета
Потоку с большим приоритетом отдается большее предпочтение, чем потоку с меньшим приоритетом
Потоки не могут быть демонами
Вопрос 10
Выберите правильный фрагмент кода для определения метода класса, выполняемого в критической секции.
Выберите один ответ:
synchronized (this) {};
synchronized lock1 {};
synchronized void foo() {};
void synchronized foo() {};
Вопрос 11
Выберите правильные утверждения.
Выберите один или несколько ответов:
В потоке как минимум один процесс
В процессе как минимум один поток
В процессе может быть несколько потоков
В процессе ровно один поток
Промежуточный тест 5
Вопрос 1
Классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Вопрос 2
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Synchronizers
Concurrent Collections
I/O Sreams
Runnable
Вопрос 3
Выберите правильные утверждения.
Выберите один или несколько ответов:
Объекты, массивы и статические поля всегда размещаются в куче
Объекты, массивы и статические поля могут разделяться между потоками
Локальные переменные не являются потокобезопасными
Фактические параметры методов не являются потокобезопасными
Вопрос 4
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Loks
I/O Sreams
Monitors
Вопрос 5
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в куче
Фактические параметры методов всегда размещаются в стеке
Данные обработчика ошибок всегда размещаются в куче
Вопрос 6
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Synchronizers
Threads
Runnable
Вопрос 7
Метод notify() используется
Выберите один ответ:
для остановки процесса на мониторе класса
для остановки процесса на барьере
для запуска одного ожидаемого на мониторе процесса
для программирования активного ожидания
Вопрос 8
Для реализации условной синхронизации в Java применяется
Выберите один ответ:
ключевое слово synchronized
ключевое слово volatile
связка методов wait(), notify()
связка методов waitAll(), notify()
Вопрос 9
Выберите правильный фрагмент кода для определения оператора, выполняемого в критической секции.
Выберите один или несколько ответов:
synchronized (this) {};
synchronized (lock1) {};
synchronized void foo() {};
void synchronized foo() {};
Вопрос 10
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Concurrent Collections
Loks
Threads
Happens before
Промежуточный тест 6
Вопрос 1
Метод Future.isDone() используется
Выберите один ответ:
для получения результатов асинхронных вычислений
для проверки готовности результата асинхронных вычислений
для получения результатов синхронных вычислений
для проверки готовности результата синхронных вычислений
Вопрос 2
Выберите правильные утверждения.
Выберите один или несколько ответов:
Интерфейс Future может использоваться для представления результата вычислений другим потоком
Интерфейс Future может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable может использоваться для представления результата вычислений другим потоком
Интерфейс Callable может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Вопрос 3
Concurrent Collections – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
Вопрос 4
Queues – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов для поддержки lock-free программирования с атомарными переменными
Вопрос 5
Интерфейс Callable объявляет метод
Выберите один ответ:
run()
call()
start()
join()
Вопрос 6
Что выполняет метод run() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Вопрос 7
Atomic – это
Выберите один ответ:
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
набор классов для поддержки lock-free программирования с атомарными переменными
Вопрос 8
Выберите правильные утверждения.
Выберите один ответ:
Executors имеют механизм получения данных из потоков
Executors не имеют механизма получения данных из потоков
Executors позволяют определить готовность результата асинхронных вычислений в потоке
Executors позволяют определить готовность результата синхронных вычислений в потоке
Вопрос 9
Для получения результатов асинхронных вычислений интерфейс Future объявляет метод
Выберите один ответ:
get()
isDone()
call()
return()
Вопрос 10
Выберите правильное утверждение.
Выберите один или несколько ответов:
В последовательной программе – один поток выполнения
В параллельной программе – несколько потоков выполнения
Программа становится параллельной при использовании ветвлений
В параллельной программе – один поток выполнения
Вопрос 11
Что выполняет метод yield() класса Thread?
Выберите один ответ:
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Вопрос 12
Набор классов для поддержки lock-free программирования с атомарными переменными – это
Выберите один ответ:
Queues
Concurrent Collections
Loks
Atomic
Вопрос 13
Для программирования многопоточной задачи, способной возвращать результат, применяется
Выберите один ответ:
интерфейс Callable
класс Callable
класс Thread
интерфейс Runable
Промежуточный тест 7
Вопрос 1
Какие операции на Java не требуют синхронизации?
Выберите один или несколько ответов:
Чтение-запись значения int
Чтение-запись значения float
Инкремент
Чтение-запись long
Чтение-запись double
Вопрос 2
Какой примитив синхронизации реализован в языке программирования Java?
Выберите один ответ:
Мьютекс
Семафор
Монитор
Указатель
Вопрос 3
Если один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Вопрос 4
Выберите правильные последовательности применения методов wait() и notify()/notifyAll().
Выберите один или несколько ответов:
wait() – notify()
wait() – notifyAll()
notify() – wait()
notify() – notifyAll()
Вопрос 5
Какая ситуация в параллельном программировании соответствует понятию «динамическая блокировка / Live Lock»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Вопрос 6
Какой метод класса Thread указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Вопрос 7
Какая ситуация в параллельном программировании соответствует понятию «голодание/Starvation»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Вопрос 8
Если два или более вычислительных потока ожидают освобождения общего ресурса, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Вопрос 9
Что выполняет приведенный фрагмент кода?
try {
Thread.sleep((1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
Выберите один ответ:
Приостанавливает текущий вычислительный процесс на 1 секунду
Приостанавливает текущий вычислительный процесс на 1000 секунд
Присоединяет текущий процесс ко второму
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Вопрос 10
Как называется ситуация, когда операции, не являющиеся неделимыми, выполняемые в разных потоках, но воздействующие на одни и те же данные, чередуются?
Выберите один ответ:
Интерференция потоков
Взаимная блокировка
Синхронизация потоков
Голодание
Вопрос 11
Если все изменения, выполненные первым потоком до момента операции A, и изменения, которые повлекла эта операция, видны второму потоку в момент выполнения операции B и после выполнения этой операции, то отношение между операциями А и В называется
Выберите один ответ:
A happens-before B
В happens-before А
А эквивалентна В
A happens-after B
Вопрос 12
Отношение happens-before используется
Выберите один ответ:
для предотвращения ошибок согласованности памяти
для предотвращения ошибок чтения-записи
для реализации задачи «Писатели-читатели»
для создания критических секций
Вопрос 13
Какой метод класса Thread переводит текущий поток в режим сна?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Вопрос 14
Какая ситуация в параллельном программировании соответствует понятию «гонка/Race»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Промежуточный тест 8
Вопрос 1
JDBC – это
Выберите один ответ:
технология платформы Java SE для работы с реляционными базами данных
технология платформы Java SE для работы с NoSQL базами данных
технология платформы Java EE для работы с реляционными базами данных
технология корпорации Microsoft для работы с реляционными базами данных
Вопрос 2
Что выполняет приведенный код?
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
Вопрос 3
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 4
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 5
Выберите код, который удаляет студента с заданным идентификатором.
Выберите один ответ:
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);
...
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Вопрос 6
Выберите код, который выбирает все записи из таблицы 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();
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
Вопрос 7
Какой класс обеспечивает загрузку драйверов и создание новых соединений с базой данных?
Выберите один ответ:
DriverManager
Connection
Statement
ResultSet
Вопрос 8
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 9
Выберите код, который удаляет записи из таблицы 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();
}
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Вопрос 10
Что выполняет приведенный код?
String query = "SELECT ? FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код выдаст ошибку компиляции
Код выдаст ошибку времени выполнения
Вопрос 11
Частично правильный
Баллов: 0,5 из 1,0
Установите соответствие между типами драйверов JDBC.
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данных
Драйверы этого типа реализуют JDBC API как связку с другим API доступа к данным
• 1
• 3
• 4
• 2
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данныхДрайверы этого типа реализуют JDBC API как связку с другим API доступа к данным
Вопрос 12
Сопоставьте класс/интерфейс и его назначение.
Statement
DriverManager
Connection
ResultSet
• Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
• Используется для выполнения статического оператора SQL и возврата полученных результатов
• Определяет характеристики и состояние соединения с БД
• Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Вопрос 13
Что выполняет приведенный код?
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
Вопрос 14
SQL-запрос задан строкой
String query = "UPDATE order SET price = price * ?";
Какой класс/интерфейс необходимо использовать для запуска запроса?
Выберите один ответ:
Statement
PreparedStatement
CallableStatement
Connection
Вопрос 15
Что выполняет приведенный код?
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
Вопрос 16
Что выполняет приведенный код?
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 с использованием непараметризированного запроса
Вопрос 17
Сколько типов драйверов существует в JDBC?
Выберите один ответ:
2
3
4
Сколь угодно много
Вопрос 18
Какие классы и интерфейсы относятся непосредственно к технологии JDBC?
Выберите один или несколько ответов:
Connection
CallableStatement
Stateless
JDBCInputStream
Вопрос 19
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (100, 'D1234', 12)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Вопрос 20
Что выполняет приведенный код?
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
Промежуточный тест 9
Вопрос 1
Какое событие DOM-парсера возвращает последнего потомка данного узла?
Выберите один ответ:
getDocumentElement
getFirstChild
getNextSibling
getAttribute
getLastChild
Вопрос 2
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Атрибуты должны иметь значения в кавычках " "
Атрибуты должны иметь значения в угловых скобках <>
Атрибуты должны иметь значения
Атрибуты не должны иметь значения
Вопрос 3
Какие из приведенных документов являются правильными?
Выберите один или несколько ответов:
<?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>
<!-- 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>
Вопрос 4
Когда возникает событие startDocument?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда DOM-парсер нашел начало документа
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Вопрос 5
Какие действия выполняет следующий код 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-документа
Выводит содержимое комментария
Выводит информацию о найденном элементе
Выводит информацию о завершении элемента
Вопрос 6
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Тег XML заключается в угловые скобки <>
Тег XML заключается в двойные кавычки " "
Существуют открывающие и закрывающие теги
Существуют правильные и неправильные теги
Вопрос 7
Какие парсеры можно использовать для анализа XML-документов произвольного типа (с точки зрения ограничения памяти)?
Выберите один или несколько ответов:
SAX
DOM
StAX
JSON
Вопрос 8
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Документ XML представляет собой древовидную структуру тегов
В документе XML должен быть корневой тег
Документ XML представляет собой произвольную структуру элементов
Элементы, из которых состоит XML-документ, образуют бинарное дерево
Вопрос 9
Что возвращает метод getDocumentElement?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 10
Для чего используются пространства имен в XML?
Выберите один ответ:
Для описания структуры XML-документа
Для описания содержания XML-документа
Для устранения конфликтов имен тегов
Для загрузки XML-документа по указанному в схеме адресу
Вопрос 11
Что возвращает метод getLastChild?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 12
Что такое JAXP (JAVA API for XML Parsing)?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Вопрос 13
Какие существуют схемы описания XML-документов?
Выберите один или несколько ответов:
DTD – Document Type Declaration
XSD – XML Schema Definition Language
DOM – Document Object Model
SAX – Simple API for XML
Вопрос 14
Каково назначение узла Element дерева DOM?
Выберите один ответ:
Представляет элемент XML в исходном документе
Представляет атрибут элемента XML
Представляет содержимое элемента
Представляет весь XML-документ
Вопрос 15
Язык расширяемой разметки, позволяющий представлять структурированный текст в виде дерева тегов, – это
Выберите один ответ:
XML
HTML
UML
ML
Вопрос 16
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Элементы не могут перекрываться
Элементы могут перекрываться
Элементы чувствительны к регистру
Элементы не чувствительны к регистру
Вопрос 17
Что такое SAX – Simple API for XML?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Вопрос 18
Какое событие возникает, если парсер нашел конечный тег?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Вопрос 19
Что возвращает метод getAttribute?
Выберите один ответ:
Значение атрибута с указанным именем
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Вопрос 20
Если XML-документ полностью удовлетворяет всем правилам XML-форматирования, то такой документ называется
Выберите один ответ:
правильно форматированным – Well-Formed Document
правильным – Valid Document
неправильным – not Valid Document
связанным – Binded Document