Все вопросы по Java

Перечислите методы класса java.lang.Object
getClass
equals, hashCode
clone
toString
finalize
wait, notify, notifyAll
Чем отличается final finally finalize?
Какие существуют литералы?
Какие бывают модификаторы?
Чем отличаются checked и unchecked исключения?
Что такое synchronized?
Что делает volatile?
Что лучше, ArrayList или LinkedList?
Как удалить элемент из ArrayList при итерации?
Какова структура Java Collections Framework? Почему Map не Collection?
Как работает HashMap?
Как отсортировать Set/Map?
Как создать immutable-коллекцию?
Какими коллекциями пользоваться в многопоточной среде?
Какие существуют примитивы?
Какие существуют типы в Java?
Что такое static?
В чем разница между разными модификаторами доступа?
Опишите процесс создания экземпляра класса
new Integer(128) == 128?
new String("Hello_42") == "Hello_" + 42?
Параметры в Java передаются по ссылке или по значению?
Какие в Java бывают виды ссылок?
Из чего состоит .class-файл?
Сколько памяти занимает объект?
Как работает сборка мусора?
Что можно делать с переменной хранящей null?
Что такое enum?
Зачем нужен загрузчик классов?
Какие существуют стандартные загрузчики классов?
Чем отличается перегрузка от переопределения?
Как написать синглтон?
Чем отличается interface от @interface?
Зачем нужно ключевое слово default?
Когда Class.getClassLoader вернет null?
В каком порядке указываются модификаторы?
Что такое короткое замыкание логического оператора?
Перечислите целочисленные битовые операторы
Как узнать, является ли A подтипом B?
Что такое Type Erasure?
Как ограничивается тип generic параметра?
Что такое ковариантность и контравариантность?
Что такое bridge method?
Что такое heap pollution?
Как работает вывод типов?
Какие бывают строковые классы?
Как обойти строчку?
Из чего состоит String?
Зачем нужна Java Serialization? Как сделать класс сериализуемым?
Зачем используется Serial Version UID? Что если не определить его?
Какими методами настраивается сериализация?
Как сериализация работает с наследованием?
В чем разница между Serializable и Externalizable?
Что такое serialization proxy?
Назовите проблемы стандартной сериализации
Чем анонимный внутренний класс отличается от лямбды?
Что такое Reflection и как его использовать?
На какие области делится память JVM?
Как объявить переменное количество аргументов метода?
Как в лямбде изменить внешнюю локальную переменную?
Как получить гарантированный дедлок?
В чём отличия интерфейса от абстрактного класса?
Что если оба реализуемых интерфейса объявляют один и тот же метод?
Как устроены атомики?
Что если блок finally выбросит исключение?
Что такое и как создать daemon thread?
Зачем используются thread local переменные?
Как выполнить две задачи параллельно?
Опишите особенности работы с Shutdown Hooks
Что происходит если не обработать исключение?
Чем отличается блокирующее чтение от неблокирующего?
Как реализовать паттерн producer/consumer?
Из чего состоит пакет java.nio?
Как узнать IP по имени хоста?
Как изменить значение приватного финального поля?
Как написать простейшее клиент-серверное приложение?
Что такое ForkJoinPool?
Чем ForkJoinPool отличается от ExecutorService?
Как работают стримы?
Приведите примеры операций со стримами
Как реализовать собственный стрим?
Как работают параллельные стримы?
Как создать HashMap сразу с элементами?
Как инстанцировать экземпляр generic типа?
Что означает ArrayStoreException?
Как скопировать массив?
Можно ли поймать Error?
Как написать иммутабельный класс?
Как инициализировать иммутабельный класс?
Как реализовать метод equals?
Как реализовать метод hashCode?
Чем отличается Closeable от AutoCloseable?
Чем отличается Comparator от Comparable?
Как Java выбирает перегруженный метод?
Для чего используются аннотации?
Можно ли наследовать аннотацию?
Можно ли добавить одному элементу несколько одинаковых аннотаций?
Чем CompletableFuture отличается от Future?
Какая разница между JDK и JRE?
Что такое JDBC-драйвер? Какие бывают типы?
Какие у аннотации бывают таргеты?
Зачем нужен package-info?
Можно ли выбрасывать исключение generic-типа?
Классы BigInteger и BigDecimal
Как применить регулярное выражение в Java?
Можно ли достать параметры метода рефлекшеном?
Дженерики в исключениях – что можно, а что нельзя?
Для чего служит Java KeyStore?
Как используется @⁠Deprecated?
Перечислите все мета-аннотации
Как выбрать между Statement, PreparedStatement и CallableStatement?
Назовите несколько примеров java.lang.Error
Какие классы вовлечены в соединение с базой данных?
Какие данные есть в исключении?
Как создать объект в обход конструктора?
Какие значения возвращают мутаторы Map?
Зачем нужно ключевое слово assert?
Что такое метки и как их использовать?
Есть ли в Java goto?
Что можно делать с классом Connection?
Как избежать NPE?
Особенности работы класса Matcher
Что такое Keyword?
Как нельзя называть переменные?
В чём разница между jar и war?
Бывают ли в Java утечки памяти?
Как отладить удаленное приложение?
Зачем выбирать ReentrantLock вместо synchronized?
Как используется метод Lock.newCondition()?
Как получить текущий метод
Чем отличается Servlet Container от Application Server?
Что выбрать, Stack или Queue?
Из каких технологий состоит JavaEE?
Чем отличается ReentrantLock от обычного Lock?
Как Spring Framework реализует паттерн Dependency Injection?
Что делает семафор?
Как применяют технологию SPI
Где у Java приложения точка входа?
В чем разница между JavaEE, JavaSE и JavaME?
Чем синхронный сервер отличается от асинхронного?
Что происходит внутри HashMap.put()?
Какой у Spring бинов скоуп по умолчанию?
Что такое функциональный интерфейс?
Как инициализировать переменную функционального интерфейса?
Что можно импортировать статически?
Что такое classpath?
Как использовать ReadWriteLock?
Какие отличия между @⁠Component, @⁠Service, @⁠Repository и @⁠Controller?
Перечислите стандартные функциональные интерфейсы
Что происходит внутри TreeMap.put()?
Какие задачи решает Spring Data?
Можно ли хранить null в стандартных коллекциях?
Как работают фильтры сервлетов?
Когда используется StampedLock?
Сравните репозитории Spring Data
Что хранится в файле манифеста?
Как приложению ограничить доступ к файлу?
Для чего нужно ключевое слово super?
Когда использовать WEB-INF, а когда META-INF?
Можно ли переопределить статический метод?
Как из Java приложения запустить другую программу?
Когда используют Aware интерфейсы в Spring?
Как вызвать нативный код?
Какие есть преимущества у массива перед коллекцией?
Как разбить строку на слова?
Какая разница между @⁠Controller и @⁠RestController?
Можно ли удалять части API?
Как ограничить upcasting типа-параметра?
Можно ли хранить данные в сервлете?
Что находится внутри класса Math?
Чем отличается CountDownLatch от CyclicBarrier?
Какая разница между @⁠ElementCollection, @⁠OneToMany и @⁠ManyToMany?
Как ведут себя конфликтующие импорты?
Как прочитать криптографический ключ?
В чем различие между приватным конструктором и финальным классом?
Как сгенерировать хорошее случайное число?
Как вызвать транзакционный метод из того же класса?
Когда нужно использовать raw types?
Как в Java разобрать JSON?
Как создать пару публичный/приватный ключ?
Опишите жизненный цикл Spring Bean
Что будет со ссылкой на метод, если заменить объект-владельца?
Опишите жизненный цикл сервлета
Как обойти коллекцию?
Может ли имя класса не совпадать с именем файла?
Что такое Jakarta EE?
Как использовать JavaEE сервлет в Spring Framework?
Как передать runtime информацию о generic-типе?
Что такое fail-fast и fail-safe итераторы?
Какой способ логирования выбрать?
Как сравнивать элементы перечисления?
Как остановить поток?
Какой выбрать тип для даты/времени?
Из каких основных сущностей состоит Spring-приложение?
Как прочитать InputStream в строку?
Как написать на Java UDP-сервер?
Как сгенерировать уникальный идентификатор?
Отличается ли List<?> от List<? extends Object>?
Как измерить производительность метода?
В чём преимущества и недостатки Spring Boot?
Какие бывают проблемы с арифметикой в Java?
Как прочитать байткод?
От чего случается UnsupportedClassVersionError?
Приведите примеры использования fork/join framework
Что такое Hibernate?
От чего может случиться NoSuchMethodError?
Как реализовать двусторонний обмен данными между потоками?
В чём разница между интерпретатором, AOT и JIT-компилятором?
TestNG или JUnit – что выбрать?
Чем IllegalArgumentException лучше чем NullPointerException?
Что такое phase, goal и lifecycle в Maven?
Отличаются ли сокращенные и обычные операторы?
Сгенерируйте случайное число в интервале
Лишает ли var строгой типизации?
Когда стоит выбрать char[] вместо String?
Опишите синтаксис javadoc-комментария
Под каким типом хранить период времени?
Как работает инъекция прототипа в синглтон?