Spring Boot

Оптимізація продуктивності

Оптимізація продуктивності: profiling, caching, lazy loading, пагінація, connection pooling, індексування БД

30 питань зі співбесід·
Senior
1

Що таке HikariCP у контексті Spring Boot?

Відповідь

HikariCP — це менеджер connection pool за замовчуванням у Spring Boot починаючи з версії 2.0. Він пропонує виняткову продуктивність завдяки оптимізованій реалізації (низькі накладні витрати, ефективне керування конкурентністю) і широко вважається найшвидшим connection pool на ринку. Spring Boot використовує його автоматично, коли spring-boot-starter-data-jpa або spring-boot-starter-jdbc присутній у залежностях.

2

Який параметр HikariCP визначає максимальну кількість з'єднань у pool?

Відповідь

Параметр maximumPoolSize визначає максимальну кількість з'єднань (активних і неактивних), які HikariCP підтримуватиме в pool. Рекомендоване HikariCP значення зазвичай ґрунтується на формулі: connections = ((core_count * 2) + effective_spindle_count), часто від 10 до 20 для типових застосунків. Занадто високе значення може перенасичити базу даних, тоді як занадто низьке може спричинити очікування з'єднань.

3

Яка різниця між maximumPoolSize та minimumIdle у HikariCP?

Відповідь

maximumPoolSize визначає загальну максимальну кількість з'єднань (активних і неактивних) у pool, тоді як minimumIdle визначає мінімальну кількість неактивних з'єднань, які HikariCP підтримує постійно. HikariCP рекомендує не встановлювати minimumIdle і дозволити maximumPoolSize керувати pool (поведінка за замовчуванням: minimumIdle = maximumPoolSize), оскільки pool автоматично коригується залежно від навантаження для оптимізації продуктивності.

4

Яку формулу рекомендує HikariCP для обчислення maximumPoolSize?

5

Який параметр HikariCP контролює максимальний час очікування для отримання з'єднання з pool?

+27 питань зі співбесід

Інші теми співбесід Spring Boot

Spring Core - IoC & DI

Junior
22 запитань

Spring Boot Auto-Configuration

Junior
20 запитань

Spring Boot Starters

Junior
18 запитань

Application Properties & YAML

Junior
16 запитань

Логування за допомогою SLF4J та Logback

Junior
20 запитань

Spring Boot DevTools

Junior
15 запитань

Spring MVC Basics

Mid-Level
20 запитань

Spring REST Controllers

Mid-Level
20 запитань

Request & Response Handling

Mid-Level
20 запитань

Обробка винятків

Mid-Level
25 запитань

Bean Validation

Mid-Level
25 запитань

Основи Spring Data JPA

Mid-Level
25 запитань

Сутності JPA та зв'язки

Mid-Level
30 запитань

Запити JPA

Mid-Level
30 запитань

Spring Data Repositories

Mid-Level
25 запитань

Основи Spring Security

Mid-Level
25 запитань

Spring Boot Actuator

Mid-Level
20 запитань

Модульне тестування з JUnit та Mockito

Mid-Level
30 запитань

Тестування Spring Boot

Mid-Level
30 запитань

Profiles та Environment

Mid-Level
20 запитань

RestTemplate і WebClient

Mid-Level
24 запитань

Async і Scheduling

Mid-Level
25 запитань

Кешування зі Spring

Mid-Level
25 запитань

Spring WebFlux (Reactive)

Mid-Level
25 запитань

Транзакції Spring

Senior
30 запитань

Розширена автентифікація та авторизація

Senior
30 запитань

JWT та stateless-безпека

Senior
20 запитань

OAuth2 та Authorization Server

Senior
20 запитань

Spring Boot і Docker

Senior
19 запитань

Microservices зі Spring

Senior
25 запитань

Spring Cloud Config

Senior
19 запитань

GraalVM Native Images

Senior
20 запитань

Опануй Spring Boot для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно