Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Какие промежуточные и терминальные операции в Stream API ты использовал?
Промежуточные (lazy): filter, map, flatMap, sorted, distinct.
Терминальные (eager): forEach, collect, reduce, count, anyMatch.
Как решить задачу на группировку с помощью Stream API?
Используйте Collectors.groupingBy для группировки элементов по ключу:
Map<String, List<Person>> peopleByCity = people.stream()
.collect(Collectors.groupingBy(Person::getCity));Что такое Java Stream API? Использовали ли вы его в проекте и для каких задач?
Stream API - это функциональный подход к обработке коллекций данных в Java. Позволяет выполнять операции filter, map, reduce в декларативном стиле. Используется для обработки больших наборов данных, фильтрации, преобразования и агрегации. Часто применяется для замены традиционных циклов более выразительным кодом.
Какими способами можно объединять коллекции с помощью Stream API?
Коллекции можно объединять с помощью Stream.concat, flatMap или добавления элементов в один поток. Stream API позволяет гибко комбинировать данные. Выбор способа зависит от количества коллекций и структуры данных. Чаще всего используют flatMap. Это делает код компактным и читаемым.
Что такое Stream API в Java, чем он отличается от обычного цикла for и почему обычно менее производителен?
Stream API — это инструмент для обработки коллекций в декларативном стиле, где описывается что нужно сделать, а не как. В отличие от цикла for, стримы не изменяют исходную коллекцию и работают через цепочки операций. Обычно они менее производительны из-за накладных расходов на создание объектов, лямбды и внутреннюю инфраструктуру. Однако стримы делают код короче и понятнее. Их основная цель — читаемость и выразительность, а не максимальная скорость.
В каких случаях стоит использовать Stream API вместо обычного цикла и как цепочки filter / map влияют на производительность?
Можно ли изменять исходную коллекцию при работе со Stream API?
Рейтинг:
5
Сложность:
6
Stream API стоит использовать, когда важна читаемость и логика обработки данных, а не максимальная производительность. Цепочки filter / map сами по себе не выполняются сразу, а объединяются в один pipeline. Это снижает количество проходов по данным. Однако каждая операция добавляет накладные расходы, особенно при работе с примитивами без mapToInt. На больших объёмах данных это может быть заметно.
Рейтинг:
5
Сложность:
6
Изменять исходную коллекцию при работе со Stream API не рекомендуется. Stream рассчитан на декларативный стиль и отсутствие побочных эффектов. Модификация коллекции может привести к ConcurrentModificationException или некорректному поведению. Особенно это опасно при параллельных стримах. Stream должен использоваться для преобразований, а не изменения источника данных.
Рейтинг:
1
Сложность:
6
Рейтинг:
1
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
4
Сложность:
4
Рейтинг:
5
Сложность:
5