Рубрики
Без рубрики

Топ-21 Вопросов для интервью с Весенней Загрузкой

За последние несколько месяцев я получил несколько запросов о вопросах для собеседования в Spring Boot. В этом… С тегами spring boot, микросервисы, java, spring.

За последние несколько месяцев я получил несколько запросов о вопросах для собеседования в Spring Boot. В этом посте я расскажу о 21 главном вопросе интервью Spring Boot. Кроме того, я также рассмотрю некоторые вопросы, связанные с архитектурой микросервисов.

Я разделил эти вопросы для интервью Spring Boot на три категории – для новичков, для среднего уровня и для опытных разработчиков. Поэтому, если у вас нет опыта работы с Spring Boot, вам помогут вопросы новичков.

Вопросы для интервью с Spring Boot для начинающих разработчиков

1. Что такое Spring Boot и чем он полезен при разработке веб-приложений?

Spring Boot – это фреймворк, построенный поверх Spring Framework для быстрой разработки приложений. Точно так же известны Ruby on Rails, Django с веб-фреймворками Python. В частности, Spring привнесла в Java столь необходимую веб-платформу для создания веб-приложений. Важные функции, такие как встроенный сервер приложений и автоматическая настройка, обеспечивают быструю разработку и развертывание.

  • Платформа Spring Boot framework позволяет легко импортировать зависимости.
  • Это также облегчает использование Spring Security в приложениях с его богатыми функциями.
  • Привод – Можно реализовать готовые к производству функции для мониторинга приложения.

2. В чем разница между Spring Boot и Spring?

Spring framework включает в себя множество функций, которые можно использовать в Spring Boot framework. С другой стороны, платформа Spring Boot используется для разработки приложений.

В равной степени Spring framework предоставляет такие функции, как привязка данных, внедрение зависимостей, аспектно-ориентированное программирование, доступ к данным, безопасность.

Короче говоря, Spring Boot – это один из модулей Spring Framework. Пружинный ботинок построен на верхней части пружинного каркаса. Spring Boot – это платформа на основе микросервисов для создания приложений. Функция автоматической настройки в Spring Boot помогает сократить количество строк кода.

3. Как вы можете настроить приложение Spring Boot с помощью maven или gradle?

Для настройки приложения spring boot можно использовать maven или gradle. Оба используются для извлечения необходимых зависимостей в приложении. В частности, для приложения spring boot можно использовать spring-boot-starter-parent зависимость.

В maven используется pom.xml файл и в gradle используется build.gradle для объявления зависимостей

Знаток:

    org.springframework.boot
    spring-boot
    2.4.1

Сортировка:

compile group: 'org.springframework.boot', name: 'spring-boot', version: '2.4.1'

4. Как вы можете изменить порт по умолчанию приложения Spring Boot?

Существует три способа изменить порт по умолчанию приложения Spring Boot. Следовательно, наиболее простым способом является использование application.properties или application.yml файл.

  • server.port используйте это свойство в application.properties.
  • Вы также можете изменить порт программно в основном классе @SpringBootApplication .
  • Вы можете использовать порт по вашему выбору при запуске приложения в виде файла jar. java-jar-файл

5. Как бы вы настроили приложение с портом HTTPS при загрузке Spring?

По умолчанию приложение Spring Boot запускается на HTTP-порту. Чтобы ваше приложение работало с портом HTTPS, есть два способа.

  • Можно использовать server.port , сервер.ssl.хранилище ключей-пароль , , сервер.ssl.хранилище ключей , сервер.ssl.тип хранилища ключей и
  • сервер.ssl.ключ-псевдоним

6. Какие встроенные серверы поддерживает Spring Boot?

Приложение Spring Boot поддерживает веб-серверы Tomcat, Jetty и Undertow. По умолчанию веб-сервер Tomcat поддерживается веб-стартером Spring Boot.

Чтобы изменить веб-сервер по умолчанию, необходимо исключить spring-boot-starter-tomcat и включить соответствующий стартер сервера, такой как jetty или undertow.


    org.springframework.boot
    spring-boot-starter-web
    
        
            org.springframework.boot
            spring-boot-starter-tomcat
        
    


    org.springframework.boot
    spring-boot-starter-jetty


7. В чем преимущества пружинного ботинка?

Вот основные преимущества пружинного ботинка

  • Позволяет создавать автономные пружинные приложения
  • Можно легко использовать сервер tomcat, jetty или undertow
  • Быстрое Развитие
  • Также позволяет легко использовать архитектуру на основе микросервисов

Вопросы для интервью с весенней загрузкой для промежуточных разработчиков

До сих пор я рассмотрел некоторые основные вопросы для интервью. Если вы разработчик с несколькими годами опыта в разработке Java или Spring Boot, следующий набор вопросов поможет вам в том, где можно улучшить.

8. Как развернуть веб-приложение Spring Boot в виде файлов jar и war?

Как правило, мы развертываем веб-приложение в виде файла веб-архива (WAR). Мы развертываем файл war на внешнем веб-сервере.

Очевидно, Spring предлагает плагин spring-boot-maven-плагин , если использует maven для создания приложения. Затем вы можете упаковать веб-приложение в виде исполняемого файла jar. При использовании gradle сборка gradle по умолчанию создаст исполняемый файл jar.

Для мавена,

<упаковка>jar создаст файл jar.

<упаковка>война создаст файл войны. Если элемент упаковки не включен, maven по умолчанию будет содержать файл jar. Вам также необходимо сохранить зависимость контейнера следующим образом:


    org.springframework.boot
    spring-boot-starter-tomcat
    provided

Для gradle вам необходимо пометить зависимости встроенного контейнера как принадлежащие предоставленной конфигурации среды выполнения плагина war.

9. Почему мы используем аннотацию @SpringBootApplication в основном классе приложений Spring Boot?

Для приложений, использующих автоматическую настройку, сканирование компонентов и дополнительные конфигурации, можно включить одну аннотацию @SpringBootApplication . Эта аннотация включает в себя три аннотации @EnableAutoConfiguration , @Компонентскан , и @Конфигурация .

  • @EnableAutoConfiguration – включить автоматическую настройку Spring Boot
  • @ComponentScan – это позволяет сканировать пакеты, в которых находится приложение.
  • @Configuration – разрешить регистрацию дополнительных компонентов в контексте или импортировать дополнительные классы конфигурации.

10. Для чего используются аннотации @RestController и @RequestMapping?

@RestController – Эта аннотация добавляет аннотации @Controller и @ResponseBody. Эта аннотация обозначает класс, который будет обрабатывать входящие запросы. Обычно эта аннотация используется для создания интерфейсов API RESTful.

@RequestMapping – Эта аннотация предоставляет информацию о маршрутизации в классе, который обрабатывает входящие запросы. Эта аннотация сопоставляет входящие HTTP-запросы с соответствующим методом.

11. Зачем нам нужны Пружинные профили?

При создании корпоративных приложений мы используем различные среды, такие как разработка, тестирование, контроль качества и производство. Spring Boot позволяет настраивать свойства приложения по-разному для каждой из этих сред.

Чтобы помочь разделить конфигурацию для каждой среды, можно назвать файл свойств в соответствии со средой, например application-dev.свойства , приложение-тест.свойства , и применение - прод.свойства .

12. Как отключить определенную автоматическую настройку?

Чтобы отключить какую-либо конкретную автоматическую настройку, можно использовать исключить атрибут для @EnableAutoConfiguration аннотации.

@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
public class SampleApplication
{
}

13. Что такое Thymeleaf и как его использовать?

Thymeleaf – это серверный механизм шаблонов для веб-приложения. Его основная цель – привнести естественные шаблоны в веб-приложение.

В частности, для использования thymeleaf необходимо включить зависимость spring-boot-starter-thymeleaf в приложение.

14. Каковы различные устройства для запуска пружинных загрузок и для какой цели вы можете их использовать?

Подчеркну, что одним из основных преимуществ Spring Boot является возможность использовать различные зависимости для вашего приложения Spring Boot. Все зависимости начальной загрузки с пружиной находятся в org.springframework.загрузка группа. Эти зависимости начинаются с spring-boot-starter- .

Существует более 50 начальных зависимостей, но вот список зависимостей, которые большинство разработчиков будут использовать в своих приложениях:

  • пружинный загрузочный стартер – Основной стартер. Это включает в себя автоматическую настройку, ведение журнала и YAML.
  • spring-boot-starter-data-jpa – Это включает в себя Spring data JPA с гибернацией.
  • spring-boot-starter-безопасность – Модель безопасности Spring обеспечивает безопасность вашего веб-приложения. По умолчанию он добавит базовую аутентификацию на основе форм.
  • пружинный загрузчик-стартер-веб – Это включает в себя веб-модуль и помогает создавать веб-приложения для отдыха с использованием Spring MVC.
  • пружинный загрузчик-стартер-вилочный лист – Импорт этого модуля позволяет разработчику использовать механизм шаблонов thymeleaf в приложении.
  • пружинный загрузочный стартер-jdbc – Этот модуль помогает в подключении к базе данных для вашего приложения.
  • пружинный загрузчик-стартер-tomcat – Обычно это часть родительского модуля spring boot. Это позволяет разработчику использовать встроенный контейнер сервлетов tomcat.

Вопросы для интервью с Spring Boot для опытных разработчиков

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

15. Как подключить приложение Spring Boot к базе данных с помощью JPA?

Spring Boot предоставляет spring-boot-starter-data-jpa зависимость для подключения приложения Spring к реляционной базе данных.

С другой стороны, Spring Data JPA справляется со сложностями доступа к базе данных на основе JDBC и объектно-реляционного моделирования. Следовательно, это улучшает реализацию обработки уровня доступа к данным. С точки зрения разработчика, это уменьшает зависимость от запросов к реляционной базе данных.

JPA позволяет сопоставлять классы приложений с таблицами базы данных.

16. Почему вы используете привод пружинной загрузки?

Пружинный загрузочный привод привносит в приложение готовые к производству функции. В результате можно легко контролировать приложение.

Он также обеспечивает аудит, проверку работоспособности и различные показатели для приложения. Поэтому вы включаете зависимость следующим образом:


    org.springframework.boot
    spring-boot-starter-actuator
    provided


Вот некоторые из конечных точек, которые эта зависимость предоставляет для приложения:

  • env – Конечная точка для отображения все свойства окружающей среды
  • работоспособность – Конечная точка для отображения работоспособности приложения
  • показатели – Эта конечная точка отображает различные показатели приложения
  • регистраторы – Отображение конфигурации регистраторов в приложении
  • трассировка http – Конечная точка для отображения информации о трассировке HTTP

17. Для чего используются девтулы Spring Boot?

Средства разработки Spring Boot или инструменты разработчика – это набор инструментов, которые упрощают процесс разработки. Чтобы включить поддержку DevTools, необходимо добавить зависимость spring-boot-devtools в проект.

Spring Boot DevTools помогает отключить кэширование, используемое многими зависимостями spring boot. Это полезно в процессе разработки, так как разработчик хочет немедленно увидеть изменения.

Кроме того, использование этой библиотеки позволяет приложениям перезапускаться при каждом изменении файлов в пути к классам.

Кроме того, библиотека позволяет вести журнал отладки для веб-группы.

18. В чем преимущество использования Spring Data JPA?

Spring Data Jpa предоставляет JpaTemplate для интеграции приложения Spring с JPA. Вы также можете выбрать конкретную реализацию спецификации JPA. По умолчанию он будет находиться в спящем режиме.

Преимущества Spring Data JPA

  • Уменьшает стандартный код
  • Сгенерированные запросы помогают уменьшить зависимость разработчика от базы данных запросы
  • Шаблон репозитория позволяет разработчикам легко справляться с сохраняемостью.

19. Объясните, что пружинный ботинок поддерживает ослабленную привязку.

Как правило, ключ свойства должен точно совпадать с именем свойства в приложении Spring Boot. Spring Boot поддерживает упрощенную привязку, что означает, что ключ свойства не обязательно должен точно совпадать с именем свойства.

Более того, свойство среды может быть записано в любом случае. Пример – Если у вас есть свойство база данных свойств в вашем классе компонентов с аннотацией @ConfigurationProperties , вы можете привязать это свойство к любому из этих свойств среды – PROPERTYDB , propertydb , или property_db .

20. Если вы хотите использовать Spring Security в своем приложении, как вы его используете и как это обеспечивает безопасность приложения?

В настоящее время для защиты вашего приложения Spring Boot вы можете включить в свой проект зависимость//spring-boot-starter-security. По умолчанию он добавит некоторые меры безопасности для вашего приложения. Эти меры по умолчанию включают добавление в приложение базовой проверки подлинности на основе форм или защиту API-интерфейсов REST.

Впоследствии, чтобы усилить защиту пружины, можно расширить WebSecurityConfigurerAdapter класс для добавления пользовательских мер безопасности. В том же классе вы будете использовать @EnableWebSecurity аннотацию. Эта аннотация позволяет Spring находить конфигурации и применять класс к глобальной веб-безопасности.

21. Для чего вы используете аннотацию @ControllerAdvice?

@ControllerAdvice аннотация помогает управлять исключениями в приложении Spring Boot. Короче говоря, это перехватчик исключений, создаваемых методами, помеченными @RequestMapping.

ResponseEntityExceptionHandler – это базовый класс, обеспечивающий централизованную обработку исключений.

До сих пор я освещал вопросы для собеседования в Spring Boot. Я все же рассмотрю несколько вопросов для интервью с микросервисами, которые могут помочь разработчикам.

Вопросы для интервью с микросервисами

1. Что такое Микросервисы?

Микросервисы – это архитектурный стиль. Он структурирует приложение как набор сервисов это

  • Высокая ремонтопригодность
  • Слабо соединенные
  • Легко развертываемый
  • Принадлежит небольшой команде

2. Какие общие инструменты используются для создания и развертывания микросервисов?

Это зависит от стека технологий. Docker остается одним из распространенных инструментов, независимо от стека технологий. Следовательно, docker позволяет создавать контейнер для микросервиса. Затем этот контейнер можно развернуть в облачной среде.

Wiremock – еще один инструмент для гибкого глумления над API для микросервисов.

Hystrix – это автоматический выключатель, который помогает в задержке и отказоустойчивости приложения.

3. Как Spring помогает в разработке микросервисов?

Самое главное, весна способствует быстрому развитию. Spring Boot помогает в создании API-интерфейсов REST, веб-приложений. Spring Cloud помогает в интеграции с внешними системами.

4. В чем заключаются проблемы с микросервисами?

Микросервисы полагаются друг на друга. Следовательно, связь между этими службами должна быть обеспечена. Поскольку микросервисы являются распределенной системой, она может стать сложной моделью. Могут возникнуть операционные накладные расходы. Больше услуг означает больше ресурсов.

Вывод

В этом посте я осветил большинство вопросов о Spring Boot, с которыми вы можете столкнуться во время собеседования. Я надеюсь, что вы найдете этот пост полезным.

Оригинал: “https://dev.to/betterjavacode/top-21-spring-boot-interview-questions-1705”