В нашей подборке сотни вопросов. Полный список с разбором каждого вопроса мы даём студентам при подготовке к собеседованиям. Ниже приведём перечень тем, в каждой может быть по несколько десятков вопросов, от общих, например, объяснить термин, рассказать о его составляющих до частных, например, привести пример применения конкретной функции.
Core 1- ООП
- Java
- ООП в Java
- Исключения
- Сериализация и копирование
Core 2- Дженерики
- Коллекции
- Функциональные интерфейсы
- Stream API
- Java 8 и более старшие версии
Другие блоки вопросов- Многопоточность в Java
- SQL
- Hibernate
- Spring
- Паттерны
- Алгоритмы
- Микросервисы
Примеры вопросов с ответами
Что такое JDK? Что в него входит?JDK (Java Development Kit) — включает JRE (минимальная реализация JVM) и набор инструментов разработчика приложений на языке Java:
- компилятор JAVAC или Just In Time компилятор,
- стандартные библиотеки классов Java (library),
- примеры,
- документация,
- различные утилиты (программы для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС)).
Какие нюансы у строк в Java?String — это класс Java, предназначенный для работы со строками. Переменная ссылочного типа — это ячейка памяти, содержащая ссылку на участок памяти, представляющий собой объект.
Когда мы присваиваем значение s в другую переменную или передаём её в качестве параметра в метод, то выполняется копирование ссылки.
Если через вторую ссылку объект модифицируется, те же изменения будут видны через первую ссылку, так как объект один. Ссылка может быть пустой — значение null.
String — неизменяемый (Immutable), финализированный (final) класс в Java, поэтому все манипуляции со строкой будут создавать новую строку (ресурсоёмкость).
Как реализована неизменяемость строк? 1) final 2) private 3) нет сеттеров
Строки — объекты класса String, очень распространены, поэтому в некоторых случаях обрабатываются отлично от всех остальных объектов.
Строковые литералы записываются в двойных кавычках.
В чем проблема сериализации Singleton?Проблема: после десериализации мы получим другой объект.
Так сериализация даёт возможность создать Singleton ещё раз, что не совсем нам нужно.
Решение: в классе определяется метод с сигнатурой "Object readResolve() throws ObjectStreamException"
Назначение этого метода: возвращать замещающий объект вместо объекта, на котором он вызван.
В чём разница между классами java.util.Collection и java.util.Collections?java.util.CollectionS — это класс, набор статических методов для работы с коллекциями.
Этот класс состоит исключительно из статических методов, которые работают с коллекциями или возвращают их. Он содержит полиморфные алгоритмы, которые работают с коллекциями, «обёртки», которые возвращают новую коллекцию, поддерживаемую указанной коллекцией и несколько других случаев.
Все методы этого класса вызывают исключение NullPointerException, если предоставленные им коллекции или объекты класса имеют значение null.
java.util.Collection — один из основных интерфейсов Java Collections Framework.
public interface Collection<E> extends Iterable<E> — это корневой интерфейс в иерархии коллекций. JDK не предоставляет каких-либо прямых реализаций этого интерфейса: он предоставляет реализации более конкретных подинтерфейсов, таких как Set и List. Этот интерфейс обычно используется для передачи коллекций и управления ими там, где требуется максимальная универсальность.