Java Developer
15.7K subscribers
1.93K photos
146 videos
8 files
2.19K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Вопрос с собеседования

Чем unit-тесты отличаются от интеграционных?

Ответ: Unit-тесты проверяют отдельную небольшую часть кода в изоляции — одну функцию или метод, без реальных зависимостей вроде базы данных, сети или файловой системы. Все внешние зависимости подменяются моками или заглушками, поэтому такие тесты быстрые и точно указывают место ошибки.

Интеграционные тесты проверяют совместную работу нескольких компонентов системы. Они запускают код с реальными или почти реальными зависимостями и отвечают на вопрос, корректно ли части приложения взаимодействуют между собой. Такие тесты медленнее, сложнее в настройке, но позволяют выявить проблемы на границах между модулями.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
👩‍💻 Основы транзакций в Spring и JDBC

В статье разбирается, как работают транзакции в Java-приложениях через JDBC и как Spring позволяет упростить управление ими с помощью @Transactional.

Автор показывает, как вручную контролировать транзакции, объясняет ключевые принципы ACID и демонстрирует, как Spring автоматически управляет их жизненным циклом.

Читать статью

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
SQL.pdf
1.9 MB
💻 Руководство по SQL с примерами

Подборка на 150 страниц для тех, кто хочет разобраться в SQL. Здесь есть всё: от базовых запросов до функций и сложных приёмов.

Полезный материал, чтобы быстро освежить или подтянуть знания.

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2
Вопрос с собеседования

Что такое Grafana и как организуется сбор метрик?

Ответ: Grafana — это система визуализации и анализа метрик. Она сама не собирает данные, а подключается к источникам (Prometheus, InfluxDB, Elasticsearch и другим) и строит дашборды на основе уже собранных показателей. Через Grafana настраивают графики, алерты и панели мониторинга.

Сбор метрик обычно происходит отдельно. Приложение публикует метрики через специальный эндпоинт, чаще всего /metrics. Система мониторинга (например, Prometheus) регулярно опрашивает этот эндпоинт по pull-модели, забирает числовые показатели и сохраняет их во временную базу данных. Затем Grafana подключается к этой базе и отображает данные в виде графиков и панелей.

Итого: приложение отдаёт метрики, система мониторинга их собирает и хранит, Grafana — визуализирует и помогает анализировать.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥1🤔1
SQL Basics.pdf
102.8 KB
💻 Подборка шпаргалок по SQL

Собрали для вас короткие и понятные шпаргалки по основным темам:
Основы языка SQL;
JOIN’ы с наглядными примерами;
Оконные функции;
SQL для анализа данных.


Отличный комплект, чтобы освежить знания перед собесом или быстро вспомнить синтаксис.

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍43
Вопрос с собеседования

Что такое неконтролируемые ресурсы в Java и как с ними работать?

Ответ: Неконтролируемые ресурсы — это ресурсы, которые не управляются автоматически сборщиком мусора. К ним относятся файловые дескрипторы, сетевые соединения, потоки ввода-вывода, подключения к базе данных и другие внешние ресурсы.

В отличие от обычных объектов в памяти, такие ресурсы необходимо освобождать вручную, иначе возможны утечки и исчерпание системных лимитов.

Для корректной работы с ними используется интерфейс AutoCloseable и конструкция try-with-resources, которая гарантирует автоматический вызов метода close() даже при возникновении исключения.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👩‍💻 Запросы к MongoDB из Java с помощью билдера фильтров

В статье показано, как с помощью класса Filters удобно строить фильтры для запросов к MongoDB — например, искать документы по условию, диапазону или списку значений.

Примеры охватывают методы eq, gt, in, or, regex и другие, с пояснениями и готовыми сниппетами кода.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Нынче это повод для гордости

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁375💯4
💻 Основы технологий баз данных

Делимся книгой для тех, кто хочет глубоко разобраться в реляционной модели, SQL, архитектуре СУБД и внутренних механизмах PostgreSQL — от теории до оптимизации запросов, репликации и распределённых систем.

Подойдёт разработчикам, студентам и инженерам, которым важно понимать принципы проектирования, хранения данных и выполнения запросов на уровне архитектуры.

Скачать в PDF

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
Вопрос с собеседования

Что такое интерфейс AutoCloseable и как его использовать?

Ответ: AutoCloseable — это интерфейс, предназначенный для объектов, которые удерживают ресурсы, требующие явного освобождения (файлы, сокеты, соединения с базой данных и др.).

Он содержит один метод close(), который вызывается для освобождения ресурсов. Классы, реализующие AutoCloseable, могут использоваться в конструкции try-with-resources, что гарантирует автоматическое закрытие ресурсов после завершения блока, даже если внутри возникло исключение.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥2
🖥 Тренажёр для практики администрирования Linux-серверов

SadServers — это симулятор сисадмина и DevOps, где вы подключаетесь к реальному виртуальному серверу по SSH и чините настоящие проблемы, а не решаете тесты.

Как это выглядит:
— Выдают сломанный сервер с конкретной задачей
— Заходите по SSH и разбираетесь, что пошло не так
— Есть таймер, не успели — сервер отключается


Отличный способ прокачать практику и проверить себя в условиях, близких к реальным — залипаем тут.

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63
👩‍💻 Курс по Apache Maven

В этом курсе подробно разбирается, как устроен Maven: от жизненного цикла Java-приложений до работы с POM-файлами, плагинами и многомодульной структурой.

Вы узнаете, как создавать и публиковать собственные плагины, настраивать сборку, управлять зависимостями и уверенно использовать Maven в реальных проектах.

📱 Смотреть на YouTube

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
7
👩‍💻 Открытая платформа для разработки, тестирования и мониторинга приложений на основе LLM

Opik — инструмент для отслеживания и анализа работы LLM: автоматизирует оценку, хранит тест-кейсы и интегрируется с CI/CD, упрощая разработку и деплой. Поддерживает локальный и облачный запуск, работает с OpenAI, LangChain и другими фреймворками.

📱 Смотреть на GitHub

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👩‍💻 Spring Boot DevTools — ускоряем разработку без лишних перезапусков

Spring Boot DevTools отслеживает изменения в коде и конфигурации и автоматически перезапускает приложение.

Что это даёт:
• Авто-restart при изменении Java-классов;
• Моментальный рефреш «application.properties» и «application.yml»;
• Меньше ручных перезапусков — быстрее цикл «написал → проверил».


Под капотом используется механизм разделения classloader’ов, поэтому перезапуск происходит заметно быстрее, чем полный restart. Плюс DevTools автоматически отключает кэш шаблонов и включает более подробные логи — удобно при работе с Thymeleaf и другими view-движками.

Подключение через Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>


Важно: в production DevTools не попадает — зависимость с «runtime» и автоматически исключается при сборке production-jar.

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74
Вопрос с собеседования

Как принудительно запустить поток?

Ответ: Никак — в Java нет способа напрямую заставить поток выполниться в нужный момент. Планирование выполняется планировщиком потоков JVM и зависит от операционной системы, а разработчику доступно только создание (start()) и синхронизация работы потоков.

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61