Собеседование Java | Backend mock interview
Mock-собеседование по Java для подготовки к Junior/Middle-вопросам: от equals/hashCode и JVM до Spring, ACID и изоляции транзакций.
Павел Сорокин
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 3,8 тыс.
- Лайки на YouTube: 125
Таймлайн
Коротко о видео
Автор проводит mock-собеседование Java-разработчика с Дмитрием, который говорит, что готовится искать первую работу. Вопросы охватывают Java Core, сборщик мусора, строки и коллекции, многопоточность, Spring и транзакции в базах данных; интервьюер уточняет и корректирует отдельные ответы кандидата. В конце подробно разбираются ACID, уровни изоляции и аномалии параллельных транзакций.
Затронутые темы
Что взять на заметку
- Контракт equals/hashCode требует, чтобы равные по equals объекты имели одинаковый hashCode; изменяемые поля ключа HashMap могут сделать ключ недоступным при поиске.
- Garbage Collector определяет живые объекты обходом графа от GC Roots: ссылок со стеков потоков, статических полей, загруженных классов и других корней.
- String Pool хранит строковые литералы; результат конкатенации значений во время выполнения можно явно добавить в пул через intern(). Для накопления строк подходят StringBuilder, а StringBuffer нужен при требуемой потокобезопасности.
- ArrayList обеспечивает доступ по индексу за O(1), но вставка в начало или середину требует сдвига элементов; LinkedList быстро вставляет элемент при уже найденной ноде, но поиск позиции остаётся O(n).
- Для предотвращения deadlock следует задавать единый порядок захвата нескольких блокировок; таймаут лишь помогает выйти из ситуации, но не устраняет её причину.
- volatile даёт видимость изменений и отношение happens-before, но инкремент счётчика не делает атомарным; AtomicInteger использует атомарное compare-and-swap.
- В Spring рассматриваются IoC и Dependency Injection через конструктор, сеттер или поле; Spring Boot упрощает подключение согласованных зависимостей стартерами и автоконфигурацией.
- ACID задаёт требования к транзакциям, а уровни изоляции выбираются как компромисс между параллелизмом и риском аномалий, включая dirty read, non-repeatable read и phantom read.