Подборка объединяет вопросы, отмеченные на этапах интервью в IT_One. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: frontend, backend, api.
Аннотации в программировании — это метаданные, которые можно добавлять к классам, методам, полям и другим элементам кода для передачи дополнительной информации компилятору, среде выполнения или инструментам.
onErrorResume и onErrorReturn — это операторы в реактивных библиотеках (например, Project Reactor), которые обрабатывают ошибки, но работают по-разному:
Это значит, что структура пакетов и расположение главного класса приложения влияют на область сканирования. Если компоненты находятся вне этого дерева пакетов, их нужно явно указать через @ComponentScan.
Livelock — ситуация, когда процессы постоянно меняют своё состояние в ответ друг на друга, но прогресс не достигается (в отличие от deadlock, где процессы просто ждут).
Непроверяемые исключения (unchecked exceptions) в Java — это исключения, которые не требуют обязательного перехвата или объявления в сигнатуре метода (например, наследники RuntimeException).
Чтобы реализовать LRU-кэш, где вытеснение происходит по времени последнего обращения, а не по времени добавления, можно использовать связку LinkedHashMap с доступом по порядку доступа (accessOrder=true) в Java.