Главная страница

Ызкштп. Лекции 8 Что такое коллекция


Скачать 46.22 Kb.
НазваниеЛекции 8 Что такое коллекция
АнкорЫзкштп
Дата13.10.2021
Размер46.22 Kb.
Формат файлаdocx
Имя файла0198f025f9f1de7e.docx
ТипЛекции
#246973




сCORE - 1 2

1. ООП 2

2. Java 2

3. Процедурная Java 5

4. ООП в Java 6

5. Исключения 7

6. Сериализация и копирование 7

CORE-2 8

7. Дженерики 8

8. Коллекции 8

Что такое «коллекция»? 8

9. Функциональные интерфейсы 9

10. Stream API 9

11. Java 8 10

Многопоточность 10

SQL и базы данных 11

JPA и Hibernate 12

13

Spring 13

юПаттерны 14

Алгоритмы и структуры данных 14






сCORE - 1 2

1. ООП 2

2. Java 2

3. Процедурная Java 5

4. ООП в Java 6

5. Исключения 7

6. Сериализация и копирование 7

CORE-2 8

7. Дженерики 8

8. Коллекции 8

Что такое «коллекция»? 8

9. Функциональные интерфейсы 9

10. Stream API 9

11. Java 8 10

Многопоточность 10

SQL и базы данных 11

JPA и Hibernate 12

13

Spring 13

юПаттерны 14

Алгоритмы и структуры данных 14



CORE-2

7. Дженерики


  1. Что такое дженерики?

  2. Для чего нужны дженерики?

  3. Что такое сырые типы (raw type)?

  4. Что такое вайлдкарды?

  5. Расскажите про принцип PECS

8. КоллекцииЧто такое «коллекция»?


  1. Расскажите про иерархию коллекций

  2. Почему Map — это не Collection, в то время как List и Set являются Collection?

  3. В чем разница между классами java.util.Collection и java.util.Collections?

  4. Какая разница между итераторами с fail-fast и fail-safe поведением? (С примерами)

  5. Чем различаются Enumeration и Iterator?

  6. Как между собой связаны Iterable, Iterator и «for-each»?

  7. Можно ли итерируясь по ArrayList удалить элемент? Какое вылетит исключение?

  8. Как поведёт себя коллекция, если вызвать iterator.remove()?

  9. Чем Set отличается от List?

  10. Расскажите про интерфейс Set.

  11. Расскажите про реализации интерфейса Set

  12. В чем отличия TreeSet и HashSet?

  13. Чем LinkedHashSet отличается от HashSet?

  14. Что будет, если добавлять элем енты в TreeSet по возрастанию?

  15. Как устроен HashSet, сложность основных операций.

  16. Как устроен LinkedHashSet, сложность основных операций.

  17. Как устроен TreeSet, сложность основных операций.

  18. Расскажите про интерфейс List

  19. Как устроен ArrayList, сложность основных операций.

  20. Как устроен LinkedList, сложность основных операций.

  21. Почему LinkedList реализует и List, и Deque?

  22. Чем отличаются ArrayList и LinkedList?

  23. Что такое Queue?

  24. Что такое Dequeue? Чем отличается от Queue?

  25. Приведите пример реализации Dequeue.

  26. Какая коллекция реализует FIFO?

  27. Какая коллекция реализует LIFO?

  28. Оцените количество памяти на хранение одного примитива типа byte в LinkedList?

  29. Оцените количество памяти на хранение одного примитива типа byte в ArrayList?

  30. Какие существуют реализации Map?

  31. Как устроена HashMap, сложность основных операций? (Расскажите про принцип корзин)

  32. Что такое LinkedHashMap?

  33. Как устроена TreeMap, сложность основных операций?

  34. Что такое WeakHashMap?

  35. Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false?

  36. Что будет, если мы кладем в HashMap ключ, у которого equals и hashCode определены некорректно?

  37. Возможна ли ситуация, когда HashMap выродится в список даже с ключами имеющими разные hashCode()?

  38. Почему нельзя использовать byte[] в качестве ключа в HashMap?

  39. Будет ли работать HashMap, если все добавляемые ключи будут иметь одинаковый hashCode()?

  40. -

  41. Какое худшее время работы метода get(key) для ключа, который есть в HashMap?

9. Функциональные интерфейсы


  1. Что такое функциональный интерфейс?

  2. Для чего нужна аннотация @FunctionalInterface?

  3. Какие встроенные функциональные интерфейсы вы знаете?

  4. Что такое ссылка на метод?

  5. Что такое лямбда-выражение? Чем его можно заменить?



10. Stream API


  1. Что такое Stream API? Для чего нужны стримы?

  2. Почему Stream называют ленивым?

  3. Какие существуют способы создания стрима?

  4. Как из коллекции создать стрим?

  5. Какие промежуточные методы в стримах вы знаете?

  6. Расскажите про метод peek().

  7. Расскажите про метод map().

  8. Расскажите про метод flatMap().

  9. Чем отличаются методы map() и flatMap().

  10. Расскажите про метод filter()

  11. Расскажите про метод limit()

  12. Расскажите про метод skip()

  13. Расскажите про метод sorted()

  14. Расскажите про метод distinct()

  15. Какие терминальные методы в стримах вы знаете?

  16. Расскажите про метод collect()

  17. Расскажите про метод reduce()

  18. Расскажите про класс Collectors и его методы.

  19. Расскажите о параллельной обработке в Java 8.

  20. Чтотакое IntStream и DoubleStream?

11. Java 8


  1. Какие нововведения появились в java 8?

  2. Какие новые классы для работы с датами появились в java 8?

  3. Расскажите про класс Optional

  4. Что такое ?

  5. Что такое jjs?

  6. Какой класс появился в Java 8 для кодирования/декодирования данных?

  7. Как создать Base64 кодировщик и декодировщик?

  8. Какие дополнительные методы для работы с ассоциативными массивами (maps) появились в Java 8?

  9. Что такое LocalDateTime?

  10. Что такое ZonedDateTime?



Многопоточность


  1. Чем процесс отличается от потока?

  2. Чем Thread отличается от Runnable? Когда нужно использовать Thread, а когда Runnable?(Ответ что тред - это класс, а ранбл интерфейс - считается не полным, нужно рассказать подробно)

  3. Что такое монитор? Как монитор реализован в java?

  4. Что такое синхронизация? Какие способы синхронизации существуют в java?

  5. Как работают методы wait(), notify() и notifyAll()?

  6. В каких состояниях может находиться поток?

  7. Что такое семафор? Как он реализован в Java?

  8. Что означает ключевое слово volatile? Почему операции над volatile переменными не атомарны?

  9. Для чего нужны Atomic типы данных? Чем отличаются от volatile?

  10. Что такое потоки демоны? Для чего они нужны? Как создать поток-демон?

  11. Что такое приоритет потока? На что он влияет? Какой приоритет у потоков по умолчанию?

  12. Как работает Thread.join()? Для чего он нужен?

  13. Чем отличаются методы yield () и sleep()?

  14. Как правильно остановить поток? Для чего нужны методы .stop(), .interrupt(), .interrupted(), .isInterrupted().

  15. Чем Runnable отличается от Callable?

  16. Что такое FutureTask?

  17. Что такое deadlock?

  18. Что такое livelock?

  19. Что такое race condition?

  20. Что такое Фреймворк fork/join? Для чего он нужен?

  21. Что означает ключевое слово synchronized? Где и для чего может использоваться?

  22. Что является монитором у статического синхронизированного метода ?

  23. Что является монитором у нестатического синхронизированного метода ?

  24. util. Concurrent поверхностно.

  25. Stream API & ForkJoinPool Как связаны, что это такое.

SQL и базы данных




  1. ыполняет?

  1. Каким условиям должен удовлетворять класс чтобы являться Entity?

  2. Может ли абстрактный класс быть Entity?

  3. Может ли Entity класс наследоваться от не Entity классов (non-entity classes)?

  4. Может ли Entity класс наследоваться от других Entity классов?

  5. Может ли не Entity класс наследоваться от Entity класса?

  6. Что такое встраиваемый (Embeddable) класс? Какие требования JPA устанавливает к встраиваемым (Embeddable) классам?

  7. Что такое Mapped Superclass?

  8. Какие три типа стратегии наследования маппинга (Inheritance Mapping Strategies) описаны в JPA?

  9. Как мапятся Enumы?

  10. Как мапятся даты (до java 8 и после)?

  11. Как “смапить” коллекцию примитивов?

  12. Какие есть виды связей?

  13. Что такое владелец связи?

  14. Что такое каскады?

  15. Какие два типа fetch стратегии в JPA вы знаете?

  16. Какие четыре статуса жизненного цикла Entity объекта (Entity Instance’s Life Cycle) вы можете перечислить?

  17. Как влияет операция persist на Entity объекты каждого из четырех статусов?

  18. Как влияет операция remove на Entity объекты каждого из четырех статусов?

  19. Как влияет операция merge на Entity объекты каждого из четырех статусов?

  20. Как влияет операция refresh на Entity объекты каждого из четырех статусов?

  21. Как влияет операция detach на Entity объекты каждого из четырех статусов?

  22. Для чего нужна аннотация Basic?

  23. Для чего нужна аннотация Column?

  24. Для чего нужна аннотация Access?

  25. Для чего нужна аннотация Cacheable?

  26. Для чего нужны аннотации @Embedded и @Embeddable?

  27. Как смапить составной ключ?

  28. Для чего нужна аннотация ID? Какие @GeneratedValue вы знаете?

  29. Расскажите про аннотации @JoinColumn и @JoinTable? Где и для чего они используются?

  30. Для чего нужны аннотации @OrderBy и @OrderColumn, чем они отличаются?

  31. Для чего нужна аннотация Transient?

  32. Какие шесть видов блокировок (lock) описаны в спецификации JPA (или какие есть значения у enum LockModeType в JPA)?

  33. Какие два вида кэшей (cache) вы знаете в JPA и для чего они нужны?

  34. Как работать с кешем 2 уровня?

  35. Что такое JPQL/HQL и чем он отличается от SQL?

  36. Что такое Criteria API и для чего он используется?

  37. Расскажите про проблему N+1 Select и путях ее решения.

  38. Что такое EntityGraph? Как и для чего их использовать?






Spring


  1. Что такое инверсия контроля (IoC) и внедрение зависимостей (DI)? Как эти принципы реализованы в Spring?

  2. Что такое IoC контейнер?

  3. Что такое Bean в спринге?

  4. Расскажите про аннотацию @Bean?

  5. Расскажите про аннотацию @Component?

  6. Чем отличаются аннотации @Bean и @Component?

  7. Расскажите про аннотации @Service и @Repository. Чем они отличаются?

  8. Расскажите про аннотацию @Autowired

  9. Расскажите про аннотацию @Resource

  10. Расскажите про аннотацию @Inject

  11. Расскажите про аннотацию @Lookup

  12. Можно ли вставить бин в статическое поле? Почему?

  13. Расскажите про аннотации @Primary и @Qualifier

  14. Как заинжектить примитив?

  15. Как инжектить коллекцию?

  16. Расскажите про аннотацию @Conditional

  17. Расскажите про аннотацию @Profile

  18. Расскажите про ApplicationContext и BeanFactory, чем отличаются? В каких случаях что стоит использовать?

  19. Расскажите про жизненный цикл бина, аннотации @PostConstruct и @PreDestroy()

  20. Расскажите про скоупы бинов? Какой скоуп используется по умолчанию? Что изменилось в пятом спринге?

  21. \

  22. Расскажите про аннотацию @ComponentScan

  23. Как спринг работает с транзакциями? Расскажите про аннотацию @Transactional.

  24. Расскажите про аннотации @Controller и @RestController. Чем они отличаются? Как вернуть ответ со своим статусом (например 213)?

  25. Что такое ViewResolver?

  26. ЧемотличаютсяModel, ModelMap и ModelAndView?

  27. Расскажите про паттерн MVC, как он реализован в Spring?

  28. Расскажите про паттерн Front Controller, как он реализован в Spring?

  29. Что такое АОП? Как реализовано в спринге?

  30. Вчемразницамежду Filters, Listeners and Interceptors?

  31. Можно ли передать в запросе один и тот же параметр несколько раз? Как?

  32. Как работает Spring Security? Как сконфигурировать? Какие интерфейсы используются?

  33. Что такое SpringBoot? Какие у него преимущества? Как конфигурируется? Подробно.

  34. Расскажите про нововведения Spring 5.

юПаттерны


  1. Что такое «шаблон проектирования»?

  2. Какие паттерны используются в Spring Framework?

  3. Какие паттерны используются в Hibernate?



Алгоритмы и структуры данных


  1. Что такое Big O? Как происходит оценка асимптотической сложности алгоритмов?

  2. Что такое рекурсия? Сравните преимущества и недостатки итеративных и рекурсивных алгоритмов. С примерами.

  3. Что такое жадные алгоритмы? Приведите пример.

  4. Расскажите про пузырьковую сортировку.

  5. Расскажите про быструю сортировку.

  6. Расскажите про сортировку слиянием.

  7. Расскажите про бинарное дерево.

  8. Расскажите про красно-черное дерево.

  9. Расскажите про линейный и бинарный поиск.

  10. Расскажите про очередь и стек.

  11. Сравните сложность вставки, удаления, поиска и доступа по индексу в ArrayList и LinkedList.


написать администратору сайта