Опишите технологический стек вашего последнего проекта

«Опишите технологический стек вашего последнего проекта» — вопрос из категории Софт-скиллы, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Стек последнего проекта (микросервисная платформа):

Категория Технологии
Бэкенд (основное) Java 17, Spring Boot 3.1, Spring MVC, Spring Data JPA
Базы данных PostgreSQL (основная, реляционная), Redis (кеш и сессии)
ORM Hibernate 6.2
API & Коммуникация REST (JSON), OpenAPI 3.0 (Swagger), gRPC (для межсервисного взаимодействия), Apache Kafka (асинхронные события)
Безопасность Keycloak (OAuth2/OpenID Connect для аутентификации и авторизации)
Сборка & Зависимости Gradle, Maven-репозиторий (Artifactory)
Тестирование JUnit 5, Mockito, Testcontainers
Мониторинг & Логи Prometheus (метрики), Grafana (дашборды), ELK-стек (логи)
Инфраструктура Docker, Kubernetes (оркестрация), Helm (чарты), GitLab CI/CD (пайплайны)

Пример конфигурации Spring Boot приложения:

@SpringBootApplication
@EnableCaching
@EnableJpaRepositories
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}

Обоснование выбора:

  • Spring Boot — стандарт для enterprise Java, предоставляет готовые решения для большинства задач.
  • PostgreSQL — надежная, функциональная реляционная БД с поддержкой JSON.
  • Kubernetes + Docker — стандарт для контейнеризации и оркестрации микросервисов.
  • Kafka — надежный брокер для асинхронной, отказоустойчивой коммуникации между сервисами.