Java. Примеры вопросов на собеседовании

![]() |
Какие средства языка заботятся об общем доступе к данным в многопоточной среде? |
Synchronized block, Synchronized method, wait, notify
![]() |
В чем разница между синхронизированным методом и синхронизированным блоком? Когда и где стоит использовать? |
Блок следует использовать на подмножестве данных, малых сегментах кода.
![]() |
Какие средства языка вы примените для реализации одного потока producer и другого - consumer для обмена данными через стек? |
wait, notify
![]() |
Какие классы в Java предназначены для манипуляции с датой? |
Calendar, Date
![]() |
В чем разница между String и StringBuffer? |
StringBuffer - mutable, более эффективный.
![]() |
Как сделать класс сериализуемым? |
Необходимо реализовать в классе интерфейс Serializable
![]() |
В чем разница между статическими и объектными полями класса? |
Статические поля - поля класса, не принадлежат ни одному из объектов этого класса, Объектные - индивидуальные для каждого из объектов.
![]() |
Какой метод необходимо реализовать в классе, чтобы была возможность хранить класс в Hashtable или HashMap? |
hashCode(), equals()
![]() |
Как можно исключить поле класса из процесса сериализации? |
С использованием модификатора transient.
![]() |
В чем разница между интерфейсом и абстрактным классом? |
Интерфейсное наследование, наследование реализации
![]() |
Что означает переопределение метода? Перегрузка? |
Переопределение означает подмену реализации тела метода в дочернем классе. Перегрузка - различные сигнатуры одноименных методов.
![]() |
Что такое Java Heap и что такое стек? |
Java heap - область свободной памяти, доступной для резервирования программами на Java. Стек - это область LIFO (Last in - First Out).
![]() |
Для чего нужен сборщик мусора? Когда он выполняется? |
Он необходим для очистки памяти от неиспользуемых объектов. Начинает работу самостоятельно, при переполнении "кучи"
![]() |
В чем проблема или преимущества отлова исключения "java.lang.Exception"? |
Игнорируются все исключения ниже по иерархии.
![]() |
В чем разница между runtime exception и checked exception? |
Необходимо отлавливать или порождать checked exceptions.
![]() |
Как лучше использовать скиптлеты на JSP страницах? |
Следует избегать их, где только можно.
![]() |
Как можно избежать использования скриптлетов? |
Следует использовать собственные теги, а также JavaBeans
![]() |
Как Вы понимаете термин JSP компиляция? |
Это процесс компиляции страницы в сервлет.
![]() |
Где можно хранить данные между пользовательскими запросами, используя Servlet API? |
Используйте HttpSession
![]() |
В чем разница между форвардингом и редиректом страницы? |
Редирект возвращается в браузер, форвард - нет.
![]() |
Какой объект используется для форварда запросов? |
RequestDispatcher
![]() |
Допустим, я сохраняю объект в сессии, затем изменяю его состояние. Будет ли передано состояние объекта в сессию? |
Нет, только вызов setAttribute()
![]() |
Как работает URL-pattern в сервлете в web.xml? |
/ddd/ или *.jsp
![]() |
Какой тип выражения необходимо использовать для включения пользовательских значений? |
PreparedStatement
![]() |
Почему preparedStatement более эффективен, чем statement? |
Потому что он использует кеширование
![]() |
Каким образом можно предотвратить sql-инъекции в JDBC? |
Использовать PreparsedStatement
![]() |
Преимущества и недостатки использования хранимых процедур (stored procedure) в базе данных? |
Плюсы: интеграция с существующей базой данных, уменьшение сетевого трафика.
Минусы: не портабельно, необходимо знание множества языков
![]() |
В чем разница между sql.Date , sql.Time и sql.Timestamp? |
sql.Date - только дата, sql.Time - только время, sql.Timestamp - дата и время
![]() |
Каким образом можно совершить множество инсертов в одну базу данных за одну итерацию? |
С использованием executeBatch.
![]() |
Существует проблема: Программа читает 100.000 рядков, конвертирует их в Java class как List, затем конвертирует список в XML файл. В результате - out of memory. Как исправить ситуацию? |
Необходимо читать один рядок в одну единицу времени, ограничивать выборку, заранее выделять свободное место под результаты (result set = cursor).
![]() |
Каковы типичные случаи использования JNDI API в приложении? |
Управление ресурсами, LDAP доступ
![]() |
В чем разница в поиске между "java:comp/env/ejb/MyBean" и "ejb/MyBean" ? |
для java:comp/env применяется логический маппинг.
![]() |
В чем разница между InitialContext() сервлета и EJB? |
Инициализируются различные JNDI среды. EJB контроллер через ejb-jar.xml, сервлет - через web.xml.
![]() |
Для чего используется LDAP сервер в корпоративном приложении? |
Для аутентификации и авторизации.
![]() |
Что такое аутентификация и авторизация? |
Подтверждение личности, подтверждение прав доступа
![]() |
В чем разница между Stateless и Stateful session bean? |
Stateful содержит состояние клиента
![]() |
В чем разница между Session bean и Entity Bean? |
Entity bean используется для хранения данных и взаимодействия с базой данных
![]() |
Какие вы знаете EJB паттерны? |
Facade, delegate value list, DAO, value object
![]() |
Как определить finder методы для CMP? |
Home, XML
![]() |
В чем разница между DOM и SAX парсерами? |
DOM: читает всю модель, SAX: печатается во время парсинга.
![]() |
В чем разница между DTD и XML схемами? |
уровень детализации.
![]() |
Что такое XSLT и как оно используется? |
Трансформация XML
![]() |
Как можно управлять асинхронными событиями в J2EE? |
С использованием JMS
![]() |
Если Вы послали JMS сообщение из EJB, затем транзация откатилась, будет ли отослано сообщение? |
Да, будет
![]() |
В чем разница между topic и queue? |
broadcast, single
![]() |
Что такое веб-сервис? Как он связан с SOAP? |
SOAP - протокол.
![]() |
Какой общий вид транспорта сообщений для SOAP? |
HTTP
![]() |
Что такое WSDL? Как использовать WSDL файл? |
XML описание веб-сервиса: интерфейс и как привязаться к нему
![]() |
Где могут быть применены уровни безопасности в J2EE приложении? |
Web Uri, EJB методы
![]() |
Как можно получить текущего пользователя в J2EE приложении? |
getUserPrincipal, getCallerPrincipal
![]() |
Как провести проверку ролей в J2EE? |
isUserInRole(), isCallerInRole()
Материалы, которые могут вас заинтересовать
- Java. Вложенные классы в методах
- Java. Создание объекта вложенного класса извне внешнего класса
- Java. Создание объекта вложенного класса изнутри внешнего класса
- Java. Создание объекта вложенного класса
- Java. Создание "регулярного" вложенного класса
- Java. Вложенные классы (Inner Classes)
- Java. Создание обобщенных методов
- Java. Обобщенные типы (Generic Declarations)
- Java. Использование карт (Using Maps)








Неплохие вопросики, но мало.
Отправить комментарий