java-interview icon indicating copy to clipboard operation
java-interview copied to clipboard

⁉️ Вопросы для собеседования по Java

Вопросы для собеседования на Java Developer

:iphone: Telegram-канал - @javaquiz

:pencil: Вы можете добавить свой вопрос с помощью пул реквеста

Темы

  • Общие вопросы
  • Java Core
  • Java Collections
  • Spring
  • Базы данных

Общие вопросы

  • Что такое SOLID?
  • Какие есть языки на JVM
  • Что такое реактивное программирование
  • Паттерн наблюдатель
  • Для чего нужна библиотека Lombok
  • Что такое TDD
  • Что такое BDD
  • Что такое DDD
  • Что такое FDD
  • Что такое CI/CD
  • Инструменты CI/CD
  • Утечка памяти
  • Утечки памяти в Java
  • Сложность быстрой сортировки
  • Что такое Big O
  • Какие бывают виды тестирования
  • Что такое ленивая загрузка
  • Какое из следующих утверждений о потоках неверно
  • Что такое «сериализация»?
  • Что такое UML?

Java Core

  • Отличия SoftReference от WeakReference
  • Как написать immutable класс?
  • Что такое пул строк
  • IO и NIO
  • Java 8-11, новые методы в Map
  • Try-with-resources
  • Отличие checked от unchecked exception
  • Отличие map от flatMap в Stream API
  • Промежуточные и терминальные операции в Stream API
  • Жизненный цикл сервлетов
  • Использование оператора instanceof
  • Как создать аннотацию
  • Что такое семафор
  • Задача на пост и пре инкремент
  • Типы вложенных классов в Java
  • Что такое default method в Interface?
  • Какая разница между абстрактным классом и интерфейсом?
  • Всегда ли добавление в ArrayList имеет сложность O(1)?
  • Всегда ли в Java существовали дженерики
  • Что такое wildcards

Java Collections

  • Чем отличается ArrayList от LinkedList?
  • Всегда ли добавление в ArrayList имеет сложность O(1)?
  • Collections.emptyList() или новый экземпляр
  • Какое начальное количество корзин в HashMap?
  • Гарантирует ли HashMap указанную сложность выборки элемента?
  • Какое максимальное число значений hashCode()
  • Назовите основные реализации List, Set, Map
  • Отличия между Iterator и ListIterator
  • Интерфейсы Comparable и Comparator?
  • Что есть в java.util.concurrent*
  • CopyOnWrite коллекции
  • В каком случае может быть потерян элемент в HashMap?
  • Как создать синхронизированную коллекцию из данной коллекции?
  • Чем отличается HashMap от Hashtable?
  • Преимущества ConcurrentHashMap
  • Как используя HashMap получить бесконечный цикл
  • Почему Map не наследуется от Collection
  • Почему нельзя использовать byte[] в качестве ключа в HashMap?
  • Какое дерево лежит в реализации TreeSet?
  • Почему нет конкретных реализаций интерфейса Iterator?

Spring

  • Что такое Session Scope бина
  • Mapping аннотации в MVC
  • Жизненный цикл запроса
  • Что такое прокси объекты
  • Как решить ситуацию, когда есть 2 бина одного типа
  • Какие способы внедрения бина вы знаете?
  • Свойства аннотации @Bean
  • Внедрение бинов с разным скоупом
  • Ленивое создание бинов
  • Напишите пример Java-конфигурации
  • Жизненный цикл бина в контейнере
  • Аннотации и конфиги для Spring Boot
  • Где Spring ищет пакеты для сканирования по умолчанию?
  • Что такое WebFlux?
  • Какой ORM использует по умолчанию Spring Data JPA?
  • Что такое HttpMessageConverter?
  • Что такое RestTemplate?
  • В чём разница между @Component, @Service и @Repository аннотациями?
  • Какая минимальная версия Java поддерживается в Spring Boot 2 и Spring 5?
  • В чем разница между Filters, Listeners and Interceptors?

Базы данных

  • Нормализация БД
  • Какие бывают NoSQL базы данных
  • В чем разница между типом данных CHAR и VARCHAR в SQL?
  • Что такое ограничения (Constraints)
  • Денормализация БД
  • Уровни изоляций транзаций
  • Что такое шардирование
  • Что такое репликация
  • Что такое партицирование/секционирование
  • Термин ACID в БД
  • Что такое SQL-инъекция?
  • Что такое триггер
  • Что такое HQL
  • Criteria API
  • Отличия JPQL от HQL
  • Какие есть типы индексов
  • Для чего нужна денормализация
  • Разница между кластеризованным и некластеризованным индексами
  • Задача нарастающий итог
  • Задача на SQL