Встречается на собеседованиях • сегодня
Где может теряться производительность
- Некорректные коллекции: Использование
ArrayListдля частых вставок/удалений в середину вместоLinkedList. - Строки в циклах: Конкатенация строк через
+в цикле — лучшеStringBuilder.
java
String result = "";
for (int i = 0; i < 1000; i++) {
result += i; // Плохо — создаёт новые объекты
}- Отсутствие кэширования: Повторные вычисления или запросы без кэша (например,
HashMapдля мемоизации). - Синхронизация: Избыточный
synchronizedилиvolatileтам, где можно обойтись локальными переменными. - Ненужные объекты: Создание объектов в цикле (например,
new Date()), когда можно переиспользовать. - I/O операции: Чтение/запись без буферизации (
BufferedReader,BufferedWriter). - Алгоритмическая сложность: O(n²) вместо O(n log n) (например, вложенные циклы для сортировки).
- Reflection: Чрезмерное использование
Reflection— медленнее прямых вызовов. - GC Overhead: Частые создания/удаления объектов, вызывающие сборку мусора.

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