· 6 years ago · Oct 15, 2019, 01:52 PM
1Core Java Development:
2 Модель памяти в java
3
4 Сколько весит ссылка ? 4 или 8 байт
5
6 Что может вызвать утечку памяти в java, как избежать, как определить? использовать спец программы.
7
8 Принцип работы Serial GC ? https://habr.com/ru/post/269707/
9
10 Методы Object
11
12 Правила переопределения equals, hashcode ? https://javarush.ru/groups/posts/1340-peregruzka-metodov-equals-i-hashcode-v-java
13
14 Контракт equals и hashcode
15
16 Клонирование объектов - условие, глубокое, поверхностное ? маркер,
17
18 Упорядочить модификаторы доступа от самого узкого к наиболее широкому
19
20 Закрытый конструктор
21
22 Отличия абстрактного класса от интерфейса
23 Класс - наследуется, интрфейс - имплементируется.
24 Можно имплементировать несколько интерфейсов, а класс - один.
25 Интерфейс не содержит состояния. А Абстрактный класс - имеет.
26 Интерфейс не может содержать конструктор.
27
28 Для чего используются интерфейсы без определения методов?
29
30 Порядок инициализации объекта ? Parent static block, my static block, parent static fields, my static fields, parent fields, parent constructor, my fields, my constructor.
31
32 //Что такое анонимный класс, альтернативы
33
34 Загрузка классов в java, модель делегирования загрузки класса ?
35
36 В каком случае может возникнуть ClassCastException :
37 com.test.Person can not be cast to com.test.Person? Как решить проблему?
38
39 Dynamic Proxy ? Есть 2 стандартных метода
40
41 Иерархия исключений
42
43 try-catch-finally, try-with-resources
44
45 Когда finally не выполнится
46
47 throws и наследование
48
49 Пул объектов для оболочек Java и String
50
51 Почему строки immutable ? Все обёртки для примитивов?
521. В целях безопасности. Строки активно используются при загрузке классов, в сетевых соединениях, соединениях с базой данных.
532. В многопоточности: иммьютабл объекты не меняют состояние, поэтому нет сложностей в синхронизации состояния объекта между потоками.
543. Поддержка пула строк.
554. Вычисление хэшкода один раз.
56
57 String, Integer, BigDecimal.
58 Помечены как final все поля и класс. РЕКУРСИЯ.
59 Могут находиться только в 1 состоянии. Поточно-ориентированы. Являются лучшими map key.
60 если там поле ссылочного типа. Можем изменять или не можем этот объект. Если да - пройтись рекурсией.
61 Обыграть на уровне equals и hashcode. А зачем нам это вообще нужно? Может окажется что не нужно.
62
63 Иерархия коллекций
64
65 Iterable, Iterator
66 Comparable, Comparator
67
68 Алгоритмическая сложность методов стандартных коллекций ?
69
70 Устройство хешмапы, что такое коллизия, какой механизм для разрешения коллизий . loadfactor
71
72 Если для ключа в хеш-мапе использовать mutable-объект, к каким проблемам это может привести ?
73
74 Дженерики что это, для чего.
75
76 Дженерики в рантайме, type-erasure, какая информация о типах сохраняется в рантайме, как ее получить ?
77
78 WildCards
79 Есть 2 List<? extend Number> list1 и List<? Super Number> list2 и List<?> list3 - что можно присвоить такой ссылке, что в такой лист можно положить, что достать, почему?
80 Правило PECS ?
81
82 java 8
83 что такое функциональный интерфейс, лямбда
84 Это интерфейс с 1 методом без реализации и помеченный аннотацией @FunctionalInterface. Нужен для передачи куска программной логики.
85 Place holder для лямбда выражением. Диктует логику составления лямбда выражений.
86 Consumer - принимает знач. но не возвращ.
87 Supplier - не принимает, но возвращает.
88 Predicate - принимает и возвращает boolean.
89 Function<T,R> - принимает аргумент и возвращает значение какого-либо типа.
90 Operator - на входе и на выходе знач. одного типа.
91
92 К каким переменным есть доступ у лямбда-выражений ?
93 Лямбда-выражения имеют доступ к final переменным из охватывающей области видимости.
94
95 Stream api, терминальные, промежуточные операции, примеры
96
97 Как можно создать стрим из коллекции, массива, из итератора
98
99 Метод flatMap() ?
100
101 Метод collect(), Collectors, как реализовать кастомный коллектор ?
102
103 дефолтные методы в интерфейсах
104
105 Optional – для чего ввели этот класс ?
106 Optional - объект, который служит объектом-заглушкой для нуллов - Класс-обертка который возвращает обёрнутый объект или нулл.
107
108 Отличия метода orElse() от orElseGet() ?
109
110 Что быстрее, if-else или optional, когда лучше использовать optional ?
111
112 неочевидные дженерики.