# Cобеседование по Java. Разбор вопросов и ответов.


<a href="https://mc.yandex.ru/pixel/8711235002931986822?rnd=%aw_random%">
    <img src="https://mc.yandex.ru/pixel/8711235002931986822?rnd=%aw_random%" />
  </a>&nbsp;&nbsp;
<a href="https://mc.yandex.ru/watch/92801430">
    <img src="https://mc.yandex.ru/watch/92801430" />
  </a>&nbsp;&nbsp;

с 2790 вопрос по 2834 вопрос


Нажмите ★, если вам нравится проект. Ваш вклад сердечно ♡ приветствуется.

Если вам интересно мое резюме: https://github.com/DEBAGanov



Собеседование по Java EE — Spring Framework (вопросы и ответы).

2790. Расскажите о Spring Framework.
2791. Какие некоторые из важных особенностей и преимуществ Spring Framework?
2792. Что вы понимаете под Dependency Injection (DI)?
2793. Как реализуется DI в Spring Framework?
2794. Какие преимущества использования Spring Tool Suite?
2795. Приведите названия некоторых важных Spring модулей.
2796. Что вы понимаете под аспектно-ориентированным программированием (Aspect Oriented Programming — AOP)?
2797. Что такое Aspect, Advice, Pointcut, JoinPoint и Advice Arguments в АОП?
2798. В чем разница между Spring AOP и AspectJ АОП?
2799. Что такое IoC контейнер Spring?
2800. Что такое Spring бин?
2801. Какое значение имеет конфигурационный файл Spring Bean?
2802. Какие различные способы настроить класс как Spring Bean?
2803. Какие вы знаете различные scope у Spring Bean?
2804. Что такое жизненный цикл Spring Bean?
2805. Как получить объекты ServletContext и ServletConfig внутри Spring Bean?
2806. Что такое связывание в Spring и расскажите об аннотации @Autowired?
2807. Какие различные типы автоматического связывания в Spring?
2808. Является ли Spring бин потокобезопасным?
2809. Что такое контроллер в Spring MVC?
2810. Какая разница между аннотациями @Component, @Repository и @Service в Spring?
2811. Расскажите, что вы знаете о DispatcherServlet и ContextLoaderListener.
2812. Что такое ViewResolver в Spring?
2813. Что такое MultipartResolver и когда его использовать?
2814. Как обрабатывать исключения в Spring MVC Framework?
2815. Как создать ApplicationContext в программе Java?
2816. Можем ли мы иметь несколько файлов конфигурации Spring?
2817. Какие минимальные настройки, чтобы создать приложение Spring MVC?
2818. Как бы вы связали Spring MVC Framework и архитектуру MVC?
2819. Как добиться локализации в приложениях Spring MVC?
2820. Как мы можем использовать Spring для создания веб-службы RESTful, возвращающей JSON?
2821. Приведите пример часто используемых аннотаций Spring.
2822. Можем ли мы послать объект как ответ метода обработчика контроллера?
2823. Как загрузить файл в Spring MVC?
2824. Как проверить (валидировать) данные формы в Spring Web MVC Framework?
2825. Что вы знаете Spring MVC Interceptor и как он используется?
2826. Spring JdbcTemplate класс и его применение.
2827. Как использовать Tomcat JNDI DataSource в веб-приложении Spring?
2828. Каким образом можно управлять транзакциями в Spring?
2829. Расскажите о Spring DAO.
2830. Как интегрировать Spring и Hibernate?
2831. Расскажите о Spring Security.
2832. Как внедрить java.util.Properties в Spring Bean?
2833. Назовите некоторые из шаблонов проектирования, используемых в Spring Framework?
2834. Best Practices в Spring Framework.




Список вопросов и ответов по теме «Веб-сервисы» в Java (Java web services).
Вопросы

2935. Что такое веб сервисы?
2936. В чем разница между SOA и web service?
2937. Что такое SOAP?
2938. Что такое REST?
2939. В чем разница между REST и SOAP веб сервисами?
2940. Как бы вы решили какой из REST или SOAP веб сервисов использовать?
2941. Объясните понятие WSDL.
2942. Что такое JAX-WS?
2943. Расскажите о JAXB.
2944. Можем ли мы посылать soap сообщения с вложением?
2945. Что такое MTOM?
2946. Что такое XOP?
2947. Объясните элемент SOAP envelope.
2948. Как определяется пространство имен SOAP?
2949. Что вы знаете о кодировании в SOAP (encoding)?
2950. Что определяет атрибут encodingStyle в SOAP?
2951. Какие два конечных типа веб сервисов используют JAX-WS?
2952. Какие существуют правила для кодирования записи header?
2953. Что вы знаете об инструменте wsimport?
2954. Что вы знаете об инструменте wsgen?
2955. Какие вы можете выделить различия между SOAP и другими техниками удаленного доступа?
2956. Что такое resource в REST?
2957. Какие HTTP методы поддерживаются в REST?
2958. Когда можно использовать GET запрос вместо POST для создания ресурса?
2959. Какая разница между GET и POST запросами?
2960. Что означает WADL?
2961. Какие вы знаете фреймворки, которые реализуют REST веб сервисы?
2962. Какая разница между AJAX и REST?
2963. Что делает аннотация @Path?
2964. Что делает аннотация @PathParam?
2965. Что делает аннотация @QueryParam?
2966. Что делает аннотация @MatrixParam?
2967. Что делает аннотация @FormParam?
2968. Какие два способа получения заголовка HTTP запроса в JAX-RS вы знаете?
2969. Как скачать файл с помощью JAX-RS?






Собеседование по Java EE — Java Server Faces (JSF) (вопросы и ответы). Часть 1

2865. Что такое JSF?
2866. Что такое Managed Bean?
2867. Какие три типа тегов для текстовых полей существуют в JSF?
2868. Что означает аннотация @ManagedProperty?
2869. На что указывает аннотация @ApplicationScoped?
2870. Что такое связывание ресурсов в JSF?
2871. Объясните разницу между required и requiredMessage атрибутов в теге <h:inputText>.
2872. Какие различные типы навигации по страницам поддерживаются в JSF?
2873. Какие фазы жизненного цикла в JSF вы знаете?
2874. Объясните назначение тега <h:form>.
2875. Какие теги используются для action и navigation?
2876. Какие компоненты используются для отображения данных в табличном виде?
2877. Что такое событие (event)?
2878. Как мы можем получить generated event?
2879. Какие различные типы событий существуют в JSF?
2880. Что такое класс-слушатель?
2881. Какое назначение тега facelets?
2882. Назовите несколько facelets тегов.
2883. Какие различные типы валидации используются в JSF?
2884. Какие различные типы выражений поддерживаются JSF EL (Expression Language)?
2885. В чем разница между мгновенными и отложенными выражениями?
2886. Объясните разницу между value expression и method expression.
2887. Расскажите о @ViewScoped, @SessionScoped, @CustomScoped и @RequestScoped аннотациях.
2888. Какие существую способы объявить класс управляемым бином JSF?
2889. Как используются атрибуты name и eager в Managed Bean?
2890. Какие теги для валидации существуют в JSF?
2891. Какие преимущества использования JSF Framework?
2892. Какие различные теги JSF используются для конвертации?
2893. Перечислите преимущества использования языка выражений (expression language)?
2894. Поясните название backing bean.
2895. Какие стандартные библиотеки тегов JSF вы знаете?
2896. Какие основные функции выполняет метод в backing bean?
2897. Какие различные реализации JSF API вы знаете?
2898. Объясните архитектуру JSF.
2899. Как различные компоненты рендерятся на JSF странице?
2900. Может JSF содержать несколько файлов конфигурации?
2901. Чем различается понятия backing bean и managed bean?
2902. Как отобразить сообщения об ошибках в JSF?
2903. Объясните назначение тега selectOne menu в JSF.
2904. Объясните в чем разница между атрибутами immediate и rendered?
2905. Какие два способа связывания поддерживается JSF?
2906. Какая минимальная конфигурация необходима для JSF приложения?
2907. Что означает navigation rule в JSF?
2908. Расскажите о назначение тегов converter в JSF.
2909. Перечислите преимущества таблицы данных в JSF.
2910. Как реализовать интернационализацию (локализацию) (i18n) в JSF?
2911. Какая модель рендеринга применяется в JSF?
2912. Что такое render kit?
2913. Что такое view object?
2914. Что подразумевается под Bean Scope?
2915. В чем разница между JSF-1 и JSF-2?
2916. Может ли отсутствовать faces-config.xml у JSF приложения?
2917. Сравните JSF и Spring Framework.
2918. Почему JSF не так популярна как, например, MVC фреймворки вроде Spring MVC, хотя JSF старше и входит в JEE?
2919. Можем ли мы интегрировать JSF с другими популярными фреймворками вроде Spring, Hibernate и т.д.?
2920. JSF Best Practices.






Собеседование по Java EE — JEE Servlet API (вопросы и ответы)

2968. Что такое сервлет?
2969. Какова структура веб-проекта?
2970. Что такое контейнер сервлетов?
2971. Какие задачи, функциональность контейнера сервлетов?
2972. Что вы знаете о сервлет фильтрах?
2973. Зачем нужны слушатели в сервлетах?
2974. Когда вы будете использовать фильтры, а когда слушатели?
2975. Как обработать исключения, выброшенные другим сервлетом в приложении?
2976. Что такое дескриптор развертывания?
2977. Как реализовать запуск сервлета с запуском приложения?
2978. Что представляет собой объект ServletConfig?
2979. Что представляет собой объект ServletContext?
2980. В чем отличия ServletContext и ServletConfig?
2981. Что такое Request Dispatcher?
2982. Как можно создать блокировку (deadlock) в сервлете?
2983. Как получить адрес сервлета на сервере?
2984. Как получить информацию о сервере из сервлета?
2985. Как получить ip адрес клиента на сервере?
2986. Что вы знаете о классах обертках (wrapper) для сервлетов?
2987. Каков жизненный цикл сервлета и когда какие методы вызываются?
2988. Какие методы необходимо определить при создании сервлетов?
2989. В каком случае вы будете переопределять метод service()?
2990. Есть ли смысл определить конструктор для сервлета, как лучше инициализировать данные?
2991. В чем отличия GenericServlet и HttpServlet?
2992. Как вызвать из сервлета другой сервлет этого же и другого приложения?
2993. Что вы знаете и в чем отличия методов forward() и sendRedirect()?
2994. Стоит ли волноваться о “многопоточной безопасности” работая с сервлетами?
2995. В чем отличие между веб сервером и сервером приложений?
2996. Какой метод HTTP не является неизменяемым?
2997. Почему HttpServlet класс объявлен как абстрактный?
2998. В чем разница между методами GET и POST?
2999. Что такое MIME-тип?
3000. Назовите преимущества Servlet над CGI?
3001. Какие наиболее распространенные задачи выполняемые в Servlet контейнере?
3002. В чем разница между PrintWriter и ServletOutputStream?
3003. Можем ли мы получить PrintWriter и ServletOutputStream одновременно в сервлете?
3004. Расскажите о интерфейсе SingleThreadModel.
3005. Какие существуют атрибуты у сервлетов и какая сфера их применения?
3006. Почему необходимо переопределить только init() метод без аргументов?
3007. Что означает URL encoding? Зачем нужны методы java.net.URLEncoder.encode() и decode()?
3008. Зачем нужны и чем отличаются методы encodeUrl() и encodeRedirectUrl()?
3009. Какие различные методы управления сессией в сервлетах вы знаете?
3010. Что означает URL Rewriting?
3011. Как применяются Cookies в сервлетах?
3012. Как уведомить объект в сессии, что сессия недействительна или закончилась?
3013. Какой существует эффективный способ удостоверится, что все сервлеты доступны только для пользователя с валидной сессией?
3014. Как мы можем обеспечить transport layer security для нашего веб приложения?
3015. Как организовать подключение к базе данных и обеспечить логирование log4j в сервлете?
3016. Какие важные особенности существуют в Servlet 3?
3017. Какие различные способы аутентификации сервлета?
3018. Написать сервлет, реализующий загрузку файла на сервер.


Собеседование по Java EE — JEE API (вопросы и ответы)

3019. Что такое Java EE?
3020. Какие модули входят в Java EE?
3021. Какие типы Java EE клиентов вы знаете? (applets, Application clients, Java Web Start-enabled clients, by Java Web Start technology.
Wireless clients, based on MIDP technology)
3022. Что вы знаете о EJB?
3023. Какая разница между .jar, .war и .ear файлами?
3024. Какие компоненты содержит веб модуль?
3025. Java CDI.
3026. Какие технологии поддерживает Java EE?
3027. Расскажите о Java Persistense API.
3028. Что входит в web уровень JEE?
3029. Java Bean Validation.
3030. Java EE Security.
3031. Java EE Messaging.









Квалификационные задания для Java разработчиков
Теперь подробнее о заданиях. Задания разделены на 3 категории.
Level 1 позволяет оценить базовые знания, насколько вы, знаете базовые
основы языка, основы программирования и насколько хорошо владеете
программами необходимыми для разработки продуктов.
Level 2 содержит вопросы, позволяющие оценить глубину ваших знаний в той
или иной части языка программирования, а так же узнать о знании смежных
технологий.
Ну и последняя часть, это Level 3 в которой собранны вопросы и задачи по
разработке масштабируемых высоконагруженных систем, а так же вопросы
на знание низкоуровнего устройства технологий.



Level I
Вопросы данной категории не имеют однозначного ответа который можно было нагуглить или
найти в википедии. Если вы еще в ответах укажите, как, при каких обстоятельствах
сталкивались с проблемой на собственном опыте и как решили - это будет несомненным
плюсом, и будет засчитано как COMBO X8.
Q1
Опишите основные плюсы разработки на Java. Как Вы производите сборку (build)?
Q2
Какие технологии Java Enterprise Edition вы чаще всего используете? В чем
сложность их использования?
Q3
Расскажите о плюсах использования паттерна MVC. В каких случаях не стоит его
использовать? Какие в нем минусы?
Q4
Расскажите об используемых Вами фреймворках (программных каркасах). В чем их
плюсы? Для каких задач лучше использовать существующий фреймворк, а когда
лучше все написать самому?
Q5
Сборка мусора. Какие проблемы с ней связанны? Какие решения вы бы предложили?
Q6
В чем плюсы использования SVN/CVS/GIT? Какие сложности при работе с ним у вас возникали?

Q7
При работе в команде, каким бы местам в разработке, вы бы удилили большее
внимание? Какие бы соглашения (Coding Conventions) вам бы помогли в командной
разработке?
Q8
Использование баг-трекеров. В чем плюсы? Расскажите о проблемах использования
вами баг-трекеров.


Level II
Вопросы данной категории содержат технические вопросы, в некоторых вам даже придется
попробовать себя в роли компилятора. Если вы сможете в ваших ответах на данные вопросы
указать, что же еще происходит на низком уровне или почему так происходит - это будет
засчитано как COMBO X16.
Q1
Объясните почему происходит следующее: Расскажите, в каких случаях, какой
контейнер сервлетов лучше использовать:
• Resin
• Tomcat
• Jetty
• WebSphere
• GlassFish
• JBoss

Q2
Расскажите о использовании Java Message Service (JMS), какие проблемы могут
возникнуть при работе сним?
Q3
Каковы плюсы использования Enterprise Java Beans (EJB)? Какие альтернативные
технологии можно использовать вместо EJB?


Q4
Есть большая продакшен система. Поступает информация, что одна из основных
частей (ORM) начала выдавать ошибки. Вам нужно эти ошибки исправить. ORM
система работает с базой C-Store, используя С++ код, через JNI.
• Опишите как Вы начнете анализ места генерации ошибок.
• Какие варианты временного устранения неполадки (костыля) Вы можете предложить?
Q5
Нужно написать прослойку между почтовым сервером и front-end приложением
(Flash AS3 Application). Опишите следующие моменты:
• Какой формат обмена данными вы бы использовали, для минимального трафико-обмена
(по умолчанию считаем, front-end сможет читать абсолютно любой формат)?
• В чем плюсы выбранного вами формата?
• Какие бы технологии (сервера/фреймворки/утилиты) вы использовали?


Level III
В данной категории содержатся задачи и описание реально возникающих проблем. Постарайтесь
придумать и описать ваше решение данных задач. Чем более детализовано будет решение, тем
лучше! Вы можете искать решения в интернете, гуглить, читать википедию и так далее, но
помните, что вероятнее всего в будущем вам придется столкнутся с такими задачами. Если вы
решите все эти задачи, то вы - TRUE HARDCORE JAVA DEVELOPER.
Q1
Есть проект, суть которого в продаже автомобилей. Требования у заказчиков
такие: версионность данных(как Wikipedia), возможность расширения моделей
данных (можно добавить к описанию автомобиля кастомное свойство, например
наличие модинга). Опишите следующие моменты:
• Какую базу данных лучше всего использовать?
• Как реализовать версионность в данном случае?
• Как реализовать возможность расширения моделей?
• Какова будет конечная структура базы данных?
• Какие сложности могут возникнуть в реализации проекта?


Q2
Планируется проект, рассчитанный на большое количество информации, для
этого изначально планируется использовать более 6 серверов с MySQL базами
данных (есть возможность докупить любое количество серверов). Опишите
следующие моменты:
• Как распределить нагрузку между всеми серверами?
• Как реализовать максимальную стабильность работы серверов?
• Как можно снизить загрузку серверов?
• Оптимально ли использовать MySQL? Каковы плюсы и минусы использования?
Q3
Поступило предложение заказчика, на создания аналога сервиса микроблогинга
Twitter. На вас ложится задача разработки первичной версии архитектуры
проекта. По-умолчанию считаем, что заказчик готов предоставить
неограниченные средства. Опишите следующие моменты:
• Какую конфигурацию программной части вы бы составили для проекта (Операционная
система, языки программирования, база данных, фреймворки или сторонние разработки)?
Опишите в чем плюсы вашей конфигурации.
• Какие слабые стороны возможны у данного проекта? Какие решения Вы можете
предложить?
• Опишите схему внутренней работы проекта.


1. Общие вопросы



1.1 Каковы основные функции разных версий Spring Framework?

1.2 Что такое Spring Framework?

1.3. Перечислите преимущества Spring Framework.

1.4 Каковы различные функции Spring Framework?

1.5 Сколько модулей в Spring Framework и какие они?

1.6 Что такое файл конфигурации Spring?

1.7 Каковы различные компоненты приложения Spring?

1.8 Как можно использовать Spring?



2. Внедрение зависимости (Ioc)



2.1 Что такое контейнер Spring IOC?

2.2 Что такое внедрение зависимостей?

2.3 Сколько способов может быть выполнено внедрение зависимостей?

2.4 Различия между внедрением конструктора и внедрением сеттера.

2.5 Сколько контейнеров с МОК будет весной?

2.6 Различия между BeanFactory и ApplicationContext.

2.7. Перечислите некоторые преимущества IoC.

2.8 Механизм реализации Spring IoC.



3. Beans



3.1 Что такое весенняя фасоль?

3.2 Какие методы настройки предоставляет Spring?

3.3 Поддерживает ли Spring централизованную область видимости компонентов?

3.4 Каков жизненный цикл контейнера для весенних зерен?


3.5 Что такое внутренняя составляющая весны?

3.6. Что такое пружинный узел




3.7 Какие существуют методы автоматической сборки?


3.8 Каковы ограничения автоматической сборки?



4. Аннотация



4.1 Какие важные аннотации Spring вы использовали?

4.2 Как начать сборку аннотации весной?


4.3 В чем разница между @Component, @Controller, @Repository, @Service?

4.4 Какая польза от аннотации @Required?

4.5. Какая польза от аннотации @Autowired?

4.6 Какая польза от аннотации @Qualifier?

4.7. Какая польза от аннотации @RequestMapping?



5. Доступ к данным



5.1 Какая польза от Spring DAO?

5.2 Перечислите исключения, создаваемые Spring DAO.


5.3 Какие классы существуют в Spring JDBC API?


5.4 Как можно получить доступ к Hibernate с помощью Spring?

5.5. Перечислите типы управления транзакциями, поддерживаемые Spring

5.6 Какие рамки ORM поддерживает Spring?



6. AOP




6.1 Что такое АОП?



6.2 Что такое параметры Aspect, Advice, Pointcut, JointPoint и Advice в АОП?


6.3 Что такое совет?


6.4 Какие существуют советы (советы)?

6.5 Укажите на разницу между беспокойством и сквозным беспокойством в весеннем сезоне.


6.6 Каковы методы реализации АОП?

6.7 В чем разница между Spring AOP и AspectJ AOP?

6.8 Как понять прокси в Spring?

6.9 Что такое ткачество?



7. MVC



7.1 Какая польза от Spring MVC framework?

7.2. Опишите рабочий процесс DispatcherServlet.

7.3. Введение в контекст WebApplicationContext