Spring Framework считается самой популярной средой, используемой разработчиками Java, по крайней мере, в сфере разработки приложений. Вот почему неудивительно, что все больше и больше работодателей ищут разработчиков и программистов на Java, которые бы разбирались в Java Spring. Если вы стремитесь получить работу в качестве разработчика с опытом в Spring, вероятно, было бы хорошей идеей узнать, что что могут спросить на собеседовании. Java Spring уроки вам также понадобятся, но о них в другой раз.
Вначале мы рассмотрим основы. После этого последуют вопросы о Java Spring Framework для опытных разработчиков. Я обобщу информацию в самом конце и оставлю вам несколько советов на будущее.
Содержание
- 1. Введение
- 1.1. Вопрос 1: Что такое Spring Framework?
- 1.2. Вопрос 2: Как много версий у Spring?
- 1.3. Вопрос 3: Какие у Spring преимущества?
- 1.4. Вопрос 4: Что такое MVC?
- 1.5. Вопрос 5: Что такое dependency injection?
- 1.6. Вопрос 6: Что такое Boot?
- 1.7. Вопрос 7: Что такое XML-файл?
- 1.8. Вопрос 8: Как много разных модулей в Spring Framework?
- 1.9. Вопрос 9: Опишите IOC своими словами
- 1.10. Вопрос 10: Что такое bean?
- 1.11. Вопрос 11: Почему стоит использовать constructor injection для внедрения beans?
- 1.12. Вопрос 12: Что такое join point?
- 1.13. Вопрос 13: Что такое AOP?
- 1.14. Вопрос 14: Как использовать загрузку Initilizr?
- 1.15. Вопрос 15: Что такое advice?
- 2. Продвинутые вопросы о Spring Framework
- 2.1. Вопрос 1: Какая разница между двумя типами IOC?
- 2.2. Вопрос 2: Почему не работает Annotation wiring?
- 2.3. Вопрос 3: Какая разница между ‘concern’ и ‘cross-cutting’?
- 2.4. Вопрос 4: Что такое autowriting?
- 2.5. Вопрос 5: Для чего используется weaving?
- 2.6. Вопрос 6: Как проходят операции в Spring Framework?
- 2.7. Вопрос 7: Что такое target object?
- 2.8. Вопрос 8: Что делает @Controller?
- 2.9. Вопрос 9: Что такое DAO?
- 2.10. Вопрос 10: Что делает @Autowired?
- 2.11. Вопрос 11: Что делает @RequestMapping?
- 2.12. Вопрос 12: Что такое MVC Interceptor?
- 2.13. Вопрос 13: Как можно использоваться introduction?
- 2.14. Вопрос 14: Что произойдет, если использовать @Autowire вместе с @Qualifier?
- 2.15. Вопрос 15: Какова конфигурация Annotation-based контейнера?
- 3. Обобщение
- 4. Заключение
Введение
Мы начнем этот урок с основ. Эти основы достаточно фундаментальны, и если вы опытный разработчик Spring, вы должны знать их. Даже если вы знаете все вопросы и ответы, которые могут быть на собеседовании, не лишним будет еще раз пересмотреть это. После этого мы перейдем к более сложным вещам.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Вопрос 1: Что такое Spring Framework?
Чтобы перейти к вопросам, которые могут вам задать на интервью о Spring MVC, мы должны повторить определения. И это не бесполезная работа - ваши потенциальные работодатели, вероятно, спросят то же самое в начале вашего собеседования.
Если говорить о базовых понятиях в Spring Framework, всегда старайтесь отвечать своими собственными формулировками. Это покажет интервьюерам, что вы не просто робот, который запомнил определения, но и можете объяснить своими словами.
Так о чем же мы ..? Spring. Итак, что такое Spring?
Spring - это среда с открытым исходным кодом, основанная на Java. Он разработан для помощи в разработке веб-приложений.
Вопрос 2: Как много версий у Spring?
Всего 3 основные версии - Spring 2.5, Spring 3.0 и Spring 4.0.
Вопрос 3: Какие у Spring преимущества?
По правде говоря, это один из наиболее субъективных вопросов всего интервью, поскольку ответ на него почти полностью основан на собственном мнении. При ответе на него вам следует привести примеры из личного опыта.
Однако я могу предложить вам несколько примеров самых популярных ответов: это открытый код, готовые шаблоны, простота в использовании и тестировании и т. д.
Вопрос 4: Что такое MVC?
Это один из вопросов на интервью о Spring, который вы можете получить во время собеседования.
MVC расшифровывается как Model View Controller. Это часть Spring Framework. MVC используется для полноценного создания различных веб-приложений.
Вопрос 5: Что такое dependency injection?
Dependency injection (внедрение зависимостей) используется для предоставления определенных специфических зависимостей для объектов. Это шаблон проектирования, который делает ваши проекты более плавными и более подходящими для таких действий, как тестирование.
Вопрос 6: Что такое Boot?
Этот вопрос точно может быть в списке интервьюера. Как вы, наверное, заметили, вас будут спрашивать не только о Spring Framework - это было бы слишком просто! Вам также необходимо разбираться в различных расширениях и обновлениях.
Spring Boot - это версия Spring, цель которой - сделать процесс создания приложений более удобным. Одна из его ключевых особенностей заключается в том, что она устраняет необходимость определения шаблонных конфигураций - несомненно, это порадует многих разработчиков.
Вопрос 7: Что такое XML-файл?
XML - это файл конфигурации Spring. Это основной тип файла, который содержит всю информацию о различных типах классов и о том, как они соотносятся друг с другом.
Вопрос 8: Как много разных модулей в Spring Framework?
Spring имеет около двадцати модулей. Все они разделены на отдельные контейнеры. Контейнеры, такие как: основной контейнер, веб-контейнер, контейнер доступа к данным, контейнер аспекта и инструментария и тестовый контейнер. Есть также несколько небольших контейнеров.
Вопрос 9: Опишите IOC своими словами
IOC означает инверсию контроля. Это основной контейнер Java Spring. Он использует вышеупомянутое внедрение зависимостей для управления и настройки различных интегрированных приложений. В настоящее время в Spring может быть два типа IOC - ApplicationContext и BeanFactory.
Вопрос 10: Что такое bean?
«Bean» - это объект, который интегрируется и конфигурируется контейнером IOC.
Вопрос 11: Почему стоит использовать constructor injection для внедрения beans?
Не засыпьтесь на этом вопрос на собеседовании о Spring Framework - обратите внимание, что constructor injection используется только для внедрения обязательных зависимостей.
Что касается того, почему вы должны использовать этот тип вместо всего остального, это довольно просто. Этот тип внедрения значительно облегчает последующие процессы тестирования.
Вопрос 12: Что такое join point?
Join point (точка соединения) представляет собой точку в программе, где структура AOP будет инициализирована.
Вопрос 13: Что такое AOP?
АОП расшифровывается как Аспектно-ориентированное программирование (Aspect-Oriented Programming). Он отличается от ООП (объектно-ориентированного программирования) тем, что ООП фокусируется на классах, в то время как ключевым модульным модулем АОП является аспект. В АОП аспекты реализуют и подчеркивают сквозные проблемы.
Вопрос 14: Как использовать загрузку Initilizr?
«Initilizr» - это тема, которая часто затрагивается в вопросах интервью Spring Boot. Это довольно важный компонент, поэтому давайте кратко рассмотрим, зачем он нам нужен.
Разработчики используют «Initilizr», чтобы максимизировать свою производительность за короткие сроки. Этот инструмент хорош тем, что предоставляет начальный шаблон для вашего проекта и упрощает процесс создания сценариев.
Вопрос 15: Что такое advice?
Помните, когда мы говорили о «join points»? Что ж, всякий раз, когда аспект выполняет какое-то действие в этой join points, это действие называется advice.
Продвинутые вопросы о Spring Framework
Я надеюсь, что вы разогрелись на вопросах об основах, потому что теперь пришло время перейти к весенним интервью и вопросам для опытных разработчиков и программистов.
В качестве пример взглянем на эти вопросы. Многие Java Spring уроки затрагивают эти темы в своих программах. Вероятно, было бы невозможно перечислить все возможные варианты этих вопросов здесь, поэтому я выбрал некоторые из них. Затем вы можете дополнить этот список своими вопросами. Таким образом, вы сможете охватить большинство возможных вопросов на интервью о Spring Framework.
Вопрос 1: Какая разница между двумя типами IOC?
Если вы помните, одним из основных вопросов было описание IOC. Двумя типами IOC были ApplicationContext и BeanFactory.
Между двумя типами IOC есть одно ключевое отличие: ApplicationContext - это расширенный контейнер, а BeanFactory - базовый. Это означает, что BeanFactory является основой функций ApplicationContext.
Вопрос 2: Почему не работает Annotation wiring?
Вероятно, это будет один из тех вопросов на собеседовании, где вам будет дана ситуация, которую вам придется объяснить. Здесь ваш потенциальный работодатель указывает, что функция Annotation wiring по какой-то причине не работает - и причина, вероятно, довольно проста.
По умолчанию Annotation wiring будет отключена. Для того, чтобы он работал, вы должны включить его в файлах конфигурации.
Вопрос 3: Какая разница между ‘concern’ и ‘cross-cutting’?
Concern используется, когда вы хотите внедрить особую, специфическую функцию в ваш проект (приложение). Cross-cutting - это функции, которые будут применяться на протяжении всего проекта - все модули в вашем приложении в нем затрагиваются.
Вопрос 4: Что такое autowriting?
‘Autowriting‘ позволяет разработчику вводить bean-компоненты в свое приложение автоматически, без необходимости ручного вмешательства.
Вопрос 5: Для чего используется weaving?
Weaving используется для создания рекомендованных объектов. Это делается путем связывания определенных аспектов с другими конкретными объектами в приложении.
Вопрос 6: Как проходят операции в Spring Framework?
Spring допускает два типа управления транзакциями: декларативный и программный.
Декларативное управление транзакциями - это когда вы отделяете свой код от самих транзакций. В одном из наших предыдущих вопросов о Java Spring (вопрос № 7 из первой части) речь шла об XML. Это важно сейчас, потому что многие разработчики используют XML-конфигурации для управления своими транзакциями.
Программное управление транзакциями включает ваш бизнес-код в управление транзакциями. Это, как правило, реже встречающийся выбор управления транзакциями. Есть несколько причин, почему это так, но главная из них связана с кодом. Многие программисты не хотят лишний раз менять код, чтобы не сломать что-либо в процессе.
Вопрос 7: Что такое target object?
Как только аспекты переключаются на объект, он автоматически становится целевым объектом (target object). Некоторые также любят называть его «рекомендованным объектом».
Вопрос 8: Что делает @Controller?
@Controller превращает специальные Spring классы в управляющие классы
Вопрос 9: Что такое DAO?
В Spring Framework DAO это объект доступа к данным. Этот инструмент позволяет разработчикам легче подходить и работать с инструментами доступа к данным, особенно на Java.
Вопрос 10: Что делает @Autowired?
Команда @Autowired дает вам гибкость в выборе того, куда вы хотите подключить ваш объект. Эта команда делает процесс намного проще и плавнее, обеспечивая более высокую точность.
Вопрос 11: Что делает @RequestMapping?
Эта команда используется, когда вы хотите сопоставить определенный метод HTTP с определенным классом. Вы можете использовать эту команду как на уровне класса, так и на уровне метода.
Вопрос 12: Что такое MVC Interceptor?
В Spring MVC Interceptor может использоваться для обработки запроса клиента до, во время и даже после обработки. Это отличный инструмент, позволяющий избежать нежелательных повторений кода.
Вопрос 13: Как можно использоваться introduction?
Команда introduction позволяет добавлять новые атрибуты в класс, который уже повторно отправляется в Spring.
Вопрос 14: Что произойдет, если использовать @Autowire вместе с @Qualifier?
Этот тип комбинации используется, когда в приложении много разных типов одного компонента. Эта комбинация различает каждый bean.
Как вы, наверное, заметили, существует довольно много вопросов о «@». Вот почему важно знать, что делает каждый из «@» контроллеров, поэтому обязательно запомните их!
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 15: Какова конфигурация Annotation-based контейнера?
Это альтернативная конфигурация контейнера для ранее упомянутого XML. Этот тип конфигурации в основном ориентирован на метаданные байт-кода.
Обобщение
Это были одни из самых популярных вопросов о Spring Framework, которые могут вам задать на собеседовании.
Вероятно, самый важный совет, который я могу вам дать (по крайней мере, когда речь идет о Java Spring Framework), - изучить как можно больше различных вариантов этих вопросов. Просто выберите случайный вопрос из этого списка, найдите его в Google, чтобы найти более широкие определения терминов, а затем посмотрите, с какими подобными вопросами вы можете столкнуться.
Во время самого собеседования всегда старайтесь добавлять свое собственное мнение на вопрос, который вам задают, особенно если он основан на определении. Ваши работодатели, вероятно, оценят тот факт, что вы пытаетесь выразить сложные термины и понятия своими словами. И не забывайте пересматривать вопросы о Spring Boot или Spring MVC - они просто являются дополнением к главному, и вас рано или поздно обязательно спросят о них.
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
В этой статье мы рассмотрели основы, вопросы и ответы для опытных разработчиков, вопросы о Spring Boot и так далее.
Помните - чем больше времени вы уделяете изучению вопросов и ответов, изучите Java Spring уроки, тем больше у вас шансов получить работу своей мечты. Делайте все возможное, не волнуйтесь об этом и учитесь на опыте, который вы получите!
Я надеюсь, что вы будете использовать информацию, предоставленную в нем, чтобы получить работу своей мечты! Удачи!