Ответ
Изучал ключевые технологии и концепции, необходимые для backend-разработки на Java:
1. Java Core (Фундамент):
- Коллекции:
List,Set,Map, их реализации и отличия. - Многопоточность (Concurrency):
Thread,Runnable,ExecutorService, синхронизация (synchronized,Lock). - Исключения: Иерархия, checked/unchecked исключения, обработка (
try-catch-finally). - Generics: Параметризация типов для создания типобезопасного кода.
2. Фреймворки и библиотеки:
- Spring Ecosystem: Spring Boot, Spring MVC, Spring Data JPA, Spring Security.
- ORM: Hibernate, JPA (Java Persistence API).
3. Базы данных:
- SQL: Написание запросов, JOIN, агрегатные функции, индексы.
- Работа с БД в Java: JDBC, JPA-репозитории, транзакции.
4. Архитектура и паттерны:
- Паттерны проектирования: Singleton, Factory, Observer, Strategy.
-
Пример Singleton (непотокобезопасная версия):
public class Singleton { private static Singleton instance; private Singleton() {} // Приватный конструктор public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); // Ленивая инициализация } return instance; } }
5. Алгоритмы и структуры данных:
- Базовые структуры: массивы, связные списки, стеки, очереди, деревья, хэш-таблицы.
- Алгоритмы сортировки и поиска.
6. Инструменты тестирования:
- JUnit 5 для модульного тестирования.
- Mockito для создания мок-объектов в тестах.