Технические вопросы #ООП [10.93%]1. Что такое ООП? [3.97%]2. Плюсы и минусы ООП [0.33%]3. Принципы ООП (наследование, инкапсуляция, полиморфизм, абстракция) [9.93%]4. Класс, объект, интерфейс [0.66%]5. Ассоциация, агрегация, композиция [0.99%]6. Статическое и динамическое связывание [0.99%]7. Является – «is a», имеет – «has a» [0.33%]SOLID [19.21%]1. Что такое SOLID (каждая буква)? [18.54%]2. Какие принципы можешь назвать? [0.99%]3. Когда мы можем нарушать принципы SOLID? [1.32%]Java Core [66.23%]1. Расскажи мне про контракт и свойства Equals & Hashcode [19.87%]2. Что такое коллизия? [4.3%]3. Какие типы ссылок существуют в Java? [3.64%]4. Какой класс называют Immutable? [11.92%]5. Основная идея языка [0%]6. За счет чего обеспечена кроссплатформенность? [0.33%]7. Плюсы и минусы Java? [0%]8. JVM, JRE, JDK, JIT [2.32%]9. Что такое байт-код? [0.66%]10. Что такое сборщик мусора (garbage collector)? [8.61%]11. Как работает GC? [13.91%]12. Какие виды GC знаешь? [7.28%]13. Области памяти Java. Stack и heap. Что это такое? [15.89%]14. Типы данных в Java [0.99%]15. Что такое класс-обертка? [2.65%]16. Автоупаковка и автораспаковка [0.33%]17. Строки/String в Java? Из чего состоит? Нюансы [6.95%]18. Что такое пул строк/String pool? [7.95%]19. Почему не рекомендуется изменять строки в цикле? [0.33%]20. Разница между String, StringBuffer, StringBuilder [4.97%]21. Каким образом переменные передаются в методы — по значению или по ссылке? [1.99%]22. Что такое enum? [1.32%]23. Что такое конструктор? [1.66%]24. Какие есть модификаторы доступа? Какие применимы к классам? [2.98%]25. Что означает static? [4.97%]26. Можно ли сузить уровень доступа или тип возвращаемого значения при переопределении метода? [0.33%]27. Что можно изменить в сигнатуре метода при переопределении? Можно ли менять модификаторы (throws и т. п.)? [0.33%]28. Что означает модификатор final? К чему он может быть применим? [6.95%]29. Что такое абстрактные классы? [2.32%]30. Что такое интерфейсы? [2.65%]31. Отличия интерфейса от абстрактных классов? [14.24%]32. Каков порядок вызова конструкторов и блоков инициализации с учетом иерархии классов? [1.66%]33. Зачем нужны и какие бывают блоки инициализации? [0.66%]34. Класс Object и его методы? [4.3%]35. Что такое сериализация и для чего она нужна? [0.99%]36. Разница между версиями Java [0.33%]37. Может ли абстрактный класс быть final? [0.33%]38. Integer pool [1.66%]39. Какие виды загрузчиков классов ты знаешь? [0.33%]40. Record-ы с Java 17. Для чего и зачем? [1.32%]41. Что такое Анонимный класс [1.66%]42. Расскажи что делает JIT компилятор [2.65%]43. Расскажи про прогрев JVM [0.33%]44. break vs continue в цикле [0.66%]45. Что такое аннотация? Зачем нужна? Как создать свою аннотацию? [4.3%]46. Переопределение и перегрузка методов [4.64%]47. ClassLoader в Java [3.31%]48. В чем разница сравнений по equals и "=="? [2.98%]Коллекции [55.63%]1. Расскажите как выглядит иерархия коллекций [23.51%]2. Что такое ArrayList? [4.97%]3. ArrayList. Какая размерность массива по умолчанию? [0.33%]4. ArrayList. Что происходит под капотом при добавлении/удалении элемента в начало/середину/конец списка? [4.97%]5. ArrayList - сложность операций [4.3%]6. Что такое LinkedList? [2.32%]7. LinkedList. Что происходит под капотом при добавлении/удалении элемента в начало/середину/конец списка? [3.31%]8. LinkedList - сложность операций [3.31%]9. ArrayList vs LinkedList [17.55%]10. Какая скорость вставки в ArrayList и LinkedList [3.64%]11. Что такое TreeMap? [3.31%]12. TreeMap - сложность операций [1.66%]13. Внутреннее устройство TreeMap [3.31%]14. Что такое HashMap? [8.94%]15. Внутреннее устройство HashMap [16.89%]16. Что такое бакет? Внутреннее устройство бакета [5.63%]17. HashMap - сложность операций [10.93%]18. Процесс добавления объекта в HashMap [11.59%]19. Будет ли работать HashMap, если все добавляемые ключи будут иметь одинаковый hashCode()? [12.91%]20. Ключи в HashMap [6.62%]21. Могу положить в HashMap или TreeMap элемент с ключом null? [2.65%]22. Что такое HashSet? [4.3%]23. Как HashSet связан с HashMap? [0.66%]24. Внутреннее устройство HashSet [2.65%]25. HashSet - сложность операций [1.32%]26. Процесс добавления объекта в HashSet? [0.99%]27. Будет ли работать HashSet, если все добавляемые элементы будут иметь одинаковый hashCode()? [0.66%]28. Что такое TreeSet? Внутреннее устройство [3.64%]29. Что такое Queue? [0.66%]30. Queue - сложность операций [0%]31. Назовите главные реализации Queue [0.33%]32. Что такое Deque? [0.33%]33. Назовите главные реализации Deque [0%]34. Deque - сложность операций [0%]35. Какая коллекция реализует дисциплину обслуживания LIFO? FIFO? [1.32%]36. HashMap vs TreeMap [3.64%]37. Как с собой связаны Iterable и foreach? [1.99%]38. Реализации интерфейса Map. Почему интерфейс Map выделен отдельно? [3.97%]39. Какую коллекцию использовать для уникальных отсортированных значений? [0.33%]40. HashTable - что это такое? [0.99%]41. Arrays.asList() and List.of() [0.99%]42. LinkedHashMap [2.65%]43. Структуры данных. Какая сложность в дереве? [1.66%]Исключения [28.48%]1. Расскажите про иерархию исключений [12.58%]2. Что такое Error и Exception? [4.97%]3. Расскажите про обрабатываемые и необрабатываемые исключения [12.58%]4. О чем говорит ключевое слово throws? [1.32%]5. Как создать собственное («пользовательское») исключение? [3.64%]6. Расскажите про механизм обработки исключений в java (Try-catch-finally) [6.95%]7. Возможно ли использование блока try-finally (без catch)? [0.33%]8. Может ли один блок catch отлавливать сразу несколько исключений? [0.66%]9. Всегда ли выполняется блок finally? Существуют ли ситуации, когда блок finally не будет выполнен? [3.64%]10. В каком порядке следует обрабатывать исключения в catch блоках? [1.66%]11. Что такое механизм try-with-resources? [4.64%]12. Ошибка OutOfMemoryError. Поймать утечку памяти и пофиксить [7.62%]13. @SneakyThrows в Lombok [0.66%]14. StackOverflowError vs OutOfMemoryError [1.66%]Дженерики [14.24%]1. Что такое дженерики? Для чего нужны? [6.95%]2. Что такое сырые типы? [0%]3. Что такое вайлдкард [0.66%]4. Расскажите про принцип PECS [3.97%]5. Расскажите про класс Optional [4.3%]6. Что такое стирание типов (Type Erasure) в Java Generics [3.31%]Функциональные интерфейсы [15.56%]1. Что такое функциональный интерфейс? [9.6%]2. Для чего нужна аннотация @FunctionalInterface [1.32%]3. Какие встроенные функциональные интерфейсы вы знаете? [4.64%]4. Что такое ссылка на метод? [0.66%]5. Что такое лямбда выражение? Чем его можно заменить? [7.62%]6. Что делает Интерфейс Function? [0.33%]Stream API [27.15%]1. Что такое Stream API и для чего нужны Stream? [11.26%]2. Почему Stream называют ленивым? [2.32%]3. Какие существуют способы создания Stream? [0.33%]4. Типы методов в Stream API [10.6%]5. Что такое промежуточные методы? Какие промежуточные методы в стримах вы знаете? [4.3%]6. Что такое терминальные методы? Какие терминальные методы в стримах вы знаете? [6.29%]7. Методы в Stream API [0.66%]8. Чем отличаются методы map() и flatMap()? [9.27%]9. Расскажите про класс Collectors и его методы [0.33%]10. Что такое IntStream и DoubleStream? [0.33%]11. В чём разница между parallel и parallelStream? [0.33%]12. Для чего нужны операции Consumer, Function, Supplier? [0.99%]13. Что такое параллельные стримы? [3.97%]14. Разница между findAny() и findFirst() [1.66%]Многопоточность [47.02%]1. Что такое многопоточность? [2.32%]2. Чем процесс отличается от потока? [3.64%]3. Чем Thread отличается от Runnable? Когда использовать Thread, а когда Runnable? [0.33%]4. Что такое монитор? Как реализован в Java? [1.66%]5. Что такое синхронизация? Какие способы синхронизации существуют в Java? [15.23%]6. Что такое FutureTask? [2.32%]7. Что такое CompletableFuture? [5.96%]8. Что такое ExecutorService? [7.28%]9. Как работать с коллекциями в многопоточном программировании? [5.3%]10. SynchronizedCollections. Что это? За счет чего достигается потокобезопасность? [0%]11. Что такое Deadlock [8.61%]12. Что такое Livelock [2.65%]13. Что такое Race condition [6.29%]14. Atomic vs Volatile. Что это и когда использовать? [4.3%]15. Зачем нужны atomic [11.92%]16. Зачем нужны volatile [15.56%]17. Какие бывают состояния у потока? [0.99%]18. Collections.synchronizedMap vs ConcurrentHashMap [2.65%]19. Какими способами можем запустить несколько потоков в Java приложении? Как запустить поток в Java? [7.62%]20. Что за интерфейсы Runnable и Callable? В чем между ними отличия? [3.97%]21. Расскажи про пакет concurrent [1.32%]22. Способы решения задач для многопоточного доступа [0.33%]23. Чем конкурентность отличается от параллелизма? [0.33%]24. Что такое CAS операции? (Compare And Swap) [3.31%]25. Асинхронность vs многопоточность [2.65%]26. Зачем нужны пулы потоков? [0.33%]27. Что значит потокобезопасность? [0.99%]28. Области памяти в многопоточности? [1.99%]29. Executors.newCachedThreadPool() [1.99%]30. Что такое happens-before? [3.64%]31. ForkJoinPool vs FixedThreadPool [0.66%]Базы данных [16.89%]1. Виды БД и для чего их лучше использовать? [2.32%]2. Масштабирование. Как решить нехватку места на сервере? [2.32%]3. Репликация базы данных. Что это такое? [3.97%]4. Что такое шардирование? [7.28%]5. NoSQL vs SQL [4.97%]6. Партиционирование [5.3%]SQL [71.85%]1. Что такое транзакции? [10.26%]2. Расскажите про ACID [13.91%]3. Проблемы параллельных транзакций [9.93%]4. Уровни изолированности (read uncommitted, read committed, repeatable read, serializable) [25.17%]5. Виды JOIN. Как работает каждый JOIN? [12.58%]6. Индексы в SQL. Что это? [20.53%]7. Почему когда много индексов, это плохо? [7.28%]8. Плюсы и минусы индексов [8.94%]9. Какие виды индексов знаешь? [14.57%]10. Как правильно выбрать индекс? [4.64%]11. Нормализация и денормализация. Перечислите формы [7.95%]12. Что такое внешний ключ? [0.33%]13. Чем WHERE отличается от HAVING? Можем ли мы их использовать в одном запросе? [7.95%]14. Чем отличается MySQL от PostgreSQL? [0%]15. Оптимизация запросов. Какие существуют инструменты? [22.52%]16. EXPLAIN vs EXPLAIN ANALYZE [9.93%]17. Инструмент для сбора статистики в PostgreSQL [0.33%]18. Что такое селективность? [2.98%]19. Ключевое слово LATERAL [0.33%]20. Оконные функции. PARTITION BY [2.65%]21. cube, rollup, groupBy [0.66%]22. Хранимые процедуры [1.99%]23. Как работает Serializable? [0.99%]24. View, materialized view. Разница между обычным и материализованным представлением? [4.64%]25. C помощью SQL блокировка строки? - SELECT FOR UPDATE [5.96%]26. UNION vs UNION ALL [1.66%]27. Расскажи про ключевое слово DISTINCT? [0.99%]28. Что такое табличные выражения? [0.33%]29. Для чего используется Database Connection Pool? (Hikari) Исчерпание connection pool [1.99%]30. Блокировки и локи. Оптимистичная и Пессимистичная [17.55%]31. БД. Constraint. Какие существуют? [1.99%]32. Primary Key [2.32%]33. Foreign Key [3.31%]34. DELETE vs TRUNCATE [0.99%]NoSQL [4.3%]1. NoSQL типы БД [1.66%]2. Для чего используется Redis? [2.98%]3. Что такое Кэш? [0.66%]Миграции [4.3%]1. Liquibase. Что это и для чего? [2.98%]2. Какие записи создаёт liquibase во время миграции? [0.66%]3. Зачем нужны инструменты миграции? [1.32%]ORM [41.72%]1. Что такое Hibernate, JPA, JDBC, ORM? [5.63%]2. Плюсы и минусы ORM [3.31%]3. Как создать Entity и что это такое? [2.32%]4. Может ли Entity наследоваться от не-Entity классов? [0%]5. Может ли Entity наследоваться от других Entity классов? [0%]6. Почему мы не можем использовать final классы в качестве Entity? [0.33%]7. Что такое Proxy и для чего используется? [8.94%]8. FetchType [2.32%]9. Жизненный цикл сущности [4.64%]10. Кэширование [6.62%]11. HQL и JPQL [0.66%]12. EntityManager + EntityManagerFactory / SessionFactory + session [1.66%]13. Проблема N + 1. Способы решения проблемы [20.86%]14. Что такое Entity Graph? [3.64%]15. Statement, Prepared statement, Callable statement [2.32%]16. Связи между таблицами в ORM [2.98%]17. LazyInitializationException [4.3%]18. Что такое SQL-инъекция? [1.32%]19. Проблемы JOIN FETCH [0.66%]20. Логи в Hibernate [0.33%]21. Аннотация @Query, что это такое? [1.66%]22. Как Hibernate генерирует SQL запросы? [0.33%]23. Hibernate. Что хранится в Persistence Context? Сколько времени объект хранится в Persistence Context? [2.32%]24. Hibernate и Lombok [0.99%]25. Как JPA делает запросы? [0.66%]26. Стратегии наследования в Hibernate [2.98%]Spring [79.14%]1. Зачем мы используем Spring? Почему его так любят? [12.58%]2. Inversion of Control [10.26%]3. Dependency Injection [11.59%]4. Какие способы внедрения зависимостей знаешь? [14.57%]5. Почему лучше использовать конструктор? [12.25%]6. @Autowired [4.3%]7. @Qualifier vs @Primary [11.92%]8. Что такое Bean? [10.6%]9. Скоуп бинов. Web скоуп [26.82%]10. Как обеспечить, чтобы при внедрении бина со скоупом prototype в singleton-бин каждый вызов получал новый экземпляр? [6.29%]11. Жизненный цикл Bean. Вопросы связанные с классами, входящими в жизненный цикл бина [20.53%]12. @ComponentScan [3.31%]13. @Conditional в Spring [2.98%]14. @Service, @Repository, @Component [14.9%]15. @Controller и @RestController [7.95%]16. @ResponseBody vs ResponseEntity [0.33%]17. Spring MVC. Что это? Какие проблемы решает? [0.99%]18. Парадигма AOP [7.28%]19. Циклическая зависимость [8.28%]20. Spring Boot [6.62%]21. Spring Boot vs Spring [11.26%]22. Spring JDBC [0.66%]23. Spring Data JPA [3.97%]24. Блокировка по умолчанию в Spring [0.33%]25. @Transactional. Как работает? [26.82%]26. Какие есть атрибуты у @Transactional? [4.64%]27. Атрибут propagation у @Transactional [9.27%]28. @Transaction Что будет если вызвать метод из метода в одном классе при различных сценариях [15.23%]29. Как гарантировать корректное обновление и сохранение изменений в сущностях, полученных в методе с @Transactional [1.32%]30. @Transactional и Исключения [2.98%]31. @Async [1.99%]32. Starter в Spring. Плюсы и минусы [6.29%]33. Spring Criteria API [2.98%]34. @Scheduled [3.31%]35. Понятие Controller и Servlet в Java. Это одно и то же? Если разное, в чем отличия? [0.99%]36. Что такое объект Filter? В какой момент вызывается? [0.66%]37. Что такое ApplicationContext? Как работает под капотом [5.3%]38. Зачем нужны аннотации @RequestParam и @PathVariable? [0.66%]39. @ConfigurationProperties? ConfigurationProperties vs Value [0.99%]40. @Value. Что это? [0.99%]41. Как работает DispatcherServlet? [1.99%]42. Варианты обработки Exceptions в Spring [0.99%]43. @Configuration. Является Configuration компонентом? Какую доп логику Configuration реализует? [1.32%]44. @PostConstruct [2.65%]45. Dependency management в Spring boot [0.33%]46. Spring Security, как хранить пароль пользователя? [0.66%]47. Spring Profiles как с ними работать? [1.66%]48. Виды proxy в Spring [5.96%]49. @Lookup [2.65%]50. Как работает BeanPostProcessor. Почему есть before и after initialization [2.65%]51. @Lazy [3.64%]52. @ControllerAdvice [3.97%]53. Как устроен Spring Security [2.65%]Паттерны проектирования [20.2%]1. GOF паттерны [11.59%]2. Что такое паттерн? [0%]3. Плюсы и минусы использования паттернов [0%]4. Какие существуют группы паттернов? [3.31%]5. Какие паттерны в какую группу входят? [0.33%]6. Adapter vs Decorator [0%]7. Паттерн MVC [0.99%]8. Паттерн Command [0.66%]9. Паттерн Chain of responsibility [0.66%]10. Как реализуется паттер Abstract Factory? [1.66%]11. Какие паттерны проектирования используются в Spring [2.65%]12. Плюсы и минусы паттерна Singleton? [4.97%]13. Паттерн Builder [1.99%]WEB [22.19%]1. REST [6.95%]2. RESTful и RESTless [1.99%]3. REST vs SOAP [1.32%]4. В каких ситуациях допустимо использование RESTless [0%]5. REST vs RPC. Как выбрать что лучше подходит? [3.31%]6. Назовите 6 принципов REST API [0.99%]7. Идемпотентный метод [2.98%]8. Основные HTTP методы [7.28%]9. Статусы ответов [2.32%]10. GET vs POST [5.3%]11. Разница HTTP и HTTPs [2.32%]12. Из чего состоит HTTP запрос [1.99%]13. Какие методы авторизации существуют для HTTP протокола? [0.33%]14. Из чего состоит JSON Web Token? [0.99%]15. Какие протоколы уровня приложений? [0.33%]16. Что такое HTTP? [0.99%]17. За что отвечают Cookie/куки? [0.66%]18. Отличия POST, PUT, PATCH [3.31%]Микросервисы [23.84%]1. Монолит vs Микросервис [4.97%]2. Плюсы и минусы микросервисов [4.64%]3. Паттерн Saga в микросервисной архитектуре [6.29%]4. CAP теорема [1.99%]5. Паттерн Circuit Breaker [3.31%]6. Паттерн API Gateway [1.99%]7. HTTP vs Kafka. Какой способ общения между микросервисами лучше и почему? [1.32%]8. Шаблоны проектирования для микросервисов (паттерны) [5.63%]9. Что такое Transactional Outbox [6.29%]Брокеры сообщений [44.7%]1. Плюсы и минусы брокеров сообщений [2.65%]2. Разница между Kafka и RabbitMQ [8.28%]3. Что такое топик в Kafka? [5.96%]4. Что такое Producer и что такое Consumer? [1.32%]5. Что такое partition в Kafka? [9.27%]6. Распределение сообщений. Как сообщения распределяются по партициям? [11.26%]7. Гарантии доставки в Kafka [12.91%]8. Какие существуют паттерны работы с очередями? [0.33%]9. Основные компоненты Kafka? [11.92%]10. Kafka. Consumer Group [8.61%]11. Из чего состоит Kafka кластер? [0.66%]12. Брокеры сообщений vs Rest [4.97%]13. Pull и push модели, в чём разница? [0.66%]14. Как гарантировать в Kafka идемпотентность, чтобы не было задвоений и потерь сообщений? [3.97%]15. Как в Kafka гарантируется последовательность сообщений? [3.31%]16. Что сделать, чтобы сообщения попадали в одну партицию? [0.33%]17. Как работает Round Robin? [0.33%]18. Acknowledgment в Kafka [0.33%]19. Смещение (offset) в Kafka [2.65%]20. Повторное чтение данных из Kafka [0.66%]21. DLQ topic? [1.32%]Тестирование [10.6%]1. На чем пишутся тесты? [1.32%]2. Mock vs spy [4.3%]3. Параметризованные тесты [0.99%]4. Unit тесты. Что это и зачем? [0.66%]5. Unit тесты vs интеграционные тесты [1.32%]6. Mock. Как работает? [3.97%]7. Spy. Как работает? [0.66%]8. Каким образом проверяются результаты тестов? [0.33%]9. Основные аннотации в тестировании [0.66%]Деплой [9.6%]1. CI/CD [2.65%]2. Как работает Docker. Из чего состоит докер образ? [2.98%]3. Что такое слой? Как мы можем создать новый слой? [0.33%]4. Docker compose [2.65%]5. ARG, ENV. В чем отличия? [0.33%]6. Docker cmd vs entrypoint [0.66%]7. Отличия контейнеризации от виртулизации [4.64%]8. Поддержка сервиса в продакшене, мониторинг его работы. Общие подходы? [0.33%]Другое [19.54%]1. Инструменты для отладки приложения, течет память, все замирает - Visual VM, JMap, профилировщики [1.99%]2. Определение сложности алгоритма [2.65%]3. Для чего нужно O большое в алгоритмах? (Что такое сложность в алгоритме) [4.3%]4. Какой подход к неймингу методов позволяет ясно и однозначно отражать их функциональность, например, для методов, которые выполняют поиск с сортировкой, очистку кэша или расчёт с сохранением данных и возвратом статуса? [0.66%]5. Как выявлять и устранять узкие места производительности в REST-сервисах и микросервисных архитектурах, когда рост нагрузки (например, увеличение трафика или обращений к БД) приводит к значительно более долгой обработке запросов, чем ожидается, и какие стратегии оптимизации (в том числе архитектурные изменения и масштабирование) могут помочь достичь требуемых временных рамок отклика? [1.32%]6. Обычное программирование vs реактивщина [2.32%]7. Для чего нужен Reflection? [3.97%]8. Что такое идемпотентность? [4.3%]