Список вопросов и ответов на собеседование Java Junior Developer (Advanced).

Spring Framework.

    • Объясните суть паттерна DI или IoC.
    • Какие преимущества применения Dependency Injection (DI)?
    • Какие IoC контейнеры вы знаете?
    • Как реализуется DI в Spring Framework?
    • Какие существуют виды DI? Приведите примеры.
    • Что такое Spring? Из каких частей состоит Spring Framework?
    • Назовите некоторые из шаблонов проектирования, используемых в Spring Framework?
    • Каковы некоторые из важных особенностей и преимуществ Spring Framework?
    • Каковы преимущества использования Spring Tool Suite?
    • Что такое AOP? Как это относиться к IoC?
    • Что такое Aspect, Advice, Pointcut, JointPoint и Advice Arguments в АОП?
    • В чем разница между Spring AOP и AspectJ АОП?
    • Что такое IoC контейнер Spring?
    • Что такое Spring бин?
    • Какое значение имеет конфигурационный файл Spring Bean?
    • Каковы различные способы настроить класс как Spring Bean?
    • Какие вы знаете scope у Spring Bean?
    • Что такое жизненный цикл Spring Bean?
    • Объясните работу BeanFactory в Spring.
    • Как получить объекты ServletContext и ServletConfig внутри Spring Bean?
    • В чем роль ApplicationContext в Spring?
    • Как выглядит типичная реализция метода используя Spring?
    • Что такое связывание в Spring и расскажите об аннотации @Autowired?
    • Каковы различные типы автоматического связывания в Spring?
    • Приведите пример часто используемых аннотаций Spring.
    • Можем ли мы послать объект как ответ метода обработчика контроллера?
    • Является ли Spring бин потокобезопасным?
    • Как создать ApplicationContext в программе Java?
    • Можем ли мы иметь несколько файлов конфигурации Spring?
    • Как внедрить java.util.Properties в Spring Bean?
    • Как настраивается соединение с БД в Spring?
    • Как сконфигурировать JNDI не через datasource в applicationContext.xml?
    • Каким образом можно управлять транзакциями в Spring?
    • Каким образом Spring поддерживает DAO?
    • Как интегрировать Spring и Hibernate?
    • Как задаются файлы маппинга Hibernate в Spring?
    • Как добавить поддержку Spring в web-приложение
    • Можно ли использовать xyz.xml вместо applicationContext.xml?
    • Что такое контроллер в Spring MVC?
    • Какая разница между аннотациями @Component, @Repository и @Service в Spring?
    • Расскажите, что вы знаете о DispatcherServlet и ContextLoaderListener.
    • Что такое ViewResolver в Spring?
    • Что такое MultipartResolver и когда его использовать?
    • Как загрузить файл в Spring MVC?
    • Как обрабатывать исключения в Spring MVC Framework?
    • Каковы минимальные настройки, чтобы создать приложение Spring MVC?
    • Как бы вы связали Spring MVC Framework и архитектуру MVC?
    • Как добиться локализации в приложениях Spring MVC?
    • Как мы можем использовать Spring для создания веб-службы RESTful, возвращающей JSON?
    • Как проверить (валидировать) данные формы в Spring Web MVC Framework?
    • Что вы знаете Spring MVC Interceptor и как он используется?
    • Расскажите о Spring Security.

    Перейти к ответам ►►


    JavaServer Faces (JSF).

    • Что такое JSF?
    • Что такое Managed Bean?
    • Каковы три типа тегов для текстовых полей существуют в JSF?
    • Что означает аннотация @ManagedProperty?
    • На что указывает аннотация @ApplicationScoped?
    • Что такое связывание ресурсов в JSF?
    • Объясните разницу между required и requiredMessage атрибутов в теге <h:inputText>.
    • Какие различные типы навигации по страницам поддерживаются в JSF?
    • Какие фазы жизненного цикла в JSF вы знаете?
    • Объясните назначение тега <h:form>.
    • Какие теги используются для action и navigation?
    • Какие компоненты используются для отображения данных в табличном виде?
    • Что такое событие (event)?
    • Как мы можем получить generated event?
    • Какие различные типы событий существуют в JSF?
    • Что такое класс-слушатель?
    • Какое назначение тега facelets?
    • Назовите несколько facelets тегов.
    • Какие различные типы валидации используются в JSF?
    • Какие различные типы выражений поддерживаются JSF EL (Expression Language)?
    • В чем разница между мгновенными и отложенными выражениями?
    • Объясните разницу между value expression и method expression.
    • Расскажите о @ViewScoped, @SessionScoped, @CustomScoped и @RequestScoped аннотациях.
    • Какие существую способы объявить класс управляемым бином JSF?
    • Как используются атрибуты name и eager в Managed Bean?
    • Какие теги для валидации существуют в JSF?
    • Какие преимущества использования JSF Framework?
    • Какие различные теги JSF используются для конвертации?
    • Перечислите преимущества использования языка выражений (expression language)?
    • Поясните название backing bean.
    • Какие стандартные библиотеки тегов JSF вы знаете?
    • Какие основные функции выполняет метод в backing bean?
    • Каковы различные реализации JSF API вы знаете?
    • Объясните архитектуру JSF.
    • Как различные компоненты рендерятся на JSF странице?
    • Может JSF содержать несколько файлов конфигурации?
    • Чем различается понятия backing bean и managed bean?
    • Как отобразить сообщения об ошибках в JSF?
    • Объясните назначение тега selectOne menu в JSF.
    • Объясните в чем разница между атрибутами immediate и rendered?
    • Какие два способа связывания поддерживается JSF?
    • Какая минимальная конфигурация необходима для JSF приложения?
    • Что означает navigation rule в JSF?
    • Расскажите о назначение тегов converter в JSF.
    • Перечислите преимущества таблицы данных в JSF.
    • Как реализовать интернационализацию (локализацию) (i18n) в JSF?
    • Какая модель рендеринга применяется в JSF?
    • Что такое render kit?
    • Что такое view object?
    • Что подразумевается под Bean Scope?
    • В чем разница между JSF-1 и JSF-2?
    • Может ли отсутствовать faces-config.xml у JSF приложения?
    • Сравните JSF и Spring Framework.
    • Можем ли мы интегрировать JSF с другими популярными фреймворками вроде Spring, Hibernate и т.д.?

    Перейти к ответам ►►


    Object relational mapping (ORM), Hibernate.

    • Что такое Hibernate?
    • Что такое ORM?
    • Какие преимущства от использования Hibernate Framework?
    • Как Hibernate помогает в программировании?
    • Какие преимущества Hibernate над JDBC?
    • Что такое конфигурационный файл Hibernate?
    • Способы конфигурации работы с Hibernate.
    • Что такое Hibernate mapping file?
    • Что такое Переходные объекты (Transient Objects)?
    • Что такое постоянные объекты (Persistent objects)?
    • Что такое TransactionFactory?
    • Что такое ConnectionProvider?
    • Что такое Трансакция (Transaction)?
    • Какие существуют стратегии загрузки объектов в Hibernate?
    • Какие бывают id generator классы в Hibernate?
    • Какие ключевые интерфейсы использует Hibernate?
    • Назовите некоторые важные аннотации, используемые для отображения в Hibernate.
    • Какая роль интерфейса Session в Hibernate?
    • Является ли Hibernate Session потокобезоспаным?
    • Какая роль интерфейса SessionFactory в Hibernate?
    • Является ли Hibernate SessionFactory потокобезоспансым?
    • В чем разница между openSession и getCurrentSession?
    • Какие типы коллекций представлены в Hibernate?
    • Какие типы менеджмента транзакций поддерживаются в Hibernate?
    • Что собой являет коллекция типа Bag и зачем она используется?
    • Какие типы кэша используются в Hibernate?
    • Какие существуют типы стратегий кэша?
    • Что вы знаете о кэширование в Hibernate? Объясните понятие кэш первого уровня в Hibernate?
    • Как настраивается кэш второго уровня в Hibernate?
    • Какая разница в работе методов load(); и get();?
    • Каковы существуют различные состояния у entity bean?
    • Что произойдет, если будет отсутствовать конструктор без аргументов у Entity Bean?
    • Как используется вызов метода Hibernate Session merge()?
    • В чем разница между Hibernate save(), saveOrUpdate() и persist()?
    • Что такое Lazy fetching(изъятие) в Hibernate?
    • В чем разница между sorted collection и ordered collection? Какая из них лучше?
    • Как реализованы Join’ы Hibernate?
    • Почему мы не должны делать Entity class как final?
    • Что вы знаете о HQL и каковы его преимущества?
    • Что такое Query Cache в Hibernate?
    • Можем ли мы выполнить SQL (sql native) запрос в Hibernate?
    • Для чего нужна поддержка SQL (sql native) запросов в Hibernate?
    • Что такое Named SQL Query?
    • Каковы преимущества Named SQL Query?
    • Как добавить логирование log4j в Hibernate приложение?
    • Как логировать созданные Hibernate SQL запросы в лог-файлы?
    • Что вы знаете о Hibernate прокси и как это помогает в ленивой загрузке (lazy load)?
    • Как управлять транзакциями с помощью Hibernate?
    • Что такое каскадные связи (обновления) в Hibernate?
    • Какие каскадные типы есть в Hibernate?
    • Что такое сесиия и фаблика сессий в Hibernate? Как настроить session factory в конфигурационном файле Spring?
    • Как использовать JNDI DataSource сервера приложений с Hibernate Framework?
    • Как интегрировать Hibernate и Spring?
    • Какие паттерны применяются в Hibernate?
    • Расскажите о Hibernate Validator Framework.
    • Какие преимущества дает использование плагина Hibernate Tools Eclipse?

    Перейти к ответам ►►


    Java Persistence API (JPA).

      • Что такое JPA?
      • Из чего состоит JPA?
      • В чем её отличие JPA от Hibernate?
      • В чем её отличие JPA от JDO?
      • Можно ли использовать JPA c noSQL базами?
      • Что такое JPQL (Java Persistence query language) и чем он отличается от SQL?
      • Что означает полиморфизм (polymorphism) в запросах JPQL (Java Persistence query language) и как его «выключить»?
      • Что такое Criteria API и для чего он используется?
      • Что такое Entity?
      • Может ли не Entity класс наследоваться от Entity класса?
      • Может ли Entity класс наследоваться от других Entity классов?
      • Может ли Entity быть абстрактным классом?
      • Может ли Entity класс наследоваться от не Entity классов (non-entity classes)?
      • Какие требования JPA к Entity классам вы можете перечислить (не менее шести требований)?
      • Что такое атрибут Entity класса в терминологии JPA?
      • Какие два типа элементов есть у Entity классов. Или другими словами перечислите два типа доступа (access) к элементам Entity классов.
      • Какие типы данных допустимы в атрибутах Entity класса (полях или свойствах)?
      • Какие типы данных можно использовать в атрибутах, входящих в первичный ключ Entity класса (составной или простой), чтобы полученный первичный ключ мог использоваться для любой базы данных? А в случае автогенерируемого первичного ключа (generated primary keys)?
      • Что такое встраиваемый (Embeddable) класс?
      • Может ли встраиваемый (Embeddable) класс содержать другой встраиваемый (Embeddable) класс?
      • Может ли встраиваемый (Embeddable) класс содержать связи (relationship) с другими Entity или коллекциями Entity? Если может, то существуют ли какие-то ограничение на такие связи (relationship)?
      • Какие требования JPA устанавливает к встраиваемым (Embeddable) классам?
      • Какие типы связей (relationship) между Entity вы знаете (перечислите восемь типов, либо укажите четыре типа связей, каждую из которых можно разделить ещё на два вида)?
      • Что такое Mapped Superclass?
      • Какие два типа fetch стратегии в JPA вы знаете?
      • Какие три типы стратегии наследования мапинга (Inheritance Mapping Strategies) описаны в JPA?
      • Что такое EntityManager и какие основные его функции вы можете перечислить?
      • Какие четыре статуса жизненного цикла Entity объекта (Entity Instance’s Life Cycle) вы можете перечислить?
      • Как влияет операция merge на Entity объекты каждого из четырех статусов?
      • Как влияет операция remove на Entity объекты каждого из четырех статусов?
      • Как влияет операция persist на Entity объекты каждого из четырех статусов?
      • Как влияет операция refresh на Entity объекты каждого из четырех статусов?
      • Как влияет операция detach на Entity объекты каждого из четырех статусов?
      • Для чего нужна аннотация Access?
      • Для чего нужна аннотация Basic?
      • Какой аннотациями можно перекрыть связи (override entity relationship) или атрибуты, унаследованные от суперкласса, или заданные в embeddable классе при использовании этого embeddable класса в одном из entity классов и не перекрывать в остальных?
      • Какие аннотации служит для задания класса преобразования basic атрибута Entity в другой тип при сохранении/получении данных их базы (например, работать с атрибутом Entity boolean типа, но в базу сохранять его как число)?
      • Какой аннотацией можно управлять кешированием JPA для данного Entity?
      • Какой аннотацией можно задать класс, методы которого должен выполнится при определенных JPA операциях над данным Enitity или Mapped Superclass (такие как удаление, изменение данных и т.п.)?
      • Для чего нужны callback методы в JPA? К каким сущностям применяются аннотации callback методов? Перечислите семь callback методов (или что тоже самое аннотаций callback методов).
      • Какой аннотацей можно исключить поли и свойства Entity из маппинга (property or field is not persistent)?
      • Какие аннотации служить для установки порядка выдачи элементов коллекций Entity?
      • Какие шесть видов блокировок (lock) описаны в спецификации JPA (или какие есть значения у enum LockModeType в JPA)?
      • Какие два вида кэшей (cache) вы знаете в JPA и для чего они нужны?
      • Какие есть варианты настройки second-level cache (кэша второго уровня) в JPA или что аналогично опишите какие значения может принимать элемент shared-cache-mode из persistence.xml?
      • Как можно изменить настройки fetch стратегии любых атрибутов Entity для отдельных запросов (query) или методов поиска (find), то если у Enity есть атрибут с fetchType = LAZY, но для конкретного запроса его требуется сделать EAGER или наоборот?
      • Каким способом можно получить метаданные JPA (сведения о Entity типах, Embeddable и Managed классах и т.п.)?
      • Каким способом можно в коде работать с кэшем второго уровня (удалять все или определенные Entity из кеша, узнать закэшировался ли данное Entity и т.п.)?
      • В чем разница в требованиях к Entity в Hibernate, от требований к Entity, указанных в спецификации JPA (см. вопрос 10)?
      • Какая уникальная стратегия наследования есть в Hibernate, но нет в спецификации JPA?
      • Какие основные новые возможности появились в спецификации JPA 2.1 по сравнению с JPA 2.0 (перечислите хотя бы пять-шесть новых возможностей)?

      Перейти к ответам ►►


      Web services.

      • Что такое веб сервисы?
      • В чем разница между SOA и web service?
      • Что такое SOAP?
      • Что такое REST?
      • В чем разница между REST и SOAP веб сервисами?
      • Как бы вы решили какой из REST или SOAP веб сервисов использовать?
      • Объясните понятие WSDL.
      • Что такое JAX-WS?
      • Расскажите о JAXB.
      • Можем ли мы посылать soap сообщения с вложением?
      • Что такое MTOM?
      • Что такое XOP?
      • Объясните элемент SOAP envelope.
      • Как определяется пространство имен SOAP?
      • Что вы знаете о кодирование в SOAP (encoding)?
      • Что определяет атрибут encodingStyle в SOAP?
      • Какие два конечных типа веб сервисов используют JAX-WS?
      • Какие существую правила для кодирования записи header?
      • Что вы знаете об инструменте wsimport?
      • Что вы знаете об инструменте wsgen?
      • Какие вы можете выделить различия между SOAP и другими техниками удаленного доступа?

      Перейти к ответам ►►


      JMS.

      • Что такое JNDI?
      • Что такое JMS?
      • Что такое MOM?
      • Из каких компонентов состоит архитектура обмена сообщениями?
      • Какие модели обмена сообщениями в JMS вы знаете? Опишите их.
      • Назовите основные интерфейсы JMX, для чего они предназначены.
      • Как выглядит алгоритм создания программ, работающих с JMS?
      • Какие стандартные типы сообщений определены JMX?
      • Из каких частей JMS сообщение?
      • Какие параметры может содержать заголовок сообщения?
      • Какие модели подтверждения получения сообщения вы знаете?

      Перейти к ответам ►►

      Рассказать друзьям:

      4 коментарі :

      1. Большое Вам человеческое спасибо за вопросы и ответы.:)

        ОтветитьУдалить
        Ответы
        1. Спасибо Вам за благодарность. Надеюсь мой блог вам помог, как минимум освежить знания.

          Удалить
      2. Честно, тут сложно переоценить - ну очень отличный и полезный блог. Спасибо большое

        ОтветитьУдалить