В статье разбирается, почему сохранение обратной совместимости в Java — это не только про стабильность, но и про необходимость тянуть за собой старые ошибки и ограничения.
На реальных примерах автор показывает, как мелкие изменения ломали код, и какие инструменты помогают контролировать API и автоматизировать миграции.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3
Что такое Redis и зачем он используется?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🔥3👨💻2
Репозиторий best-system-design-resources — это аккуратно собранная подборка ресурсов по системному дизайну: книги, статьи, видео, курсы и разборы архитектур.
Что внутри:
▶ Основы: CAP-теорема, масштабирование, консистентность▶ Разбор ключевых компонентов: кэш, балансировка, шардирование, очереди▶ Примеры реальных систем: поисковики, видеохостинги, мессенджеры▶ Курсы и гайды: System Design Primer, Grokking, Gaurav Sen▶ Задачи и кейсы с интервью
Хорошая база, чтобы структурировать знания и увереннее разбираться в архитектуре крупных систем.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
Что такое брокер сообщений и какие из них обычно используются в проектах на Java?
Ответ:
В Java-проектах наиболее часто используют Apache Kafka — для высоконагруженной потоковой обработки, RabbitMQ — для гибкой очередности и маршрутизации сообщений, и ActiveMQ — как решение, тесно интегрированное с экосистемой Java (например, через JMS API).
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥3
Делимся подборкой вопросов и ответов для подготовки к собеседованию на позицию Java-разработчика: 114 теоретических и практических вопросов с разными уровнями сложности.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣36👨💻4
Для чего нужен файл с расширением
.env
?Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤9👍6
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: #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
❤41👍12🔥5🤩1
Что такое Prometheus и зачем он нужен в микросервисной архитектуре?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7🔥1
В этом репозитории собрана вся теоретическая база по Java, которая поможет подготовиться к техническому собеседованию.
Материалы охватывают все ключевые темы: коллекции, многопоточность, JVM, алгоритмы, паттерны проектирования и многое другое.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥1
Для тех, кто делает опенсорс, есть классная новость 🔥
GitVerse вместе с Cloud. ru и Хабром запустили грантовую программу «Код без границ». Она даёт не только финансирование и облачные ресурсы, но и поддержку экспертов и сообщества.
Это классная возможность подтянуть свой проект, найти единомышленников и заявить о себе на всю ИТ-тусовку.
Номинаций несколько: AI-инновации, наука и образование, проекты для всех и инструменты для разработчиков.
Условие для участия простое — проект должен быть размещен на GitVerse (можно импортировать с GitHub).
Заявки принимаются до 31 октября, а результаты объявят в декабре.
Все подробности и форма заявки — по ссылке
GitVerse вместе с Cloud. ru и Хабром запустили грантовую программу «Код без границ». Она даёт не только финансирование и облачные ресурсы, но и поддержку экспертов и сообщества.
Это классная возможность подтянуть свой проект, найти единомышленников и заявить о себе на всю ИТ-тусовку.
Номинаций несколько: AI-инновации, наука и образование, проекты для всех и инструменты для разработчиков.
Условие для участия простое — проект должен быть размещен на GitVerse (можно импортировать с GitHub).
Заявки принимаются до 31 октября, а результаты объявят в декабре.
Все подробности и форма заявки — по ссылке
❤3👍2🔥2
В чём отличие
CompletableFuture
от Future
и каковы его преимущества?Ответ:
В отличие от Future, где результат приходится ждать через get(), CompletableFuture позволяет задать цепочку действий, которые автоматически выполнятся после завершения задачи — без блокировки потока.
Он поддерживает композицию (например, через thenCompose, thenCombine), удобную обработку ошибок (exceptionally, handle), и может выполнять задачи в отдельных потоках (supplyAsync).
Это делает его особенно полезным для построения реактивных и параллельных программ, где важно управлять зависимостями между задачами и обрабатывать результат без лишней синхронизации.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥2
В статье рассматривается, как использовать Java для написания небольших скриптов и утилит, обходясь без сложной настройки проектов.
Автор объясняет, как запускать Java-код без предварительной компиляции, использовать неявные классы и методы верхнего уровня, а также применять
var
для упрощения разработки. tags: #статья
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 на Мойке.
🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте
16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге.
В программе:
— Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK
— Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK
Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами.
Только офлайн, в офисе VK на Мойке.
🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте
🔥2❤1👍1
Что выведет код сверху?
Anonymous Quiz
3%
ONETWOTHREEFOUR
13%
ONE5TWOTHREE9FOUR1
70%
ONE32TWOTHREE54FOUR1
15%
Ошибка
🔥6❤4