Какой технологический стек используется в вашем текущем проекте?

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

Ответ

Текущий проект построен на Java-экосистеме с использованием микросервисной архитектуры.

Основной стек:

  • Язык и платформа: Java 17, Spring Boot 2.7
  • Фреймворки Spring:
    • Spring Web MVC — REST API.
    • Spring Data JPA (Hibernate) — доступ к данным.
    • Spring Security — аутентификация и авторизация (OAuth2/JWT).
    • Spring Cloud — конфигурация, discovery (Eureka).
  • База данных: PostgreSQL 14.
  • Сборка и управление зависимостями: Maven.
  • Инфраструктура и DevOps:
    • Docker для контейнеризации.
    • Kubernetes (K8s) для оркестрации.
    • GitLab CI/CD для автоматизации пайплайнов.
  • Вспомогательные библиотеки: Lombok, MapStruct, Swagger/OpenAPI 3.

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

@SpringBootApplication
@EnableJpaRepositories
@EnableDiscoveryClient // Для регистрации в Eureka
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Пример application.yml для профиля dev:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/mydb
    username: user
    password: pass
  jpa:
    hibernate:
      ddl-auto: validate
    show-sql: true

server:
  port: 8080