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
Вопрос с собеседования

Для чего нужен logback.xml?

Ответ: logback.xml — это файл конфигурации Logback. В нём настраивается, куда писать логи, в каком формате их выводить и какие уровни логирования применять для всего приложения или отдельных пакетов. Файл загружается автоматически при старте приложения и позволяет управлять логированием без изменения кода.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
👩‍💻 Три способа менять один объект из нескольких потоков

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

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

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
👩‍💻 Value Object: как победить примитивную одержимость без DDD

В статье разбирается, как избавиться от примитивной одержимости в коде и вынести бизнес-смысл из строк и чисел в Value Object без использования полного DDD.

Автор на практических примерах показывает, как инкапсулировать инварианты, упростить бизнес-логику и сделать код надёжнее и читаемее в реальных проектах.

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

tags: #статья

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

Каково назначение метода filter() в Stream API?

Ответ: Метод filter() — промежуточная операция, которая принимает предикат и создает новый поток, содержащий только те элементы, которые соответствуют условию этого предиката.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥32
👩‍💻 Безопасность маленьких проектов

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

Автор показывает, как повысить безопасность Java-приложения за счёт контроля зависимостей, базового харденинга Nginx и проверки контейнерных образов без усложнения инфраструктуры.

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

tags: #статья

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

Почему @RestController предпочтительнее, чем @Controller в Spring Boot API?

Ответ: @RestController объединяет @Controller и @ResponseBody, автоматически сериализуя возвращаемые данные в JSON или XML.

Если использовать
@Controller, придется добавлять @ResponseBody к каждому методу или настраивать ViewResolver.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥41
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Тренажёр для практики Kubernetes

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

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

Ссылка на GitHub

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥186👍2
1👍1
Что выведет код сверху?
Anonymous Quiz
41%
386
42%
Java
7%
J a v a
9%
Ошибка
This media is not supported in your browser
VIEW IN TELEGRAM
🌐 Игра про защиту серверной инфраструктуры

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

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

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

tags: #полезное

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

В чём заключается разница между методами start() и run()?

Ответ: Метод start() запускает новый поток и передаёт ему выполнение метода run(). В результате run() выполняется в другом потоке, параллельно с текущим.

Если же вызвать run() напрямую, он выполнится как обычный метод в текущем потоке, без создания нового.

Это ключевое различие: start() создаёт параллелизм, run() — нет.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍151
👩‍💻 Зонтичный мониторинг на коленке

В статье автор рассказывает, как написать свое приложение для решения проблемы зонтичного мониторинга на spring-boot.

Под зонтичным мониторингом подразумевается информационная система, которая работает с событиями от систем мониторинга и рассчитывает статусы сервисно-ресурсной модели.

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

tags: #статья

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

Чем аутентификация отличается от авторизации?

Ответ: Аутентификация отвечает на вопрос, кто именно обращается к системе. На этом этапе проверяются учётные данные пользователя, например логин и пароль, токен или сертификат.

Авторизация происходит уже после успешной аутентификации и определяет, какие действия разрешены этому пользователю: к каким ресурсам он имеет доступ и какие операции может выполнять.


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
👩‍💻 Обратная совместимость в Java-мире

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

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

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

tags: #статья

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

Почему метод clone() объявлен в классе Object, а не в интерфейсе Cloneable?

Ответ: Метод clone() определён в классе Object, потому что он реализует базовый механизм побитового копирования объекта средствами JVM (через native-реализацию). Он объявлен как protected, чтобы не допустить прямого вызова вне класса, если метод не переопределён.

Интерфейс Cloneable при этом — маркерный, без методов. Он служит лишь индикатором того, что объект допускает клонирование. Если объект не реализует Cloneable, а метод clone() всё же вызывается, будет выброшено исключение CloneNotSupportedException. Это позволяет обеспечить контроль над тем, какие классы разрешают копирование, и избежать некорректного поведения при клонировании по умолчанию.


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Сборник идей для пет-проектов

Это культовый репозиторий с сотней пет-проектов для реализации: от простых CLI-инструментов до полноценных веб-приложений

Вместо теории — конкретные задачи, пошаговые туториалы и репозитории, которые помогают прокачивать навыки через практику.

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

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Социальная инженерия наглядно

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

Что такое CI/CD и зачем он нужен в разработке?

Ответ: CI/CD (Continuous Integration / Continuous Delivery или Deployment) — это подход к разработке, при котором изменения в коде автоматически проходят через этапы сборки, тестирования и доставки.

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

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


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥3