Основные вопросы с java собеседований
Contents
Первая часть видео о вопросах с интервью
Вопросы первой части
- Примитивы и сравнение по значению
- Как работает HashMap
- Особенность работы с плохим распределением ключей
- Работает ли equals
- Optional
- of
- ofNullable
- ThreadLocal
- Иерархия фреймворка коллекций
- Иерархия исключение, разница
- Жизненный цикл бинов в спринге
- @ConditionalOn…
- Что такое докер и как работает
- Особенности на разных ос
- Почему не виртуалка на линуксе
- Стримы
- Как их писать
- Какие функции знаешь
- Стримы примитивов
- Типы операций
- Как работают
- Ленивость
- try-with-resource
- try-catch-finally-return invalid
Вторая часть видео о вопросах с интервью
Вопросы второй части
- Про бины, конфигурации, контексты, скоупы
- Популярный вопрос про скоупы бинов и что они дают
- Прокси, AOP
- Как работает аннотация transactional под капотом
- Как использовать транзакции в приватных методах
- Self-inject на примере
- Проблемы долгих транзакций
- Ивенты и обработчики в спринге
- Простейший листенер встроенных ивентов
- Сборщики maven и другие, общие слова и bom как способ управления версиями
- Многопоточка
- Классическая проблема суммы
- Проблемы тестирования многопоточки
- Добавляем volatile, почему не поможет
- Atomic*, cas алгоритмы
- Зачем реально volatile, happens before
- Способы запуска потоков, в чем разница
- Порядок не гарантирован
Третья часть видео о вопросах с интервью
Вопросы третьей части
- Параллельные стримы, когда они не параллельные
- Что будет при падаении операции
- Блокировки, synchronized, ReadWriteLocks, atomics
- Когда выбрать Lock
- Когда выбирать synchronized
- Когда выбирать ReadWriteLock
- Когда выбирать Atomic
- Happens before, концепция, что значит простыми словами
- Запись в final, начало потока
- Большой раздел про дедлоки
- Простейший способ получить дедлок
- Thread dump для поиска дедлоков
- Простейший анализ дампа
- Получение дедлока на CyclicBarrier
- Запаркованные треды
- Как делать вложенные блокировки правильно
- Захват вложенных блокировок через tryLock, возможный механизм предотвращения дедлока
- Ввод вывод в java. IO и NIO, различия
- Про работу с HTTP клиентами
- Про RestTemplate, самое важное что надо знать
- Про мониторинг RestTemplate
- Про разгон Http клиента, keepAlive
- Пулл потоков для клиента
- Рассказываю реальную проблему при плохой настройке
- Хитрости прокси (Spring AOP)
- Циклические зависимости - это плохо, но как это работает
- Сочетание нескольких прокси Async + Transactional, какое правило надо знать
- Вопросы на общие темы
- Какие проблемы можно встретить в логировании
- Как не завалить внешнюю систему логами
- Реальный вопрос про реализацию собственного кэша
- Проблема сампоисных кэшей
- Какие готовые решения есть для кэша, как разорвать этот вопрос