ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.12.2023

Просмотров: 407

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Оглавление
Core-1............................................................................................................................................13
Что такое ООП?.......................................................................................................................13
Какие преимущества у ООП?................................................................................................13
Какие недостатки у ООП?......................................................................................................13
Принципы ООП (наследование, инкапсуляция, полиморфизм, абстракция)....................13
Класс, объект, интерфейс.......................................................................................................14
Ассоциация, агрегация, композиция.....................................................................................14
Является – «is a», имеет – «has a»..........................................................................................14
Статическое и динамическое связывание.............................................................................15
SOLID.......................................................................................................................................15
Какая основная идея языка?...................................................................................................16
За счет чего обеспечивается кроссплатформенность?........................................................16
Какие преимущества у Java?..................................................................................................16
Какие недостатки у java?........................................................................................................17
Что такое JDK? Что в него входит?.......................................................................................17
Что такое JRE? Что в него входит?........................................................................................17
Что такое JVM?.......................................................................................................................17
Что такое byte code?................................................................................................................17
Что такое загрузчик классов (classloader)?...........................................................................17
Что такое JIT?..........................................................................................................................19
Виды ссылок в Java.................................................................................................................19
Отличия между слабыми, мягкими, фантомными и обычными ссылками в Java............19
Для чего нужен сборщик мусора?.........................................................................................20
Как работает сборщик мусора?..............................................................................................22
Какие разновидности сборщиков мусора реализованы в виртуальной машине
HotSpot?....................................................................................................................................23
Опишите алгоритм работы какого-нибудь сборщика мусора, реализованного в виртуальной машине HotSpot................................................................................................23
Что такое finalize()? Зачем он нужен?...................................................................................25
Что произойдет со сборщиком мусора, если выполнение метода finalize() требует ощутимо много времени или в процессе выполнения будет выброшено исключение?. .25
Чем отличаются final, finally и finalize()?..............................................................................25
Что такое Heap- и Stack-память в Java? Какая разница между ними?...............................26
Верно ли утверждение, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных – в куче?..................................................................26
Ключевые слова.......................................................................................................................27
Для чего используется оператор assert?................................................................................27
Какие примитивные типы данных есть в Java?....................................................................27
Что такое char?.........................................................................................................................28
Сколько памяти занимает boolean?........................................................................................28
Логические операторы............................................................................................................28
Тернарный условный оператор..............................................................................................28
Какие побитовые операции вы знаете?.................................................................................28
Что такое классы-обертки?.....................................................................................................29
Что такое автоупаковка и автораспаковка?...........................................................................29
Что такое явное и неявное приведение типов? В каких случаях в java нужно использовать явное приведение?...........................................................................................30
Когда в приложении может быть выброшено исключение ClassCastException?..............31
Что такое пул интов?...............................................................................................................31
Можно ли изменить размер пула int?....................................................................................31


Какие еще есть пулы примитивов?........................................................................................31
Какие есть особенности класса String?.................................................................................31
Что такое «пул строк»?...........................................................................................................31
Почему не рекомендуется изменять строки в цикле? Что рекомендуется использовать?..........................................................................................................................32
Почему char[] предпочтительнее String для хранения пароля?..........................................32
Почему String неизменяемый и финализированный класс?...............................................32
Почему строка является популярным ключом в HashMap в Java?.....................................33
Что делает метод intern() в классе String?.............................................................................33
Можно ли использовать строки в конструкции switch?......................................................33
Какая основная разница между String, StringBuffer, StringBuilder?...................................33
Что такое StringJoiner?............................................................................................................33
Существуют ли в Java многомерные массивы?....................................................................34
Какими значениями инициируются переменные по умолчанию?.....................................34
Что такое сигнатура метода?..................................................................................................34
Расскажите про метод main....................................................................................................34
Каким образом переменные передаются в методы, по значению или по ссылке?...........35
Если передать массив и изменить его в методе, то будет ли изменяться текущий массив?.....................................................................................................................................35
Какие типы классов есть в Java?............................................................................................35
Расскажите про вложенные классы. В каких случаях они применяются?........................35
Что такое «статический класс»?............................................................................................37
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?.....................................................37
Что такое «локальный класс»? Каковы его особенности?..................................................37
Что такое «анонимные классы»? Где они применяются?...................................................37
Каким образом из вложенного класса получить доступ к полю внешнего класса?.........38
Что такое перечисления (enum)?............................................................................................38
Особенности Enum-классов...................................................................................................39
Ромбовидное наследование....................................................................................................39
Как проблема ромбовидного наследования решена в java?................................................39
Дайте определение понятию «конструктор»........................................................................40
Что такое конструктор по умолчанию?.................................................................................40
Могут ли быть приватные конструкторы? Для чего они нужны?......................................40
Расскажите про классы-загрузчики и про динамическую загрузку классов.....................40
Чем отличаются конструкторы по умолчанию, конструктор копирования и конструктор с параметрами?...............................................................................................40
Какие модификаторы доступа есть в Java? Какие применимы к классам?.......................41
Может ли объект получить доступ к члену класса объявленному как private?
Если да, то каким образом?....................................................................................................41
Что означает модификатор static?..........................................................................................41
К каким конструкциям Java применим модификатор static?..............................................41
В чем разница между членом экземпляра класса и статическим членом класса?............42
Может ли статический метод быть переопределен или перегружен?................................42
Могут ли нестатические методы перегрузить статические?..............................................42
Как получить доступ к переопределенным методам родительского класса?....................42
Можно ли сузить уровень доступа/тип возвращаемого значения при переопределении метода?.......................................................................................................42
Что можно изменить в сигнатуре метода при переопределении? Можно ли менять модификаторы (throws и т. п.)?..............................................................................................43
Могут ли классы быть статическими?..................................................................................43
Что означает модификатор final? К чему он может быть применим?................................43


Что такое абстрактные классы? Чем они отличаются от обычных?..................................43
Где и для чего используется модификатор abstract?............................................................44
Можно ли объявить метод абстрактным и статическим одновременно?..........................44
Может ли быть абстрактный класс без абстрактных методов?..........................................44
Могут ли быть конструкторы у абстрактных классов? Для чего они нужны?..................44
Что такое интерфейсы? Какие модификаторы по умолчанию имеют поля и методы интерфейсов?...........................................................................................................................45
Чем интерфейсы отличаются от абстрактных классов? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?.....................................................45
Что имеет более высокий уровень абстракции – класс, абстрактный класс или интерфейс?...............................................................................................................................46
Может ли один интерфейс наследоваться от другого? От двух других?...........................46
Что такое дефолтные методы интерфейсов? Для чего они нужны?...................................46
Почему в некоторых интерфейсах вообще не определяют методов?................................46
Что такое static метод интерфейса?.......................................................................................46
Как вызывать static метод интерфейса?................................................................................47
Почему нельзя объявить метод интерфейса с модификатором final?................................47
Как решается проблема ромбовидного наследования при наследовании интерфейсов при наличии default-методов?................................................................................................47
Каков порядок вызова конструкторов инициализации с учетом иерархии классов?.......47
Зачем нужны и какие бывают блоки инициализации?........................................................47
Для чего используются статические блоки инициализации?.............................................48
Где разрешена инициализация статических/нестатических полей?..................................48
Что произойдет, если в блоке инициализации возникнет исключительная ситуация?....48
Какое исключение выбрасывается при возникновении ошибки в блоке инициализации класса?..........................................................................................................48
Что такое класс Object?...........................................................................................................48
Какие методы есть у класса Object (перечислить все)? Что они делают?.........................48
Расскажите про equals и hashcode..........................................................................................49
Каким образом реализованы методы hashCode() и equals() в классе Object?....................50
Зачем нужен equals(). Чем он отличается от операции ==?................................................50
Правила переопределения метода Object.equals()................................................................50
Что будет, если переопределить equals(), не переопределяя hashCode()? Какие могут возникнуть проблемы?...........................................................................................................50
Какой контракт между hashCode() и equals()?......................................................................50
Для чего нужен метод hashCode()?........................................................................................51
Правила переопределения метода hashcode().......................................................................51
Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?..............................................................................................................51
Могут ли у разных объектов быть одинаковые hashCode()?...............................................51
Почему нельзя реализовать hashcode(), который будет гарантированно уникальным для каждого объекта?..............................................................................................................51
Почему хеш-код в виде 31 * x + y предпочтительнее чем x + y?........................................52
Чем a.getClass().equals(A.class) отличается от a instanceOf A.class?...................................52
instanceof..................................................................................................................................52
Что такое исключение?...........................................................................................................52
Опишите иерархию исключений...........................................................................................52
Расскажите про обрабатываемые и необрабатываемые исключения.................................53
Можно ли обработать необрабатываемые исключения?.....................................................53
Какой оператор позволяет принудительно выбросить исключение?.................................53
О чем говорит ключевое слово throws?.................................................................................53
Как написать собственное («пользовательское») исключение?.........................................53


Какие существуют unchecked exception?..............................................................................53
Что представляет из себя ошибки класса Error?..................................................................53
Что вы знаете о OutOfMemoryError?.....................................................................................54
Опишите работу блока try-catch-finally.................................................................................54
Возможно ли использование блока try-finally (без catch)?..................................................55
Может ли один блок catch отлавливать сразу несколько исключений?.............................55
Всегда ли исполняется блок finally? Существуют ли ситуации, когда блок finally не будет выполнен?......................................................................................................................55
Может ли метод main() выбросить исключение во вне и если да, то где будет происходить обработка данного исключения?.....................................................................55
В каком порядке следует обрабатывать исключения в catch-блоках?................................55
Что такое механизм try-with-resources?.................................................................................55
Что произойдет, если исключение будет выброшено из блока catch, после чего другое исключение будет выброшено из блока finally?......................................................55
Что произойдет, если исключение будет выброшено из блока catch, после чего другое исключение будет выброшено из метода close() при использовании try-with- resources?..................................................................................................................................56
Предположим, есть метод, который может выбросить IOException и
FileNotFoundException. В какой последовательности должны идти блоки catch?
Сколько блоков catch будет выполнено?...............................................................................56
Что такое «сериализация» и как она реализована в Java?...................................................56
Для чего нужна сериализация?..............................................................................................57
Опишите процесс сериализации/десериализации с использованием Serializable............57
Как изменить стандартное поведение сериализации/десериализации?............................57
Какие поля не будут сериализованы при сериализации? Будет ли сериализовано final-поле?................................................................................................................................57
Как создать собственный протокол сериализации?.............................................................58
Какая роль поля serialVersionUID в сериализации?.............................................................58
Когда стоит изменять значение поля serialVersionUID?......................................................58
В чем проблема сериализации Singleton?.............................................................................58
Как исключить поля из сериализации?.................................................................................59
Что обозначает ключевое слово transient?............................................................................59
Какое влияние оказывают на сериализуемость модификаторы полей static и final?........59
Как не допустить сериализацию?..........................................................................................59
Какие существуют способы контроля за значениями десериализованного объекта?......59
Расскажите про клонирование объектов...............................................................................60
В чем отличие между поверхностным и глубоким клонированием?.................................61
Какой способ клонирования предпочтительней?.................................................................61
Почему метод clone() объявлен в классе Object, а не в интерфейсе Cloneable?................62
Как создать глубокую копию объекта (2 способа)?.............................................................62
Рефлексия.................................................................................................................................62
Класс Optional..........................................................................................................................62

Core-2............................................................................................................................................63
Что такое generics?..................................................................................................................63
Что такое raw type (сырой тип)?............................................................................................63
Что такое стирание типов?.....................................................................................................63
В чем заключается разница между IO и NIO?......................................................................63
Какие классы поддерживают чтение и запись потоков в сжатом формате?......................64
Что такое «каналы»?...............................................................................................................64
Назовите основные классы потоков ввода/вывода?.............................................................64
В каких пакетах расположены классы потоков ввода/вывода?..........................................64
Какие подклассы класса InputStream вы знаете, для чего они предназначены?...............64

Для чего используется PushbackInputStream?......................................................................65
Для чего используется SequenceInputStream?......................................................................65
Какой класс позволяет читать данные из входного байтового потока в формате примитивных типов данных?.................................................................................................65
Какие подклассы класса OutputStream вы знаете, для чего они предназначены?............66
Какие подклассы класса Reader вы знаете, для чего они предназначены?........................66
Какие подклассы класса Writer вы знаете, для чего они предназначены?.........................66
В чем отличие класса PrintWriter от PrintStream?................................................................67
Чем отличаются и что общего у InputStream, OutputStream, Reader, Writer?....................67
Какие классы позволяют преобразовать байтовые потоки в символьные и обратно?.....67
Какие классы позволяют ускорить чтение/запись за счет использования буфера?..........67
Существует ли возможность перенаправить потоки стандартного ввода/вывода?..........67
Какой класс предназначен для работы с элементами файловой системы?.......................68
Какие методы класса File вы знаете?....................................................................................68
Что вы знаете об интерфейсе FileFilter?...............................................................................68
Как выбрать все элементы определенного каталога по критерию (например, с определенным расширением)?..............................................................................................69
Что вы знаете о RandomAccessFile?......................................................................................69
Какие режимы доступа к файлу есть у RandomAccessFile?...............................................69
Какой символ является разделителем при указании пути в файловой системе?..............70
Что такое «абсолютный путь» и «относительный путь»?...................................................70
Что такое «символьная ссылка»?...........................................................................................70
Что такое default-методы интерфейса?..................................................................................70
Как вызывать default-метод интерфейса в реализующем этот интерфейс классе?...........71
Что такое static-метод интерфейса?.......................................................................................71
Как вызывать static метод интерфейса?................................................................................71
Что такое «лямбда»? Какова структура и особенности использования лямбда- выражения?..............................................................................................................................71
К каким переменным есть доступ у лямбда-выражений?...................................................73
Как отсортировать список строк с помощью лямбда-выражения?....................................73
Что такое «ссылка на метод»?................................................................................................73
Какие виды ссылок на методы вы знаете?............................................................................74
Объясните выражение System.out::println.............................................................................74
Что такое Stream?....................................................................................................................74
Какие существуют способы создания стрима?....................................................................74
В чем разница между Collection и Stream?...........................................................................75
Для чего нужен метод collect() в стримах?...........................................................................75
Для чего в стримах применяются методы forEach() и forEachOrdered()?..........................76
Для чего в стримах предназначены методы map() и mapToInt(), mapToDouble(), mapToLong()?...........................................................................................................................76
Какова цель метода filter() в стримах?..................................................................................76
Для чего в стримах предназначен метод limit()?..................................................................76
Для чего в стримах предназначен метод sorted()?................................................................77
Для чего в стримах предназначены методы flatMap(), flatMapToInt(),
flatMapToDouble(), flatMapToLong()?....................................................................................77
Расскажите о параллельной обработке в Java 8...................................................................77
Какие конечные методы работы со стримами вы знаете?...................................................78
Какие промежуточные методы работы со стримами вы знаете?........................................79
Как вывести на экран 10 случайных чисел, используя forEach()?.....................................79
Как можно вывести на экран уникальные квадраты чисел используя метод map()?.......80
Как вывести на экран количество пустых строк с помощью метода filter()?....................80
Как вывести на экран 10 случайных чисел в порядке возрастания?..................................80