Backend Java — техническое интервью
60 минут, middle → senior. Java 17+, коллекции, конкурентность, Spring, SQL. Pilot-волна контента.
- Questions
- 14
- Live coding
- 2
Разогрев: опыт и контекст
Опыт с Java
Сколько лет пишете на Java? Какие версии и фреймворки использовали в продакшене?
Scoring rubric (0–10)
3–5: «Несколько лет», без версий и контекста. 6–8: Версии (8/11/17+), Spring или другой стек, тип проекта. 9–10: Миграции версий, модули JPMS если применимо; честно про глубину Spring. Красный флаг: путает Java с JavaScript на middle+.
Interviewer notes
2–3 минуты.
Основы Java и JVM
Сложность коллекций
Какая асимптотика get/contains/add для ArrayList и HashMap? Когда что выбрать?
Scoring rubric (0–10)
3–5: «HashMap быстрее» без O-notation. 6–8: ArrayList get O(1), contains O(n); HashMap O(1) average; hash collisions. 9–10: LinkedList vs ArrayList; load factor; immutable keys; ConcurrentHashMap vs synchronized Map. Красный флаг: «HashMap всегда O(1)» без оговорок.
Interviewer notes
Follow-up: почему ключ mutable плох? 4 мин.
GC и память
Как в общих чертах работает сборка мусора в JVM? Что такое stop-the-world?
Scoring rubric (0–10)
3–5: «GC удаляет неиспользуемые объекты». 6–8: Heap, generational GC, STW паузы; young/old gen на бытовом уровне. 9–10: G1/ZGC названия; tuning trade-offs; metaspace vs heap; weak references. Красный флаг: «GC можно отключить в проде».
Interviewer notes
4 минуты.
volatile и happens-before
Что гарантирует volatile в Java и чего он не гарантирует?
Scoring rubric (0–10)
3–5: «Видимость между потоками», без деталей. 6–8: Видимость + запрет переупорядочивания; понимает, что атомарности нет. 9–10: happens-before, отличие от synchronized; пример где volatile недостаточен (i++). Красный флаг: «volatile делает операцию атомарной».
Interviewer notes
Follow-up: AtomicInteger / LongAdder. 4 мин.
Spring DI
Объясните, как Spring создаёт и внедряет бины. Чем @Component от @Bean?
Scoring rubric (0–10)
3–5: «Spring сам создаёт объекты». 6–8: Component scan, @Autowired; @Bean в @Configuration; singleton по умолчанию. 9–10: Scope, circular deps, @Primary/@Qualifier; lifecycle interfaces. Красный флаг: не знает разницу component scanning vs explicit @Bean.
Interviewer notes
4 минуты.
Транзакции Spring
Как работает @Transactional? Что будет при self-invocation внутри того же класса?
Scoring rubric (0–10)
3–5: «Открывает транзакцию» без proxy. 6–8: AOP proxy; rollback on RuntimeException; propagation basics. 9–10: Self-invocation обходит proxy; read-only; isolation levels; programmatic tx. Красный флаг: «@Transactional работает на private методах».
Interviewer notes
5 минут.
Практика: живой код
Two Sum
Дан массив целых и target. Верните индексы двух чисел, сумма которых равна target. Гарантируется ровно одно решение.
Scoring rubric (0–10)
3–5: Brute force O(n²) или не завершит. 6–8: HashMap O(n); объясняет ключ/значение. 9–10: Edge cases, immutable return, обсуждает память vs время. Красный флаг: модифицирует входной массив без оговорки.
Interviewer notes
15 минут с обсуждением.
Valid Parentheses
Проверьте, правильно ли расставлены скобки ()[]{} в строке.
Scoring rubric (0–10)
3–5: Подход неясен или только для одного типа скобок. 6–8: Stack; закрывающая должна match верх стека. 9–10: O(n) time/space; early exit; обсуждает ArrayDeque vs Stack. Красный флаг: рекурсия без base case на длинной строке.
Interviewer notes
10 минут.
SQL и данные
Индексы и план запроса
Когда индекс ускоряет SELECT и когда может замедлить систему?
Scoring rubric (0–10)
3–5: «Индексы всегда ускоряют». 6–8: B-tree basics; write amplification; selective vs full scan. 9–10: Composite index left-prefix; covering index; EXPLAIN на бытовом уровне. Красный флаг: индекс на каждую колонку «для скорости».
Interviewer notes
4 минуты.
Уровни изоляции
Объясните dirty read, non-repeatable read, phantom read. Какой уровень что предотвращает?
Scoring rubric (0–10)
3–5: Путает термины. 6–8: READ COMMITTED vs REPEATABLE READ; примеры аномалий. 9–10: Serializable cost; MVCC (PostgreSQL); mapping к Spring propagation. Красный флаг: «всегда ставлю SERIALIZABLE» без понимания цены.
Interviewer notes
5 минут.
Инженерная культура и вопросы
Run an interview with this template
Sign up free: copy the template to your org, schedule an interview, and run it in a room with live coding.
Get started in FlashTalk