Встречается на собеседованиях • сегодня
На что стоит обратить внимание при подготовке к интервью
1. **Основы Java**: синтаксис, ООП (инкапсуляция, наследование, полиморфизм), интерфейсы, абстрактные классы.
2. **Коллекции**: `List`, `Set`, `Map`, их реализации (`ArrayList`, `HashMap`), сложность операций.
3. **Многопоточность**: `Thread`, `Runnable`, `synchronized`, `volatile`, `ConcurrentHashMap`, `CompletableFuture`.
4. **Память и GC**: heap/stack, типы сборщиков мусора, утечки памяти.
5. **Алгоритмы и структуры данных**: сортировки, поиск, графы, Big-O нотация.
6. **Паттерны проектирования**: Singleton, Factory, Observer, стратегии (знать хотя бы 3-5).
7. **Spring (если требуется)**: DI, MVC, Spring Boot, REST, JPA/Hibernate.
Пример вопроса:
```java
List list = new ArrayList<>();
list.add("A");
list.add("B");
for (String s : list) {
if (s.equals("A")) list.remove(s); // ConcurrentModificationException
}
```
**Ошибка**: Использование `remove()` в цикле `for-each`. Решение – `Iterator.remove()`.
Практикуйтесь на LeetCode/HackerRank, готовьте вопросы компании.

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