Встречается на собеседованиях • сегодня

Работал ли с шестигранной архитектурой

Да, работал. Шестигранная архитектура (Hexagonal Architecture) — это подход, при котором бизнес-логика изолирована от внешних зависимостей (UI, БД, API). Входные и выходные порты определяют контракты, а адаптеры их реализуют.

Пример:

java
// Порт (интерфейс для взаимодействия)
public interface UserRepository {
    User findById(Long id);
}

// Адаптер (реализация для БД)
public class JpaUserRepository implements UserRepository {
@Override
public User findById(Long id) {
// JPA-запрос к БД
}
}

// Ядро (бизнес-логика)
public class UserService {
private final UserRepository repository;

text
public UserService(UserRepository repository) {
    this.repository = repository;
}

public User getUser(Long id) {
    return repository.findById(id);
}

}

text
**Плюсы:**  
- Тестируемость (можно подменить адаптеры на моки).  
- Гибкость (легко заменить БД или UI).  
- Четкое разделение ответственности.  

**Минусы:**  
- Больше boilerplate-кода.  
- Сложнее для простых проектов.  

Использовал в проектах с высокой нагрузкой и частыми изменениями требований.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы