Java Developer
15K subscribers
2.09K photos
162 videos
13 files
2.4K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

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

Какие фреймворки используются для тестирования на Java?

Ответ: Для юнит-тестов обычно выбирают JUnit 5 или TestNG, для создания моков — Mockito.

Интеграционные тесты часто пишут с помощью Spring Boot Test, внешние HTTP-сервисы эмулируют через WireMock, а инфраструктуру (БД, Kafka, Redis) поднимают с Testcontainers.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥52😁1
👩‍💻 Почему Stream.peek() не стоит использовать для реальной логики

peek() выполняется как побочный эффект — его вызов легко потерять или пропустить при выполнении Stream pipeline, особенно если терминальная операция вроде findAny() обработает не все элементы.

Для отладки — используйте peek() смело. А для намеренной обработки данных — map() или forEach(), они выполняются предсказуемо.

tags: #обучение

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

Как работает контейнеризация Java-приложений через Docker?

Ответ: Сначала приложение собирают в .jar, затем создают Dockerfile, где указывают нужный JDK/JRE-образ, добавляют файл приложения и задают команду запуска.

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


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥21
👩‍💻 Не ломайте историю Git

Неправильное использование git pull или rebase легко приводит к конфликтам и запутанной истории коммитов.

В статье подробно разбирают разницу между git fetch, git pull и git pull --rebase, а также объясняют, какую команду использовать в разных сценариях работы.

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

tags: #статья

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

Чем отличаются String, StringBuffer и StringBuilder?

Ответ: String — неизменяемый класс. При каждом изменении строки создаётся новый объект.

StringBuffer и StringBuilder — изменяемые классы. StringBuffer потокобезопасен благодаря синхронизации, но работает медленнее. StringBuilder не гарантирует потокобезопасность, зато эффективнее в однопоточных приложениях.


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥1😁1
👩‍💻 Большая подборка шпаргалок для Java-разработчиков

На одной странице собрали полезные материалы по Java Core, JPA, Hibernate, Stream API, Lombok, коллекциям и работе с JSON.

Также внутри есть ссылки на обучающие ресурсы, open-source проекты и материалы для подготовки к собеседованиям.

Ссылка на справочник

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥3
👩‍💻 Outbox и Inbox в Spring без лишней рутины

Потеря событий — одна из самых неприятных проблем в микросервисной архитектуре.

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

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
👩‍💻 В Spring Boot 4 Jackson 3 стал JSON-библиотекой по умолчанию

Главное, что меняется при переходе:
🫡 Пакеты переехали: com.fasterxml → tools.jackson (кроме аннотаций — они остались в старом пространстве имён для совместимости);
🫡 Вместо изменяемого ObjectMapper теперь используется неизменяемый JsonMapper, который создаётся через Builder — это безопаснее в многопоточной среде;
🫡 Даты по умолчанию сериализуются в ISO-8601, а не в Unix-таймстампы.


Крайний вариант, если нужно остаться на старом поведении, то добавить зависимость для Jackson 2.

tags: #обучение

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
👩‍💻 Переход из 1С в Java: личный опыт

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

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

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥3😁2
💻 Бесплатная песочница для SQL

Нашли удобный онлайн-сервис, который избавит от лишней настройки окружения.

Что умеет:
🫡 создавать таблицы и выполнять SQL-запросы;
🫡 делиться результатами по ссылке;
🫡 поддерживает MySQL, PostgreSQL и SQL Server;
🫡 работает прямо в браузере — без установки и регистрации.


Ссылка на инструмент

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
👩‍💻 Instant.truncatedTo() для сравнения времени с нужной точностью

Instant.equals() сравнивает значение целиком, вплоть до наносекунд — поэтому два момента времени, отличающиеся на долю секунды, всегда дадут false.

Спасает truncatedTo(ChronoUnit) — отбрасывает всё, что мельче нужной единицы измерения, и сравнение начинает работать так, как вы ожидали изначально.

tags: #обучение

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥3