Встречается на 2% собеседований по Java
Как будешь писать паттерн монада
В Java монада — это не явный паттерн, а концепция, но её можно реализовать через обёртки (wrapper), например Optional или Stream.
Пример монады Maybe (упрощённый Optional):
java
public class Maybe<T> {
private final T value;
private Maybe(T value) {
this.value = value;
}
text
public static <T> Maybe<T> of(T value) {
return new Maybe<>(value);
}
public static <T> Maybe<T> empty() {
return new Maybe<>(null);
}
public <R> Maybe<R> flatMap(Function<T, Maybe<R>> mapper) {
return value != null ? mapper.apply(value) : Maybe.empty();
}}
text
**Использование:**
```java
Maybe.of(5)
.flatMap(x -> Maybe.of(x * 2))
.flatMap(x -> Maybe.empty()); // Результат: Maybe.empty()Ключевые моменты:
- Обёртка значения (
Maybe<T>). - Метод
flatMapдля цепочки операций. - Обработка отсутствия значения (null-safe).
Это упрощённая реализация, аналогичная Optional из Java 8+.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы