С какими Java-технологиями и фреймворками вы работали?

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

Ответ

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

  • Фреймворки: Spring (Boot, MVC, Data JPA, Security, Cloud), Hibernate/JPA.
  • Сборка и управление зависимостями: Maven, Gradle.
  • Серверы приложений: Apache Tomcat, WildFly.
  • Тестирование: JUnit 5, Mockito, Testcontainers.

Пример контроллера на Spring Boot:

@RestController
@RequestMapping("/api/users")
public class UserController {
    @GetMapping
    public ResponseEntity<List<UserDto>> getAllUsers() {
        return ResponseEntity.ok(userService.findAll());
    }
}

Дополнительные технологии:

  • Межсервисное взаимодействие: Apache Kafka, RabbitMQ (очереди сообщений), REST API, gRPC.
  • Мониторинг и логирование: Micrometer, Prometheus, Grafana, ELK Stack.
  • Облачные платформы: AWS (EC2, S3, Lambda), базовый опыт с Google Cloud.
  • Контейнеризация: Docker, базовое знакомство с Kubernetes.