Главная / Программирование /
Углубленное программирование на Java / Тест 88
Углубленное программирование на Java - тест 88
Упражнение 1:
Номер 1
При сериализации двух объектов одного класса, у которого не задан serialVersionUID, значение этого идентификатора будет:
Ответ:
 (1) различным  
 (2) одинаковым 
 (3) одинаковым, только если значения полей объектов равны 
Номер 2
Интерфейс Serializable, который реализуют классы всех сериализуемых объектов, пуст (в нем нет ни одного метода). Как Java понимает, что именно надо сериализовать в объекте и как это нужно сериализовывать?
Ответ:
 (1) структуру класса объекта и значения его полей можно получить в runtime при помощи Reflection 
 (2) поля, которые надо сериализовать, отмечены ключевым словом transient 
 (3) все классы сериализуемых объектов переопределяют метод write(), унаследованный от Object. Serializable нужен только, чтобы указать, что объект можно сериализовать 
Номер 3
Если поле сериализуемого объекта не сериализуемое, это приведет:
Ответ:
 (1) к ошибке компилляции 
 (2) к исключению в runtime 
 (3) к тому, что при десериализации для этого поля будет вызван конструктор по умолчанию 
Упражнение 2:
Номер 1
Для того чтобы исключить поле сериализуемого объекта из процесса сериализации, его надо отметить ключевым словом:
Ответ:
 (1) transient
 
 (2) volatile
 
 (3) nonserializable
 
 (4) transistent
 
 (5) final
 
Номер 2
Будет ли сериализовано статическое поле?
Ответ:
 (1) да 
 (2) нет 
 (3) да, если его отметить ключевым словом transient 
Номер 3
С помощью reflection можно:
Ответ:
 (1) получить список переменных класса 
 (2) получить список методов класса 
 (3) получить список конструкторов класса 
 (4) создать объект, вызвав его конструктор 
 (5) поменять область видимости переменной или метода 
 (6) добавить или удалить переменную или метод 
Упражнение 3:
Номер 1
Что НЕ является минусом использования reflection
:
Ответ:
 (1) потеря производительности  
 (2) не работает в окружении с повышенной безопасностью 
 (3) разрушение ОО архитектуры 
 (4) уменьшение защищенности приложения при обработке пользовательских данных 
Номер 2
После вызова fielD.setAccessible(true)
:
Ответ:
 (1) к полю класса можно будет обращаться как к public
полю при написании кода 
 (2) к полю класса можно будет обращаться как к public
при помощи reflection
в runtime
 
Номер 3
Сериализация:
Ответ:
 (1) процесс записи объекта в файл 
 (2) процесс записи объекта в BLOB  
 (3) процесс перевода объекта в массив байт 
Упражнение 4:
Номер 1
Чтобы сделать объекты класса S
сериализуемыми нужно:
Ответ:
 (1) S implements Serializable 
 (2) S implements Writable 
 (3) S implements Serializable и опеределить в классе S методы read()
и write()
 
Номер 2
Если при создании класса сериализуемых объектов не указать serialVersionUID
, он будет посчитан на основе:
Ответ:
 (1) хэш функции от класса 
 (2) хэш функции от объекта 
 (3) текущего времени 
 (4) времени создания класса 
Номер 3
Reflection
это:
Ответ:
 (1) название библиотеки для работы с классами 
 (2) название класса, в котором определены статические методы для работы с классами 
 (3) название метода работы с объектами, через их классы в runtime 
Упражнение 5:
Номер 1
Как Reflection
может помочь в тестировании?
Ответ:
 (1) можно получить доступ к private
полям 
 (2) можно создавать объекты без вызова конструктора 
 (3) можно убрать или добавить ключевое слово static
 
Номер 2
Как получить объект типа Class
для примитивного типа int
?
Ответ:
 (1) int.class
 
 (2) int.getClass()
 
 (3) Class.for(int)
 
Номер 3
Какой шаблон можно считать фабрикой?
Ответ:
 (1) Singleton 
 (2) Context 
 (3) Decorator 
Упражнение 6:
Номер 1
В чем XML сериализация проигрывает бинарной сериализаци?
Ответ:
 (1) скорость сериализации 
 (2) удобство редактирования 
 (3) Объем данных после сериализации 
Номер 2
У вас есть XML документ с одним единственным тэгом.
Сколько callback
функций будет вызвано при его обработке?
Ответ:
 (1) 1 
 (2) 3 
 (3) 5 
 (4) 7  
Упражнение 7:
Номер 1
SAX парсер отличается от DOM парсера тем, что он:
Ответ:
 (1) не создает иерархической структуры в памяти 
 (2) загружает документ полностью, независимо от того, сколько в действительности необходимо пользователю 
 (3) менее требователен к ресурсам и занимаемому свободному месту в случае использования больших входящих документов 
 (4) создает древовидную структуру в памяти из входящего документа и лишь потом ждет запросов от клиента 
Номер 2
Можно ли создать ресурс с параметрами подключения сервера к базе?
Ответ:
 (1) нет, можно создавать только ресурсы для объектов игровой механики 
 (2) да, можно любые параметры перенести в соответствующие ресурсы.