Java Developer
16.1K subscribers
1.66K photos
125 videos
2 files
1.82K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 Обратная совместимость в Java-мире

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

На реальных примерах автор показывает, как мелкие изменения ломали код, и какие инструменты помогают контролировать API и автоматизировать миграции.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3
Находчиво

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
22🔥10🤣7👍3
Вопрос с собеседования

Что такое Redis и зачем он используется?

Ответ: Redis — это хранилище данных в оперативной памяти, предназначенное для быстрого доступа к информации. Он поддерживает разные структуры данных — строки, списки, множества, словари — и применяется там, где важна скорость: кэширование, хранение сессий, подсчёт событий, временные блокировки и очереди. Благодаря работе в памяти, Redis обеспечивает отклик за миллисекунды и часто используется в высоконагруженных системах и микросервисной архитектуре.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍187🔥3👨‍💻2
👩‍💻 100+ ресурсов по System Design

Репозиторий best-system-design-resources — это аккуратно собранная подборка ресурсов по системному дизайну: книги, статьи, видео, курсы и разборы архитектур.

Что внутри:
Основы: CAP-теорема, масштабирование, консистентность

Разбор ключевых компонентов: кэш, балансировка, шардирование, очереди

Примеры реальных систем: поисковики, видеохостинги, мессенджеры

Курсы и гайды: System Design Primer, Grokking, Gaurav Sen

Задачи и кейсы с интервью


Хорошая база, чтобы структурировать знания и увереннее разбираться в архитектуре крупных систем.

📱 Ссылка на GitHub

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
И тааак сойдёт

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣47😁104
Вопрос с собеседования

Что такое брокер сообщений и какие из них обычно используются в проектах на Java?

Ответ: Брокер сообщений — это система, которая принимает, хранит и пересылает сообщения между различными компонентами приложения, обеспечивая асинхронное и устойчивое взаимодействие. Это позволяет сервисам быть слабо связанными и работать независимо.

В Java-проектах наиболее часто используют Apache Kafka — для высоконагруженной потоковой обработки, RabbitMQ — для гибкой очередности и маршрутизации сообщений, и ActiveMQ — как решение, тесно интегрированное с экосистемой Java (например, через JMS API).


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥3
⌨️ Вопросы с собеседования по микросервисам на Java

Делимся подборкой вопросов и ответов для подготовки к собеседованию на позицию Java-разработчика: 114 теоретических и практических вопросов с разными уровнями сложности.

Ссылка на подборку

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣36👨‍💻4
Вопрос с собеседования

Для чего нужен файл с расширением .env?

Ответ: Файл .env используется для хранения переменных окружения, которые задают конфигурацию приложения без изменения исходного кода. Это могут быть настройки базы данных, API-ключи, флаги отладки и другие параметры, зависящие от окружения. Такой подход упрощает переключение между dev, staging и production, позволяет не хранить чувствительные данные в репозитории и делает приложение более переносимым.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥139👍6
👩‍💻 Как работает BigDecimal?

BigDecimal — это класс для работы с числами высокой точности. Он нужен там, где float и double перестают быть надёжными: например, в финансовых расчётах, налогах или научных задачах.

В отличие от double, BigDecimal не страдает от ошибок округления, вызванных двоичной арифметикой. Он хранит значение точно — в виде строки, которую мы явно передаём:
BigDecimal money = new BigDecimal("123.456");

Никогда не создавайте BigDecimal из double, иначе вы получите уже округлённое число.


Класс BigDecimal — immutable: любые операции, как у String, создают новый объект:
BigDecimal result = money.add(BigDecimal.valueOf(10));


Для арифметики используются методы (add, subtract, multiply, divide) — потому что операторы + - * / тут не работают.

Для округления используется setScale() с указанием режима:
money.setScale(2, RoundingMode.HALF_UP);

Это важно: без указания RoundingMode можно получить ArithmeticException, особенно при делении.


И ещё один подводный камень — сравнение:
new BigDecimal("1.5").equals(new BigDecimal("1.50")) // false
new BigDecimal("1.5").compareTo(new BigDecimal("1.50")) // 0

equals() сравнивает и значение, и масштаб (scale). А compareTo() сравнивает только числа — и это то, что нужно в большинстве случаев.


Если вы работаете с деньгами, расчётами процентов, скидок, налогов — забудьте про double, вам нужен BigDecimal.

— если было полезно

tags: #обучение

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
41👍12🔥5🤩1
Дружитес

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
28😁18🤣5
Вопрос с собеседования

Что такое Prometheus и зачем он нужен в микросервисной архитектуре?

Ответ: Prometheus — это система мониторинга и сбора метрик, которая особенно хорошо подходит для распределённых систем. В микросервисной архитектуре она позволяет отслеживать состояние каждого сервиса, собирая числовые показатели (задержки, количество запросов, ошибки и т.п.) через HTTP endpoint’ы. Prometheus регулярно опрашивает сервисы (pull-модель), хранит метрики в своей базе и позволяет строить алерты и дашборды. Это помогает выявлять проблемы на ранней стадии и понимать, как ведёт себя система под нагрузкой.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥1
👩‍💻 Материалы для подготовки к собеседованию по Java 

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

Материалы охватывают все ключевые темы: коллекции, многопоточность, JVM, алгоритмы, паттерны проектирования и многое другое.

Ссылка на репозиторий

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥1
Кратко и по делу

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣37😁11🔥61
Для тех, кто делает опенсорс, есть классная новость 🔥

GitVerse вместе с Cloud. ru и Хабром запустили грантовую программу «Код без границ». Она даёт не только финансирование и облачные ресурсы, но и поддержку экспертов и сообщества.

Это классная возможность подтянуть свой проект, найти единомышленников и заявить о себе на всю ИТ-тусовку.

Номинаций несколько: AI-инновации, наука и образование, проекты для всех и инструменты для разработчиков.

Условие для участия простое — проект должен быть размещен на GitVerse (можно импортировать с GitHub).

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

Все подробности и форма заявки — по ссылке
3👍2🔥2
Вопрос с собеседования

В чём отличие CompletableFuture от Future и каковы его преимущества?

Ответ: CompletableFuture расширяет возможности обычного Future, предоставляя полноценную поддержку асинхронного и неблокирующего программирования.

В отличие от Future, где результат приходится ждать через get(), CompletableFuture позволяет задать цепочку действий, которые автоматически выполнятся после завершения задачи — без блокировки потока.

Он поддерживает композицию (например, через thenCompose, thenCombine), удобную обработку ошибок (exceptionally, handle), и может выполнять задачи в отдельных потоках (supplyAsync).

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


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥2
👩‍💻 Пишем скрипты и маленькие программы на Java

В статье рассматривается, как использовать Java для написания небольших скриптов и утилит, обходясь без сложной настройки проектов.

Автор объясняет, как запускать Java-код без предварительной компиляции, использовать неявные классы и методы верхнего уровня, а также применять var для упрощения разработки.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
VK JT = Java + Go!

16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге.

В программе:
— Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK
— Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK
Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами.
Только офлайн, в офисе VK на Мойке.

🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте
🔥21👍1
Всё держится на бэкендерах

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31🤣185💯2
Что выведет код сверху?
Anonymous Quiz
3%
ONETWOTHREEFOUR
13%
ONE5TWOTHREE9FOUR1
70%
ONE32TWOTHREE54FOUR1
15%
Ошибка
🔥64