Java developer

Серпухов, Россия
Джуниор
Информационные технологии • Разработка • Backend • Java • Hibernate • Spring • PostgreSQL
Удаленная работа
Опыт работы от 1 года до 3х лет
100 000 ₽
Есть файл резюме (защищен)
О себе

На данный момент Java developer.

Мои компетенции и опыт

Проектная деятельность:

 

Разработка с нуля серверной части двух порталов для взаимодействия саморегулируемых организаций с Росреестром (Портал открытых данных и Портал обращений саморегулируемых организаций)

 

Стек технологий: Java 21, Spring Boot 3, PostgreSQL, Hibernate (JPA), Spring Security, JWT, Docker, MinIO, Apache Tika, Maven, Git

 

Обязанности:

 

1) Разработка API: Проектирование и реализация REST-контроллеров для взаимодействия с фронтендом.

 

2) Безопасность: Реализация системы аутентификации и авторизации на базе Spring Security с использованием кастомных JWT-токенов.

 

3) Работа с данными:

Проектирование схемы базы данных PostgreSQL.

Реализация логики парсинга и импорта данных (CSV, ZIP-архивы) из внешних систем.

 

4) Работа с файлами: Интеграция с MinIO и валидация загружаемых документов (PDF, Excel) через Apache Tika

 

5) Сборка и поддержка: Сборка jar-файлов, написание Dockerfile, обновление и поддержка работоспособности приложения на тестовом стенде. Участие в диагностике проблем при развертывании на серверах заказчика.

 

Достижения:

 

Подготовил бэкенд двух проектов к запуску в продакшн в сжатые сроки.

 

Оптимизация Hibernate:

 

1) Проблема N+1: устранил классическую проблему N+1 при импорте. Переписал логику на работу с коллекциями в памяти.

 

2) Полиморфизм (Joined Inheritance): решил проблему производительности при выборке сущностей с глубокой иерархией (18 наследников, стратегия JOINED). Заменил тяжелые автогенерируемые JOIN-запросы Hibernate на оптимизированную стратегию выборки по ID, сократив время ответа эндпоинта с нескольких секунд до миллисекунд.

 

3) Сложные SQL-запросы: реализовал производительную выборку данных для дашборда через нативные запросы и DTO-проекции, обойдя ограничения JPQL при работе с множественными LEFT JOIN TREAT.

 

4) Управление транзакциями: решил проблему коллизий (unique constraint) в Hibernate при обновлении связей «один к одному», внедрив ручное управление контекстом ( нужен доступ к резюме ) для корректного порядка операций DELETE/INSERT.

 

5) Межсервисное взаимодействие: реализовал механизм отправки данных во внешний сервис Росреестра через RestTemplate с обработкой ошибок.


Специализация
Информационные технологииРазработкаBackendJavaHibernateSpringPostgreSQL
Отрасль и сфера применения

Уровень
Джуниор

Есть файл резюме (защищен)


Интересные кандидаты