Telegram Web Link
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣38👨‍💻41
Вопрос с собеседования

Для чего нужен файл с расширением .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
45👍14🔥5🤩1
Дружитес

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

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

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

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

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

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

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

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

tags: #полезное

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

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

В чём отличие 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
8👍7🔥2
👩‍💻 Пишем скрипты и маленькие программы на Java

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

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2
Всё держится на бэкендерах

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39🤣245💯2
Что выведет код сверху?
Anonymous Quiz
2%
ONETWOTHREEFOUR
13%
ONE5TWOTHREE9FOUR1
70%
ONE32TWOTHREE54FOUR1
16%
Ошибка
🔥74
👩‍💻 Нововведения Java 25

Java не стоит на месте и продолжает развиваться, и вот уже скоро выходит Java 25.

В статье представлен разбор основных нововведений: Scoped Values вместо ThreadLocal, единый API для KDF-алгоритмов, модульные импорты, компактные main-методы и гибкие конструкторы.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍2
Дожили

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

Что такое множество в Java и какие существуют его стандартные реализации?

Ответ: Множество (Set) в Java — это коллекция без повторяющихся элементов. Оно реализуется через интерфейс java.util.Set. Стандартные реализации в JDK:

HashSet — основан на хеш-таблице, не сохраняет порядок элементов, допускает null.

LinkedHashSet — расширяет HashSet, сохраняет порядок добавления.

TreeSet — реализует NavigableSet, хранит элементы в отсортированном порядке по Comparable или Comparator.

EnumSet — оптимизирован для хранения элементов одного перечисления (enum), очень быстрый и компактный.

CopyOnWriteArraySet — потокобезопасная реализация на базе CopyOnWriteArrayList, используется, если читающих потоков больше, чем записывающих.

Эти классы покрывают разные сценарии: от высокой производительности до потокобезопасности и сортировки.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1510🔥3
👩‍💻 Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Автор рассматривает лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct.

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

tags:
#статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2💯2
Действительно порой не хватает

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4110😁6💯4
👩‍💻 Java Developer Roadmap

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

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

Ссылка на RoadMap

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍31
Сходил я к этому вашему психологу...

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁392🔥1
2025/10/22 09:58:48
Back to Top
HTML Embed Code: