22 запитання та відповіді на інтерв’ю Spring Boot

| | 0 Comments| 6:30 AM
Categories:

Ви розробник Java Spring Boot і з нетерпінням чекаєте на наступну співбесіду, але не знаєте, яких запитань очікувати? Ми тут, щоб допомогти!

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

Інтерв’юери використовують стратегічні запитання Java Spring Boot, щоб перевірити рівень навичок співбесідників, що відповідає їхній посаді. Тому вам потрібно підготуватися до відповідних питань і знати, як на них відповісти.

Перш ніж перейти безпосередньо до питань інтерв’ю та відповідних відповідей, давайте розглянемо базовий огляд того, що таке Spring Boot і наскільки він корисний для розробників Java.

Що таке Java Spring Boot?

Цей фреймворк Java створено ключовою командою в 2014 році. Spring Boot, який є фреймворком з відкритим вихідним кодом, ефективно розробляє незалежні додатки виробничого рівня, які також можуть працювати на віртуальній машині Java (JVM).

Розробники Java віддають перевагу для розробки веб-додатків і мікросервісів через його швидкий і легкий процес налаштування та безпечний час налаштування.

Просте встановлення та конфігурація додатків на основі Spring за допомогою Spring Boot можливе завдяки трьом основним можливостям, які включають:

  • Автоконфігурація – це автоматична конфігурація програми Spring.
  • Spring Boot забезпечує впевнений підхід до конфігурації за замовчуванням для використання та пакетів для встановлення для необхідних залежностей. Такий уважний підхід допомагає швидко налаштувати проекти.
  • Sprsetupoot дозволяє вам самостійно запускати свою програму без необхідності використання веб-сервера.

Чим Spring Boot корисний для розробників Java?

По-перше, розробникам Java, які використовують Spring Boot, стає легше завдяки автоматичному налаштуванню всіх компонентів, необхідних для розробки програми Spring продуктивного рівня. Це в довгостроковій перспективі скорочує час розробки та, зрештою, підвищує їх ефективність.

Spring Boot також легко інтегрується з екосистемою Spring, яка включає Spring JDBC, Spring Data, Spring Security і Spring ORM.

Розробники Java також можуть підключати Spring Boot до різних баз даних, таких як Oracle, MySQL, PostgreSQL і MongoDB, серед інших.

Звичайно, гнучкі конфігурації з конфігураціями XML, Java Beans і транзакції бази даних є серед інших корисних функцій.

Отже, тепер, коли ви маєте базовий огляд Spring Boot, давайте розглянемо деякі запитання та відповіді на співбесіду Spring Boot, які часто ставлять, які допоможуть вам підготуватися до співбесіди.

Запитання та відповіді на інтерв’ю Spring Boot

Які особливості Spring Boot?

Деякі з цих популярних функцій включають:

  • Spring Boot CLI надає Groovy для написання програми Spring Boot; у довгостроковій перспективі уникають шаблонного коду.
  • Spring Boot забезпечує журналювання та функцію безпеки, яка легко захищає вашу програму від потенційних загроз безпеці.
  • Він забезпечує автоматичне налаштування відповідних компонентів для вашого проекту, таким чином уникаючи ризику непотрібних файлів WAR.
  • Початковий ініціалізатор закладає для вас стандартну внутрішню структуру проекту. Таким чином, вам не доведеться вручну налаштовувати структуру проекту.
  • Функція приводу Spring Boot надає доступ до інформації та показників під час роботи програми.
  • Звичайно, одна з ключових функцій Spring Boot, Starter Dependency, допомагає об’єднати часто використовувані залежності певної функції.
  TagSpaces поєднує текст і кольори в розумну систему тегування файлів

Що таке Spring Boot Starters?

Початкові пристрої Spring Boot — це дескриптори залежностей, які включають набір постачальників керування залежностями, які вмикають залежності програми. Вони забезпечують структуру з автоматичним вирішенням залежностей. Стартери сприяють легкому та швидкому розвитку.

Що таке Actuator у Spring Boot і які його переваги?

Актуатор — це одна з функцій Spring Boot, яка дозволяє контролювати, що відбувається всередині програми під час її роботи.

Наприклад, під час налагодження ви можете використовувати активатор для аналізу журналів, надаючи доступ до таких функцій, як використання процесора та ідентифікація компонентів.

Крім того, привід не тільки забезпечує легкий доступ до готових до виробництва кінцевих точок REST, які відстежують інформацію та керують нею, але й отримує дані з Інтернету.

Що таке лист чебрецю і як використовувати лист чебрецю?

Thymeleaf — це серверний шаблон Java, який створює природний макет шаблону для веб-додатків Java Spring і HTML5.

Spring Boot виконає автоматичне налаштування thymeleaf за допомогою залежності spring-boot-starter-thymeleaf у файлі pom.xml для обслуговування динамічного веб-вмісту.

Щоб дозволити Spring Boot читати та відтворювати шаблони thymeleaf або файли HTML, розмістіть шаблони в src/main/resources/templates.

Потім Thymeleaf аналізує файл index.html і використовує фактичні значення, які ви передаєте з класу контролера, замість динамічних значень, доступних у файлі індексу.

Після цього повідомлення відображається у веб-браузері, щойно запуститься програма Spring Boot.

org.springframework.boot spring-boot-starter-thymeleaf

Опишіть процес створення проекту Spring Boot за допомогою Spring Initializer.

Spring Initializr, який є веб-інструментом Spring, дозволяє створити проект Spring Boot за кілька кроків, надаючи деталі проекту.

  • Перейдіть до Spring intializr і заповніть поля введення.
  • Натискання кнопки «Створити» розпочне завантаження проекту.
  • Розпакуйте завантажений проект із zip-файлу та відкрийте його в середовищі IDE. У IDE перейдіть до File->New->Project from existing sources->Spring-boot-app, а потім виберіть файл pom.xml. Клацніть запит на імпорт змін, щоб проект синхронізувався. Після цього не забудьте перейти до файлу application.properties і змінити номер server.port на server.port=7000.
  • Тепер запустіть програму з src->main->java->com.gfg.Spring.boot.app
  • Що таке JPA у Spring Boot?

    Це специфікація в Java, яка використовує Object-Relation Mapping (ORM) для керування реляційними даними та дозволяє доступ до даних між об’єктом Java або класом Java і реляційною базою даних програми.

    JPA використовує Java Persistent Query Language (JPQL), об’єктно-орієнтовану мову запитів, яка також не залежить від платформи.

    JPA дозволяє обробляти запити та об’єктні транзакції з базою даних за допомогою наданого API Entity Manager.

    Що таке автоматична конфігурація у Spring Boot?

    Автоматична конфігурація прагне автоматизувати конфігурацію програми Spring Boot за допомогою залежностей jar, які ви додаєте до програм.

    Залежно від доступних залежностей у Classpath програми, автоматична конфігурація оголошуватиме вбудовані об’єкти модуля spring, включаючи JPA та безпеку spring, серед іншого.

    Що таке весняні анотації?

    Анотації Spring посилаються на метадані, що пропонують інформацію про фрагмент програми, і вони додають додаткові дані до цієї програми. Компоненти коду, включаючи класи та методи, часто асоціюються з анотаціями.

    Анотації безпосередньо не впливають на роботу програми або подальшу дію скомпільованого коду.
    Їх синтаксис починається з символу «@».

    Spring Boot надає шість основних типів анотацій, які включають:

    • Анотації Spring Core
    • Анотації даних Spring
    • Анотації Spring Bean
    • Весняні веб-анотації
    • Примітки до весняного розкладу
    • Анотації Spring Boot

    Що означає Spring Data REST?

    Spring Data REST відкриває ресурси в RESTful, які знаходяться навколо Spring Data Resources, використовуючи мінімальний код.

    У наступному прикладі використовується метод POST для запиту вмісту, використовуючи http://localhost/example як URL-адресу та Content-Type: application/json як заголовок.

      Реалізація Preload, Prefetch, Preconnect у WordPress

    Зміст запиту:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
    }

    Зміст відповіді:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
        "_links": {
            "self": {
                "href": "http://localhost:8080/example/1"
            },
            "person": {
                "href": "http://localhost:8080/example/1"
             }
        }
    }

    Це глибокий набір попередньо визначених інструментів, властивості яких застосовуються до відповідних середовищ розробки, щоб полегшити розробку та заощадити час розробки.

    Щоразу, коли ви змінюєте код у програмі Spring Boot, функція Spring Boot DevTools автоматично перезапускається. Таким чином, це позбавляє вас від необхідності вручну перезапускати програму кожного разу, коли ви змінюєте код.

    Що таке Spring Data?

    Spring data прагне надати розробникам легкий доступ до технологій доступу до даних, таких як реляційні та нереляційні дані та хмарні сервіси даних, оскільки вони продовжують зберігати особливі риси основного сховища даних.

    Як сказати автоконфігурації відступити, коли існує bean?

    Тут ви використовуватимете анотацію @ConditionalOnMissingBean, яка містить такі атрибути імені та значення.

    • атрибут value зберігає тип компонента, який потрібно перевірити
    • атрибут name, який іменує компонент для перевірки

    Як отримати дані з бази даних у Spring Boot?

    Ми можемо отримати доступ до даних із бази даних MySQL у нашій програмі Spring Boot, виконавши такі кроки.

    Крок 1: Використовуйте команду create DATABASE person, щоб створити базу даних у MySQL.

    Крок 2. Створіть таблицю в базі даних:

    CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

    Крок 3. Тепер створіть програму Spring Boot, а потім додайте до неї JDBC, MySQL і необхідні веб-залежності.

    Крок 4: Налаштуйте базу даних із файлу application.properties, як показано нижче.

    spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
    spring.datasource.username=example123
    spring.datasource.password=example123
    spring.jpa.hibernate.ddl-auto=create-drop

    Крок 5: Давайте обробимо запити в класі контролера:

    package com.person;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class JdbcController {
       @Autowired
       JdbcTemplate jdbc;
       @RequestMapping("/save")
       public String index(){
          jdbc.execute("insert into person (name)values(Trial)");
          return "Name entered Successfully";
       }
    }

    Нарешті, запустіть свою програму, перевіряючи запис бази даних, щоб побачити дані, до яких ви отримали доступ.

    Для чого нам потрібні Spring Profiles?

    Профілі Spring дозволяють розділити конфігурацію програми на різні частини та використовувати їх для конкретних розробок.

    Spring Profiles також позбавляє розробника від болю керування зовнішніми конфігураціями середовища, якщо Spring Profiles були недоступні.

    Крім того, це ускладнило б підтримку синхронізації та означало б додаткову потребу писати кілька заводських компонентів, які б використовували певні необхідні речі залежно від конкретних параметрів середовища.

    Чи можемо ми змінити порт вбудованого сервера Tomcat під час завантаження Spring?

    Так, ми можемо.

    Це робиться шляхом маніпулювання файлом application.properties, щоб включити властивість server.port і призначити йому порт за вашим вибором. Spring Boot автоматично завантажує файл властивостей програми та застосовує необхідні конфігурації до програми.

    Наприклад, ви можете змінити номер server.port зі значення за замовчуванням 8080 на server.port= 8081.

    Як налаштувати Log4j для журналювання?

    За допомогою цих кількох простих кроків ми можемо налаштувати Log4j для журналювання:

  • Спочатку створіть свій проект Java, а потім клацніть проект правою кнопкою миші. Перейдіть до MyEclipse->File->New->Java Project, щоб назвати проект, і натисніть «Готово».
  • Далі клацніть правою кнопкою миші назву проекту Java і виберіть Шлях збірки -> Налаштувати шлях збірки. Цей крок додасть файл log4j.
  • Перейдіть до бібліотеки, натисніть кнопку «Додати зовнішній JARS» і виберіть файл log4j зі спадного меню, що з’явиться. Потім натисніть OK.
  • Створіть новий файл Java, який називатимете файлом log4j.properties, потім натисніть «Готово» та додайте цей файл до шляху до класів.
  • Клацніть «Додатково» на шляху до класів, потім виберіть параметр «Додати папки» та не забудьте натиснути «ОК».
  • Тепер ви можете знайти файл log4j.properties, натиснути «ОК» і запустити проект.
  • Перевірте консоль на вихідні дані нижче.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Що таке контейнер IoC?

    Контейнер IoC (інверсія керування) — це основний контейнер Spring, який автоматично реалізує ін’єкцію залежностей. Він створює екземпляр програми класу та відповідає за конфігурацію об’єктів і встановлення необхідних залежностей.

      Як почистити будь-який смарт-годинник, носіння чи ремінець для фітнесу

    Він також керує життєвим циклом об’єкта від його створення до знищення.

    IoC виконує ці завдання за допомогою конфігурації метаданих у коді Java, XML і анотаціях Java.

    Контейнер називають інверсією керування, оскільки він контролює об’єкти Java та життєві цикли цих об’єктів. В іншому випадку це завдання розробника.

    Поясніть, як створити програму Spring Boot за допомогою Maven

    Цей процес складається з ряду кроків.

    Крок 1: Виберіть тип проекту.

    Крок 2. Назвіть проект, щоб налаштувати його, а потім натисніть кнопку «Готово», щоб створити проект.

    Крок 3: Тепер ми налаштуємо файл pom.xml із проекту Maven, щоб створити з нього проект Spring Boot.

    файл pom.xml:

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.javatpoint</groupId>  
      <artifactId>spring-boot-example</artifactId>  
      <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name>  
    </project>  

    Конфігурація передбачає додавання батьківського елемента до проекту Maven. Це оголосить проект Maven як дочірній проект для батьківського проекту.

    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.4.2.RELEASE</version>  
    </parent>  

    Крок 4: Далі додайте веб-залежність spring-boot-starter-web до pom.xml.

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
    </dependencies>  

    Крок 5: Додайте версію Java проекту.

    <properties>  
        <java.version>1.8</java.version>  
    </properties> 

    Крок 6: Зауважте, що кожного разу, коли ви додаєте нові залежності, вам потрібно оновлювати проект Maven.

    Крок 7: Зробіть проект Maven доступним для виконання, створивши клас Java у пакеті src/main/java.

    Крок 8: Далі викличте статичний метод запуску класу програми Spring.

    Крок 9: Нарешті, запустіть клас як програму Java.

    Які переваги Spring Boot над Spring?

    • Можливість початкового завантаження Spring Boot для компіляції вихідної мови за допомогою ініціалізації завантаження, техніка, яка називається початковим завантаженням, дозволяє заощадити місце на пристроях користувачів, а також зменшує час завантаження програми.
    • На відміну від Spring, Spring Boot дозволяє керувати залежностями після додавання залежностей spring-boot-dependencies без залежності від батьківського POM (батьківської об’єктної моделі) або файлу XML.
    • Spring Boot також дозволяє розробникам використовувати анотації або XML-конфігурації без необхідності використання XML-конфігурацій.
    • Розробники віддають перевагу Spring Boot через його менший шаблонний код, необхідний для налаштування програми. Це тому, що Spring Boot постачається з базою даних у пам’яті та вбудованим сервером Tomcat, що зменшує шаблонний код. Spring, з іншого боку, має більш шаблонний код.
    • Spring Boot не обов’язково потребує файлів WAR (ресурс веб-додатку) і може покладатися лише на JAR (ресурс Java), який має невелику та простішу структуру, а тому є більш корисним для користувачів і розробників.
    • Spring Boot також автоматично вбудовує такі сервери, як Tomcat і Jetty; отже, розробнику не потрібно вручну налаштовувати сервер, як ви мали робити у Spring.

    Процес розбиття на сторінки розбиває дані на розділи для економії ресурсів. Він містить два поля: розмір сторінки та номер сторінки.

    Процес складається з кількох кроків, зокрема:

    Крок 1: Початкове налаштування
    Сутність, яку ми назвемо Person як доменний клас.

    @Entity 
    public class Person {
        @Id
        private long id;
        private String name; 
    }

    Крок 2: Створення репозиторію
    Далі використовуйте PersonRepository, розширює PagingAndSortingRepository, щоб мати можливість отримати методи findAll(Pageable pageable) і findAll(Sort sort) для розбиття сторінок і сортування відповідно.

    public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
        List<Product> findAllByPrice(double price, Pageable pageable);
    }

    Крок 3: Крок пагінації
    Першим кроком тут є створення об’єкта PageRequest; передаючи номер сторінки та розмір сторінки відповідно до запиту, що реалізує інтерфейс Pageable.

    Pageable firstPageWithTwoElements = PageRequest.of(0,2);
    Pageable secondPageWithThreeElements = PageRequest.of(1,3);

    Потім передайте цей об’єкт PageRequest методу репозиторію як параметр.

    Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
    List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

    За замовчуванням метод findAll(Pageable pageable) повертатиме об’єкт Page.

    Поясніть, як зареєструвати спеціальну автоконфігурацію

    Під файлом META-INF/spring.factories ключа @EnableAutoConfiguration вкажіть повне ім’я. Цей крок реєструє клас автоконфігурації.

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

    Створення проекту за допомогою Maven вимагатиме від вас розмістити файл у каталозі resources/META-INF.

    Що таке завантаження у Spring Boot?

    Завантаження — це процес виконання логіки у програмі Spring Boot під час запуску.
    Boot initializr компілює вихідну мову у Spring Boot. Цей процес економить місце на пристрої, а також скорочує час завантаження програми.

    Заключні слова 👨‍💻

    Що ж, ця стаття охопила деякі запитання щодо Spring Boot, які інтерв’юери, ймовірно, зададуть вам під час співбесіди, і відповіді, які допоможуть вам впевнено впоратися з нею. Сподіваємось, ви знайдете роботу мрії!

    Ви також можете отримати кілька відповідних порад із запитань, поставлених під час співбесіди на Java.

    Удачі!🙂