Ответ
Основной стек (коммерческий опыт):
- Язык: Java 8-17.
- Фреймворки: Spring (Boot, MVC, Security, Data JPA, Cloud).
- ORM: Hibernate / JPA.
- Базы данных: PostgreSQL, MySQL (написание и оптимизация запросов).
- Инфраструктура: Docker, базовое знакомство с Kubernetes.
- Брокеры сообщений: Apache Kafka (для асинхронной коммуникации).
- Кэширование: Redis.
- Инструменты сборки: Maven, Gradle.
- Тестирование: JUnit 5, Mockito, Testcontainers.
- Системы контроля версий: Git (GitFlow, trunk-based development).
Пример типичного слоя сервиса с Spring:
@Service
@Transactional
@RequiredArgsConstructor // Lombok для инъекции зависимости
public class UserService {
private final UserRepository userRepository;
public UserDto getUserById(Long id) {
User user = userRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("User not found"));
return mapToDto(user); // Маппинг в DTO
}
}
Дополнительно: Опыт интеграции с frontend на React, работа с REST API и OpenAPI спецификациями.