Главная / Программирование / Углубленное программирование на Java

Углубленное программирование на Java - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: В курсе на примере разработки игрового веб-сервера показаны расширенные возможности языка программирования Java.
Смотрите также:
DAO это:
(1) Data Access Object
(2) Data Analyze Object
(3) Document Analyze Object
(4) Document Access Object
Байт код это:
(1) поток закодированных байтов
(2) код, написанный в кодировке ASCII
(3) исходный код виртуальной Java машины
(4) код после компиляции Java компилятором
Может ли удаление аннотации сломать компиляцию кода?
(1) да
(2) нет
Чтобы отметить на UML диаграмме protected поле или метод, надо использовать:
(1) +
(2) –
(3) #
(4) курсивом
Что НЕ верно для Frontend?
(1) объект, в котором jetty вызывает handle(...) при открытии страниц сервера пользователем
(2) метод run() этого объекта запущен в отдельном потоке
(3) хранит данные пользовательских сессий
(4) может произвести аутентификацию пользователя и найти его id по имени
Отметьте верные утверждения о UserSession:
(1) содержит данные, на основе которых можно построить страницу для пользователя
(2) содержит данные обо всех участниках игровой партии
(3) содержит результаты ранее сыгранных партий
(4) каждый объект GameSession "живет" в своем потоке
Что является признаком паттерна Singleton?
(1) содержит приватное статическое поле типа своего же класса
(2) приватный конструктор
(3) статический метод geInstance(), который возвращает instance класса
(4) статический метод setInstance(Singleton instance), который присваивает полю instance новое значение
При сериализации двух объектов одного класса, у которого не задан serialVersionUID, значение этого идентификатора будет:
(1) различным
(2) одинаковым
(3) одинаковым, только если значения полей объектов равны
Что нужно для начала работы с базой данных Postgres?
(1) написать собственную реализацию интерфейса Driver из JDBC API
(2) найти и подключить драйвер для базы Postgres
(3) найти и подключить Driver Manager
(4) подключить JDBC API
Областью видимости private static int будет:
(1) весь код
(2) только методы класса
(3) только статические методы класса
(4) методы класса и методы наследников класса
Будет ли создана схема в пустой базе при создании SessionFactory?
(1) нет
(2) да, если hbm2ddl.auto = validate
(3) да, если hbm2ddl.auto = update
Вы работаете с объектом типа StudentPersonalDatA. Можно ли вызвать у этого объекта метод toString():
(1) да
(2) только если этот метод переопределен в классе StudentPersonalData
(3) только если этот класс явно унаследован от Object (StudentPersonalData extends Object)
Контейнер, построенный с использованием списка:
(1) ConcurentHashMap
(2) ConcurentSkipListMap
(3) ConcurentSkipListSet
(4) CopyOnWriteArrayList
Задачи DatabaseService:
(1) создание страницы для пользователя
(2) аутентификация пользователя по имени
(3) расчет игровых событий
(4) запросы к базам данных
(5) проверка активности пользователя (удаление сессии не активных пользователей)
(6) обработка (handle(...)) вызовов из Jetty
(7) создание потоков новых
(8) передача сообщений
(9) работа с файловой системой
Код источника события (EventSource) зависит от кода реализации класса-подписчика на события:
(1) да
(2) нет
Для того чтобы исключить поле сериализуемого объекта из процесса сериализации, его надо отметить ключевым словом:
(1) transient
(2) volatile
(3) nonserializable
(4) transistent
(5) final
Как выключить автокоммит в соединении к базе данных?
(1) connection.setAutoCommit(false)
(2) autoCommit.off()
(3) CommitManagement.set(connection, false)
(4) DriverManager.setAutoCommit(false)
Память под примитивные типы JVM отводит в области памяти:
(1) Heap
(2) Stack
Какой тип тестирования проверяет способность системы выдержать требуемую нагрузку?
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
Какое количество байт содержит простой тип данных char?
(1) 1
(2) 2
(3) 4
(4) 8
Нужно ли помечать thread-local объекты словом volatile?
(1) да
(2) нет
Циклические зависимости в Java это:
(1) ссылка класса А на класс В одновременно со ссылкой класса В на класс А
(2) ссылка класса на самого себя
(3) ссылка класса А на класс В одновременно со ссылкой класса В на класс А если классы в разных пакетах
(4) ссылка класса одного пакета на класс другого пакета
(5) ссылка класса первого пакета на класс второго пакета одновременно со ссылкой любого класса из второго пакета на любой класс первого
При использовании одного и того же зерна для псевдослучайного генератора Random в разное время последовательность полученных чисел будет:
(1) разной
(2) одинаковой
Что НЕ является минусом использования reflection:
(1) потеря производительности
(2) не работает в окружении с повышенной безопасностью
(3) разрушение ОО архитектуры
(4) уменьшение защищенности приложения при обработке пользовательских данных
Какой тип запроса НЕ является запросом на update:
(1) create
(2) select
(3) update
(4) insert
Вам нужно создать два класса А и В. Это можно сделать так:
(1) создать файл A.java и поместить оба класса в него
(2) файл с классом А поместить в файл с именем A.java, класс с именем B в B.java
(3) создать 4 файла по одному .java и .h на каждый класс
(4) допустимы первые два варианта
Тест, который проверяет, что два пользователя могут зайти в игру и начать партию в шахматы:
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
Контейнер для доступа к элементу по индексу за константное время:
(1) ArrayList
(2) LinkedList
(3) Set
(4) Map
(5) Queue
Нужно ли опередить private Map<Address, ConcurrentLinkedQueue<Msg>> messages через ConcurrentHashMap?
(1) да, потому что нам нужен доступ к этому объекту из нескольких потоков
(2) нет, потому что мы не добавляем в процессе работы сервера новые абоненты в карту, а чтение безопасно из нескольких потоков
Может ли класс из пакета unils зависеть от пакета base?
(1) да
(2) нет
(3) да, только если у base нет зависимостей от unils
Что плохого в использовании исключений для возврата результата из метода?
(1) потеря производительности
(2) плохо читаемый код
Чтобы сделать объекты класса S сериализуемыми нужно:
(1) S implements Serializable
(2) S implements Writable
(3) S implements Serializable и опеределить в классе S методы read() и write()
Какой термин НЕ имеет отношения к работе с базами данных в Java?
(1) JPA
(2) JIT
(3) JDBC
(4) DAO
(5) ORM
В Java все классы унаследованы от класса:
(1) Object
(2) Main
(3) Java
(4) JVM
(5) утверждение не верно
Что НЕ входит в enum RetentionPolicy?
(1) CLASS
(2) RUNTIME
(3) SOURCE
(4) METHOD
(5) COMPILE
Что НЕ верно для AccountService?
(1) объект, в котором jetty вызывает handle(...) при открытии страниц сервера пользователем
(2) метод run() этого объекта запущен в отдельном потоке
(3) хранит id пользовательских сессий
(4) может произвести аутентификацию пользователя и найти его id по имени
Задачи ResourceSystem:
(1) создание страницы для пользователя
(2) аутентификация пользователя по имени
(3) расчет игровых событий
(4) запросы к базам данных
(5) проверка активности пользователя (удаление сессии не активных пользователей)
(6) обработка (handle(...)) вызовов из Jetty
(7) создание потоков новых
(8) передача сообщений
(9) работа с файловой системой
Чем Singleton отличается от public статического поля?
(1) Singleton имеет "ленивую" инициализацию
(2) Singleton доступен из любого места в коде
(3) получение объекта по ссылке на статическое поле происходит быстрее
(4) может быть создан только один объект типа Singleton
Как Reflection может помочь в тестировании?
(1) можно получить доступ к private полям
(2) можно создавать объекты без вызова конструктора
(3) можно убрать или добавить ключевое слово static
Как создать объект драйвера к базе?
(1) при помощи оператора new
(2) при помощи Reflection и имени класса драйвера
(3) передать имя класса драйвера в DriverManager
В Java есть возможность узнать имена переменных и методов в runtime?
(1) да
(2) нет
(3) только переменных, но не методов
(4) только методов, но не переменных
Вам нужно транзакционно сохранить два датасета в две разные таблицы одной базы. Нужно ли создавать две сессии?
(1) да
(2) нет
Можно ли использовать в коде ThreaD.currentThread().wait()?
(1) да, это остановит выполнение текущего потока до тех пор, пока в другом потоке не будет вызван notify() по ссылке на объект этого треда
(2) да, это остановит выполнение текущего потока до тех пор, пока в другом потоке не будет вызван ThreaD.currentThread().notify()
(3) да, но если вызвать wait() на объекте потока ничего не произойдет
(4) нет, у потока нет метода wait()
ConcurrentLinkedQueue:
(1) потокобезопасный контейнер пар ключ-значение
(2) потокобезопасная очередь
(3) контейнер, который копирует объекты при вставке
Все функции в Java, в которых происходит создание или проброс исключения, должны перечислять эти исключения при определении функции:
(1) да, надо перечислять все
(2) нет, надо перечислять только те исключения, которые унаследованы от Exception;
(3) нет, надо перечислять только те исключения, которые унаследованы от Exception, но не от RuntineException;
(4) нет, надо перечислять только те исключения, которые унаследованы от Throwable;
В чем XML сериализация проигрывает бинарной сериализаци?
(1) скорость сериализации
(2) удобство редактирования
(3) Объем данных после сериализации
Зачем метод execQuery класса Executor принимает в качестве параметра ResultHandler?
(1) это callback, который вызовет JDBC при ассинхронном запросе данных из базы
(2) это callback для обработки с ResultSet, чтобы не писать для каждого запроса свой execQuery
(3) это обработчик sql запроса, который мы передаем в поле query
JRE это:
(1) инструмент для написания программ на Java
(2) JVM + библиотека классов
(3) JVM + компиллятор
(4) JIT + библиотека классов
При каком подходе к тестированию разработчик тестов использует знание внутреннего устройства тестируемого модуля?
(1) "черный ящик"
(2) "белый ящик"
threaD.interrupt():
(1) пошлет прерывание текущему потоку
(2) пошлет прерывание потоку, который представлен объектом thread
(3) остановит выполнение потока, который представлен объектом thread
(4) приведет к исключению InterruptedException в потоке thread
(5) приведет к исключению InterruptedException в потоке thread, только если этот поток спит
Класс Address при реализации системы сообщения нужен:
(1) для того, чтобы идентифицировать получателя и отправителя сообщения
(2) для того, чтобы создать карту, в которой ключ это адрес, а значение - очередь C сообщений для получателя с этим адресом
(3) для того, чтобы передавать адрес пользователя в браузер
(4) для того, чтобы хранить адрес пользователя в AccountService
Анонимные классы это:
(1) классы с одинаковым названием, но расположенные в разных пакетах
(2) классы, объявленные в других классах
(3) классы, декларированные внутри методов и наследующие существующий класс или реализующие интерфейс
SAX парсер отличается от DOM парсера тем, что он:
(1) не создает иерархической структуры в памяти
(2) загружает документ полностью, независимо от того, сколько в действительности необходимо пользователю
(3) менее требователен к ресурсам и занимаемому свободному месту в случае использования больших входящих документов
(4) создает древовидную структуру в памяти из входящего документа и лишь потом ждет запросов от клиента
Чем НЕ является DataSet:
(1) классом, поля которого соответствуют полям таблицы
(2) классом, название которого соответствует названию таблицы
(3) классом, который содержит коннект к базе
JIT это:
(1) just-in-time compiler
(2) java initialization tool
(3) java internal tester
(4) just-in-time interpreter
Метод, проаннотированный @Before, будет запущен:
(1) при запуске каждого метода, аннотированного как @Test
(2) один раз при запуске тестов класса, в котором он написан
(3) один раз перед стартом всех тестов
private volatile int a = 1:
(1) значение переменной будет закэшированно в локальной памяти процессора
(2) значение переменной нельзя кэшировать и надо всегда читать из общей памяти
(3) переменная доступна для потокобезопасного чтения из нескольких потоков одновременно
POSIX time это:
(1) количество секунд которое прошло с 1.01.0000
(2) количество секунд которое прошло с 1.01.1900
(3) количество секунд которое прошло с 1.01.1970
(4) количество миллисекунд которое прошло с 1.01.1960
(5) количество миллисекунд которое прошло с 1.01.1970
(6) количество минут которое прошло с момента взятия Бастилии
Удалит ли GC объект А, если на этот объект стоит обычная (strong) ссылка с объекта B?
(1) нет
(2) да, если на объект А нет прямых ссылок из стека
(3) да, если по ссылкам нельзя попасть из стека на объект А
Deadlock это:
(1) ситуация в runtime, когда два потока ждут друг друга
(2) ситуация в runtime, когда поток захватил lock объект и хочет захватить его снова
(3) ошибка при компиляции, когда непонятно в каком порядке собирать модули
(4) ситуация в runtime, когда два потока одновременно меняют значение переменной и это приводит к потере результата
У нас есть абстрактный класс А. Конструктор класса D, который реализует паттерн Декоратор для класса А:
(1) конструктор без параметров
(2) конструктор с параметром типа А
(3) конструктор с параметром типа D
Имена классов и методов в Java должны быть не длиннее 32 символов?
(1) да
(2) нет
(3) да, но в 64 разрядных компьютерах можно 64 символа
В Java можно создать свои классы и свои методы, зависящие от шаблонного типа?
(1) да
(2) нет
(3) Только классы
(4) Только методы
Чтобы закрыть все потоки, созданные для чтения данных из файла, нужно в списке декорирующих потоков вызвать close() у:
(1) первого потока
(2) последнего потока
(3) все равно какого потока
В примитивные типы в Java НЕ входят:
(1) int
(2) long
(3) string
(4) short
(5) enum
(6) array
Отметьте верные утверждения о потоках:
(1) каждое запущенное приложение это как минимум один поток
(2) у всех потоков одного приложения общая Heap память
(3) у всех потоков одного приложения общий Stack
(4) каждое приложение - это строго один поток
(5) потоки могут взаимодействовать только через Inter Process Communication ресурсы
(6) потоки могут порождать другие потоки и взаимодействовать с ними
JDK это:
(1) инструмент для написания программ на Java
(2) JVM + библиотека классов
(3) JVM + компилятор
(4) JIT + библиотека классов
(5) JRE + компилятор
Библиотека Hibernate реализует:
(1) Java Persistency API
(2) Java Database Connectivity API
Сборщик мусора это:
(1) часть перекомпайлера Java, который расставляет операторы delete
(2) часть JVM, которая удаляет объекты, на которые нет ссылок
(3) часть JVM, которая удаляет объекты, по ссылкам на которые нельзя дойти до стека
(4) часть JVM, которая удаляет переменные на стеке, которые вышли за область видимости
Аннотация @Deprecated на методе класса означает:
(1) что в методе есть ошибка
(2) что метод устарел и его больше не поддерживают
(3) что этот метод нельзя использовать
Класс Class это:
(1) тип данных, который представляет другие классы
(2) тип данных, объекты которого содержат данные о классах в runtime
(3) общий предок всех библиотечных классов
(4) общий предок всех классов в Java
Контейнер, который копирует объекты при вставке:
(1) ConcurentHashMap
(2) ConcurentSkipListMap
(3) ConcurentSkipListSet
(4) CopyOnWriteArrayList
Чем опасны циклические зависимости?
(1) не определен порядок сборки пакетов
(2) не определен порядок создания объектов в runtime
(3) нарушения работы GC
Паттерн Context основан на использовании следующего контейнера:
(1) List
(2) Set
(3) Map
(4) Queue
Интерфейс Serializable, который реализуют классы всех сериализуемых объектов, пуст (в нем нет ни одного метода). Как Java понимает, что именно надо сериализовать в объекте и как это нужно сериализовывать?
(1) структуру класса объекта и значения его полей можно получить в runtime при помощи Reflection
(2) поля, которые надо сериализовать, отмечены ключевым словом transient
(3) все классы сериализуемых объектов переопределяют метод write(), унаследованный от Object. Serializable нужен только, чтобы указать, что объект можно сериализовать
Что нужно, чтобы переключить приложение с использования одной базы на другую?
(1) переписать sql запросы
(2) обновить драйвер базы
(3) подключить к приложению драйвер новой базы и зарегистрировать его в DriverManager
(4) передать в DriverManager новые параметры подключения
Чтобы выйти из while(true){…} нужно:
(1) использовать break
(2) использовать cancel
(3) не использовать continue
(4) использовать stopwhile
Какой тип тестирования проверяет взаимодействие модулей?
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
Вам надо записать число в тип данных int. При записи каких чисел произойдет переполнение типа?
(1) 3 000 000;
(2) 1 000 000 000
(3) 3 000 000 000
(4) 10 000 000 000
ConcurrentHashMap – это карта, в которой все методы synchronized?
(1) да
(2) нет
Задачи MessageSystem:
(1) создание страницы для пользователя
(2) аутентификация пользователя по имени
(3) расчет игровых событий
(4) запросы к базам данных
(5) проверка активности пользователя (удаление сессии не активных пользователей)
(6) обработка (handle(...)) вызовов из Jetty
(7) создание потоков новых
(8) передача сообщений
(9) работа с файловой системой
Вам нужно передать в библиотеку свой метод (чтобы при наступлении некоторого события, библиотека могла его вызвать) в Java это можно сделать при помощи:
(1) ссылки на функцию
(2) использования делегатов
(3) реализации библиотечного интерфейса и передачи объекта реализации в библиотеку
Будет ли сериализовано статическое поле?
(1) да
(2) нет
(3) да, если его отметить ключевым словом transient
Как получить объект Connection к базе?
(1) спросить у DriverManager по строке с URL соединения
(2) спросить у драйвера базы, при помощи статических методов класса Connection
Объект типа String будет создан в области памяти:
(1) Heap
(2) Stack
Какой тип тестирования проверяет поведение системы при экстремальной нагрузке?
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
(4) ни один из выше перечисленных
Какое из приведенных ниже утверждений неверно?
(1) шаблоны позволяют задать тип данных контейнера при создании контейнера
(2) шаблоны позволяют задать тип данных контейнера в runtime
(3) шаблоны позволяют типизировать параметры функций и находить ошибки во время компиляции
(4) на шаблонах построена часть стандартной библиотеки Java, которая работает с контейнерами
Класс Msg:
(1) абстрактный класс - предок всех сообщений
(2) интерфейс, который должны реализовывать все сообщения
(3) инстанцируемый класс, содержащий данные сообщения
Отметьте плюсы разделения класса на интерфейс и реализацию:
(1) о конкретном типе реализации интерфейса знает только тот код, который создает объект реализации;
(2) можно поместить интерфейсы в общий пакет и разрешить циклические зависимости;
(3) быстрее и эффективнее проходит сборка мусора;
(4) меньше зависимостей между модулями, библиотеки могут предоставлять "наружу" только интерфейсы и фабрики;
(5) скорость работы приложения растет так как можно хранить ссылки на интерфейсы
Если date = new Date(), спросить date.getTime() и запомнить результат, а потом через 2 секунды еще раз спросить date.getTime() результаты измерений будут:
(1) совпадать
(2) отличаться строго на 2 секунды
(3) отличаться примерно на 2 секунды
После вызова fielD.setAccessible(true):
(1) к полю класса можно будет обращаться как к public полю при написании кода
(2) к полю класса можно будет обращаться как к public при помощи reflection в runtime
Вы получили результат на ваш запрос - объект resultSet, в котором 3 колонки и 3 строки. Как получить доступ к полю, записанному в центре таблицы?
(1) resultSet .next(); resultSet next(); resultSet.getObject(1);
(2) resultSet .next(); resultSet next(); resultSet.getObject(2);
(3) resultSet next(); resultSet.getObject(2);
(4) resultSet next(); resultSet.getObject(1);
Классы в Java собраны в:
(1) namespaces
(2) groups
(3) packages
(4) directories
Аннотацией нельзя отметить:
(1) переменную класса
(2) метод класса
(3) локальную переменную
(4) параметр функции
(5) импорт (import) класса
Контейнер для поиска элемента по ключу:
(1) ArrayList
(2) LinkedList
(3) Set
(4) Map
(5) Queue
Временная диаграмма это:
(1) диаграмма с описанием взаимодействия потоков или процессов во времени
(2) диаграмма временных зависимостей классов в иерархии наследования
(3) диаграмма временных зависимостей модулей приложения
Может ли, согласно диаграмме зависимостей, класс из пакета unils зависеть от класса пакета base?
(1) да
(2) нет
(3) да, только если у base нет зависимостей от unils
(new Date()).getTime() вернет:
(1) количество секунд которое прошло с 1.01.1900
(2) количество миллисекунд которое прошло с 1.01.1900
(3) количество секунд которое прошло с 1.01.1970
(4) количество миллисекунд которое прошло с 1.01.1970
Если при создании класса сериализуемых объектов не указать serialVersionUID, он будет посчитан на основе:
(1) хэш функции от класса
(2) хэш функции от объекта
(3) текущего времени
(4) времени создания класса
Драйвер базы данных:
(1) часть стандартной библиотеки Java
(2) внешняя библиотека
Чтобы освободить память, которую занимает объект, надо вызвать:
(1) System.gc()
(2) delete
(3) close()
(4) finalize()
(5) нет возможности проконтролировать освобождение памяти
Для записи значения полей объекта вы используете ORM библиотеку. В библиотеке есть метод save(?). Что нужно передать в метод save?
(1) объект
(2) значения полей и sql запрос
(3) значения полей, и имя таблицы
FIFO контейнер:
(1) ArrayList
(2) LinkedList
(3) Set
(4) Map
(5) Queue
В плюсы многопоточного решения для аутентификации пользователя НЕ входит:
(1) масштабирование (возможность создать несколько AccountService)
(2) малое время ожидание ответа пользователем
(3) синхронное взаимодействие Frontend и AccountService
(4) эффективное использование потоков библиотеки jetty
(5) возможность независимой коллективной разработки
Отметьте верные утверждения о GameSession:
(1) содержит данные на основе которых можно построить страницу для пользователя
(2) содержит данные обо всех участниках игровой партии
(3) содержит результаты ранее сыгранных партий
(4) каждый объект GameSession "живет" в своем потоке
Что позволяет делать паттерн Context?
(1) хранить несколько объектов по одному интерфейсу
(2) проверять, что служба в единственном экземпляре, даже если служба не singleton
(3) создавать только те объекты, которые нужны процессу
(4) не создавать функцию с большим количеством параметров
Как получить объект типа Class для примитивного типа int?
(1) int.class
(2) int.getClass()
(3) Class.for(int)
Какие классы НЕ являются интерфейсами запросов JDBC API:
(1) SQLStatement
(2) Statement
(3) PreparedStatement
(4) InjectionStatement
(5) CallableStatement
Класс А должен быть унаследован от двух абстрактных классов B и C. Это можно сделать:
(1) A extends B, C
(2) A extends B extends C
(3) А extends B + C
(4) нельзя наследовать два абстрактных класса
Как ORM библиотека, реализующая JPA, понимает, какое поле в классе, отвеченном как @Entity, является первичным ключом?
(1) поле отмечено как @Id
(2) поле имеет имя id
(3) поле отмечено как @Column(name=”id”)
Метод ThreaD.currentThread(), вызванный в методе void main(String args[]):
(1) закончит работу с ошибкой
(2) вернет ссылку на первый, созданный в этот методе поток, если он был создан, иначе вернет null
(3) вернет ссылку на главный поток приложения
Выполнение инструкций сообщения происходит:
(1) в потоке отправителя
(2) в потоке получателя
(3) в дополнительном потоке
Паттерн Event (Observer) служит для:
(1) массовых рассылок оповещений всем, кто подписан на оповещения
(2) вызова метода пользовательского кода из библиотечного кода
У вас есть XML документ с одним единственным тэгом. Сколько callback функций будет вызвано при его обработке?
(1) 1
(2) 3
(3) 5
(4) 7
Что НЕ является плюсом от использования PreparedStatement?
(1) возможность отделить код, который создает запросы и код, который их использует
(2) защита от sql-инъекций
(3) возможность при помощи одного объекта запроса послать несколько однотипных запросов к базе
(4) автоматическое создание транзакции
Чтобы запустить приложение, написанное на Java, нужно установить:
(1) JRE
(2) JDK
(3) JIT
(4) GC
(5) Java Interpreter
Что такое mock-объект?
(1) объект, которые имитирует работу одного модуля нужную для проверки другого модуля
(2) объект, который выполняет функциональность по умолчанию
(3) временный объект, созданный в процессе разработки функциональности
threaD.join():
(1) остановит текущий поток до завершения потока thread
(2) остановит поток thread до завершения текущего потока
(3) потоки будут объединены, команды в них будут выполнены по очереди
Нужно ли использовать при объявлении private Map<Address, ConcurrentLinkedQueue<Msg>> messages в классе MessageSsytem ключевое слово volatile?
(1) да, потому что нам нужен доступ к этому объекту из нескольких потоков
(2) нет, потому что заполнение карты происходит до старта потоков в методе main()
Генератор псевдослучайных чисел это:
(1) алгоритм, который создает последовательность чисел с заданным распределением
(2) прибор, который на основе измерения случайных величин создает случайную последовательность
(3) программа, которая создает случайные последовательности на основе значения определенного адреса кэша процессора
Можно ли создать ресурс с параметрами подключения сервера к базе?
(1) нет, можно создавать только ресурсы для объектов игровой механики
(2) да, можно любые параметры перенести в соответствующие ресурсы.
Чем НЕ является DAO:
(1) абстракцией, которая скрывает от приложения детали запросов к базе
(2) объектом, который создает DataSet-ы на основе данных из таблицы
(3) объектом, с помощью которого можно записать DataSet в таблицу
(4) объектом, который управляет соединением к базе
После работы javac вы получите:
(1) исполняемый файл
(2) набор .class файлов
(3) скрипт для запуска приложения
Тест, который проверяет, что функция деления при запросе 2/0 вернет ArithmeticException, это:
(1) Unit тест
(2) функциональный тест
(3) нагрузочный тест
Какие операции атомарные?
(1) i++
(2) ++i
(3) чтение из памяти
(4) запись в память
(5) a+b
java.unil.Timer выполнит команды метода run() объекта класс java.unil.TimerTask:
(1) в том же потоке, в каком был запущен timer.start()
(2) в собственном потоке таймера
Каких редакций Java НЕ существует?
(1) Java EE
(2) Java PE
(3) Java ME
(4) Java SE
(5) Java DE
Следующие утверждения о наследовании в Java верны:
(1) можно наследовать только один класс
(2) можно наследовать (реализовывать) только один интерфейс
(3) можно наследовать один класс и один абстрактный класс
(4) Можно наследовать только абстрактный класс
(5) Можно реализовывать сколько угодно интерфейсов
В основании иерархии наследования классов стандартной библиотеки java.io лежат четыре класса:
(1) OutputStream
(2) InputStream
(3) FilterStream
(4) OutputWriter
(5) OutputReader
(6) Reader
(7) Writer
(8) FilterReader
(9) FilterInputStream
(10) FilterOutputStream
Компилятор Java переводит исходный код программ, написанных на Java, в набор команд конкретного микропроцессора?
(1) да
(2) нет
Все коллекции в Java реализуют интерфейс:
(1) Iterator
(2) Iterable
(3) Collections
Если создать File file = new File("./test.bin") для не существующего файла "./test.bin" в runtime приложение:
(1) в месте вызова конструктора выкинет исключение
(2) создаст файл по указанному пути
(3) создаст объект, который будет представлять несуществующий файл
Чтобы перегрузить оператор в Java, нужно:
(1) использовать operator()
(2) использовать Object<Operator>
(3) унаследоваться от Operator
(4) в Java нет перегрузки операторов
Потоки могут взаимодействовать:
(1) через общую память (heap)
(2) через общий стек
(3) через внешние ресурсы
Вам нужен класс для персональных данных студентов. Согласно правилам именования классов в Java его следует назвать:
(1) B Student
(2) student
(3) personalData
(4) StudentPersonalData
(5) SPD
(6) SPData
ORM это:
(1) Object Reflection Mapping
(2) Object Relational Mapping
(3) Object Relational Management
(4) Object Reflection Management
Вызов метода, переопределенного в наследнике, по интерфейсу родительского класса это:
(1) наследование
(2) инкапсуляция
(3) полиморфизм
Какая аннотация НЕ входит в javax.persistance?
(1) @Entity
(2) @Id
(3) @NotNull
(4) @Column
Чтобы получить объект типа Class у объекта object, нужно:
(1) вызвать object.getClass()
(2) вызвать Class.getClass(object)
(3) ClassLibrary.get(object)
(4) Object.toClass()
Контейнер с потокобезопасной работой с парами ключ-значение:
(1) ConcurentHashMap
(2) ConcurentSkipListMap
(3) ConcurentSkipListSet
(4) CopyOnWriteArrayList
Задачи Game Mechanics:
(1) создание страницы для пользователя
(2) аутентификация пользователя по имени
(3) расчет игровых событий
(4) запросы к базам данных
(5) проверка активности пользователя (удаление сессии не активных пользователей)
(6) обработка (handle(...)) вызовов из Jetty
(7) создание потоков новых
(8) передача сообщений
(9) работа с файловой системой
Если функция Integer getId(String name) НЕ нашла пользователя в базе по имени, она должна вернуть:
(1) 0
(2) null
(3) исключение
Если поле сериализуемого объекта не сериализуемое, это приведет:
(1) к ошибке компилляции
(2) к исключению в runtime
(3) к тому, что при десериализации для этого поля будет вызван конструктор по умолчанию
Драйвер базы данных реализует:
(1) Java Persistency API
(2) Java Database Connectivity API
Интерфейс в Java это:
(1) класс, в котором могут быть только статические переменные и список методов
(2) класс, который нельзя инстанцировать
(3) класс, от которого унаследованы все классы в Java
(4) обязательный для каждого класс, аналог .h файла в С++
Какой тип тестирования проверяет функциональность модуля изолированно от других частей приложения?
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
Вы завели переменную short index = 0; можно ли вызвать index.toString()?
(1) да
(2) нет
Нужно ли при отправке ответного сообщения обращаться к AddressService?
(1) да
(2) нет, обратный адрес есть в самом сообщении в поле from
Отметьте верные утверждения об интерфейсах:
(1) могут содержать статические переменые
(2) могут быть унаследованные от абстрактного класса
(3) могут содержать private методы
(4) могут быть инстанцированны
(5) могут расширять другой интерфейс
"9" это случайное число?
(1) да
(2) нет
(3) при работе со случайностью никогда нельзя быть уверенным наверняка
С помощью reflection можно:
(1) получить список переменных класса
(2) получить список методов класса
(3) получить список конструкторов класса
(4) создать объект, вызвав его конструктор
(5) поменять область видимости переменной или метода
(6) добавить или удалить переменную или метод
Синхронное обращение к базе означает:
(1) приложение ждет, пока база ответит
(2) приложение передает в базу callback, который будет вызван базой после выполнения запроса
(3) приложение ждет, пока будет закрыто соединение к базе
Все абстрактные методы обязаны быть protected?
(1) да
(2) нет
Тест, который проверяет, что функция сложения при запросе 2+2 вернет 4, это:
(1) Unit тесты
(2) функциональные тесты
(3) нагрузочные тесты
Интерфейс Iterator extends Iterable:
(1) да
(2) нет
(3) нет, Iterable extends Iterator
Проверка на abonent instanceof в наследниках класса Msg нужна:
(1) для того, чтобы убедиться, что сообщение пришло адресату нужного типа
(2) для проверки правильности адреса
(3) для формирования ответного сообщения
(4) для вызова метода exec с параметром нужного типа
Можно ли создать в Java интерфейс без методов?
(1) да, но такой интерфейс бесполезен
(2) нет
(3) да, это элемент некоторых архитектурных решений
Для обращения к внешним для JVN устройствам (файлы, принтеры, сеть...) в Java используют:
(1) объект драйвера устройства
(2) объект потока к устройству
(3) присоединение к порту устройства
Сериализация:
(1) процесс записи объекта в файл
(2) процесс записи объекта в BLOB
(3) процесс перевода объекта в массив байт
Данные объекта resultSet станут недоступны:
(1) после вызова resultSet.close()
(2) после вызова statement.close()
(3) в обоих случаях
Разименование указателя pointer в Java можно сделать:
(1) &pointer
(2) *pointer
(3) #pointer
(4) @pointer
(5) в Java нет указателей
Как получить список аннотаций класса А?
(1) A.class.getAnnotations();
(2) A.getAnnotations();
(3) A.getClass().getAnnotations();
(4) AnnotatationsHelper.get(A);
Контейнер для удаления/добавления элементов в начало или конец контейнера за константное время:
(1) ArrayList
(2) LinkedList
(3) Set
(4) Map
(5) Queue
Объект UserSession при повторном логине пользователя из другого браузера:
(1) новый
(2) тот же что и при первом логине
(3) объекты будут разные, но userSessionId в них будет одинаковым
Задачи Frontend-а:
(1) создание страницы для пользователя
(2) аутентификация пользователя по имени
(3) расчет игровых событий
(4) запросы к базам данных
(5) проверка активности пользователя (удаление сессии не активных пользователей)
(6) обработка (handle(...)) вызовов из Jetty
(7) создание потоков новых
(8) передача сообщений
(9) работа с файловой системой
FileIterator в приведенном на занятии примере обходит дерево файловой системы:
(1) в ширину
(2) в глубину
Reflection это:
(1) название библиотеки для работы с классами
(2) название класса, в котором определены статические методы для работы с классами
(3) название метода работы с объектами, через их классы в runtime
Какие классы входят в JDBC API:
(1) Connection
(2) StringBuilder
(3) ResultSet
(4) Statement
(5) QueryBuilder
(6) Transaction
Стартовая точка работы любого приложения, написанного на Java:
(1) метод void main(String[] args) класса Main
(2) метод void main(String[] args) любого класса
(3) метод void main(String[] args) вне класса (один на приложение)
Какой параметр НЕ является обязательным при создании конфигурации для Hibernate?
(1) hibernatE.show_sql
(2) hibernatE.connection.driver_class
(3) hibernatE.connection.username
Любой поток – это объект?
(1) да
(2) нет
Какие варианты решения проблемы взаимодействия потоков могут быть расширены на взаимодействие процессов (запущенных на разных компьютерах)?
(1) держать в каждом потоке ссылки на все остальные потоки
(2) менять состояние общего для потоков объекта
(3) передавать сообщения через общий ресурс
(4) передавать сообщения через систему обмена сообщениями
Реплика на Frontend это:
(1) сообщение с данными о пользователях на основе которых можно создать страницы с текущим состоянием игры
(2) данные которые DatabaseService пересылает на Frontend после аутентификации пользователя
(3) сообщения с командами на GM которые посылает Frontend из метода handle(...)
Если функция public int getId(String name){...} не нашла коннект к базе, она должна вернуть:
(1) 0
(2) null
(3) исключение
Какой шаблон можно считать фабрикой?
(1) Singleton
(2) Context
(3) Decorator
Что возвращают запросы на update, отправленные через интерфейс Statement:
(1) ResultSet
(2) число измененных строк
(3) void
(4) 1 при успешном завершении 0 при ошибке
На диаграмме зависимостей:
(1) модули сверху зависят от модулей снизу
(2) модули снизу зависят от модулей сверху
(3) каждый модуль может зависеть только от соседних модулей
Что НЕ входит в обязанности QA специалиста?
(1) проектирование интерфейсов модулей сервера
(2) разработка скриптов для автоматизации тестирования
(3) настройка build серверов
(4) "Вывод" и "слияние" веток в системе контроля версий
(5) создание дизайн документа для разработки сервера
ThreaD.sleep(10):
(1) остановит текущий поток на 10 секунд
(2) остановит все приложение на 10 секунд
(3) остановит текущий поток на 10 тактов процессора
(4) остановит текущий поток на 10 миллисекунд
(5) остановит текущей поток на 10 миллисекунд, если это не главный поток
Паттерн Callback служит для:
(1) массовых рассылок оповещений всем кто подписан на оповещения;
(2) вызова метода пользовательского кода из библиотечного кода
Что дает использование шаблонов в классе Executor?
(1) возможность возвращать из метода exec объект нужного типа
(2) возможность запустить выполнение запроса ассинхронно
(3) возможность использовать PrepatedStatement
(4) транзакционность исполнения запросов
Для разработки приложений на Java к JRE нужно добавить:
(1) GC
(2) javac
(3) JIT
Какой уровень покрытия unit тестами дает существенный прирост надежности и качеству программ?
(1) 10-20%
(2) 30-40%
(3) 50-60%
(4) 70-80%
private final int a = 1:
(1) значение переменной нельзя изменить, оно всегда будет = 1
(2) значение переменной можно задать в конструкторе и после этого нельзя будет изменить
(3) значение переменной можно менять только в приватных методах
(4) значение переменной можно менять только в этом потоке
При измерении результатов бросания кубика с шестью гранями 5 раз подряд выпало число 3. Какова вероятность того, что при шестом измерении снова выпадет 3?
(1) 50%. либо выпадет, либо нет
(2) 1/6
(3) (1/6)^6
GC это:
(1) сборщик мусора
(2) набор стандартных библиотек
(3) анализатор байт кода
Для объекта, переданного в качестве параметра для ключевого слова synchronized внутри функции, верно:
(1) этот объект будет захвачен потоком при входе в синхронный участок и освобожден при выходе
(2) у этого объекта будет вызван метод wait() для всех потоков, кроме того, который вошел в синхронный участок
(3) данные этого объекта могут быть безопасно изменены из нескольких потоков
Каждый класс потока для чтения данных из конкретного устройства унаследован от InputStream. Какой метод обязательно должен определить этот класс:
(1) int read()
(2) int read(byte[] b)
(3) void mark(int readlimit)
(4) void reset()
(5) void close()
Согласно правилам именования в Java переменные-члены класса надо начинать с буквы "m"?
(1) да
(2) нет
(3) нет, их надо начинать с "_"
Класс Object это:
(1) класс, от которого унаследованы все типы в Java
(2) класс, от которого унаследованы все библиотечные типы
(3) класс, от которого унаследованы все типы, кроме примитивных
В список основных идей, заложенных в Java входят:
(1) компиляция в байт код
(2) сборщик мусора
(3) прямое и удобное управление памятью
(4) решение математических задач
(5) кроссплатформенность
У вас есть собственный класс MyClass и контейнер List<MyClass>. Что нужно, чтобы отсортировать контейнер объектов класса MyClass с помощью Collections.sort(...)?
(1) унаследовать MyClass от Comparable
(2) унаследовать MyClass от Collections
(3) унаследовать MyClass от Iterable
(4) перегрузить для MyClass операцию сравнения
Согласно схеме зависимостей модулей:
(1) main зависит от base
(2) base зависит от utils
(3) Frontend зависит от utils
(4) base ни от чего не зависит
Для функции, отмеченной ключевым словом synchronized, гарантированно:
(1) только один поток может выполнять код этой функции для всех объектов этого класса
(2) только один поток может выполнять код функции каждого конкретного объекта этого класса
(3) только один поток может выполнять код этой функции для всех объектов этого класса, если функция статическая
Чтобы задать стартовое значение размера heap равным 64MB в параметрах запуска Java приложения, надо написать:
(1) -Xms64
(2) -Xms64m
(3) -Xmx64m
(4) ничего писать не надо, 64MB это значение по умолчанию
Любой объект в Java может быть использован как lock для синхронного (synchronized) участка кода. Зачем?
(1) это избыточность стандартной библиотеки, на практике она не нужна
(2) это нужно, чтобы у каждого объекта можно было вызвать wait() и notify() методы
(3) это нужно всем объектам, так как в любом классе может быть synchronized метод, а для такого метода сам объект будет lock объектом
(4) это нужно чтобы можно было задать массив lock объектов
(5) это нужно всем объектам, так как в любом классе может быть static метод, синхронность которого можно гарантировать только через lock на сам объект