Java Backend | YeaHub – Telegram
Java Backend | YeaHub
908 subscribers
237 photos
28 videos
3 files
413 links
Теория, подготовка к интервью и курсы для Java разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #java
🤔 Какие признаки JavaBean?

💬 Кратко:
JavaBean — это класс в Java с определенными стандартами, которые делают его удобным для использования в фреймворках. Признаки: он имеет конструктор без параметров, предоставляет доступ к свойствам через геттеры и сеттеры, а также реализует интерфейс Serializable ДЛЯ ПОддержки сериализации.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Как тестировать Spring Boot приложения в Java?

Статья объясняет, как использовать @SpringBootTest, разницу между юнит- и интеграционными тестами, а также даёт советы по ускорению тестов. Полезно для разработчиков любого уровня, работающих со Spring Boot и микросервисами.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Middle Java Backend разработчик в компанию Сбер

Техническое собеседование. Лето 2025. Опыт в резюме: 3 года. Просил 230+.

Вопросы:
- Какой жизненный цикл Spring Beans?
- Разница между Spring и Spring Boot
- Какие типы индексов существуют?
- В чём отличие Kafka от RabbitMQ?

Все вопросы можно посмотреть на нашей платформе

#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
👎31
#Собес #java
🤔 Что такое bytecode?

💬 Кратко:
Байткод - это промежуточный код, который создается после компиляции Java-программы. Он независим от конкретной платформы и выполняется JVM, которая интерпретирует его в машинный код.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 JEP 511 расширяет язык программирования Java, добавляя возможность кратко импортировать все пакеты, экспортируемые модулем — это упрощает повторное использование модульных библиотек, но при этом не требует, чтобы код, осуществляющий импорт, сам находился в модуле.
Подробнее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥄 Java Streams Cheat Sheet

Пример кода со всеми базовыми приёмами работы со Stream API:

преобразование коллекций

flatMap, mapMulti, peek

сортировка, min/max, distinct

проверки (allMatch, anyMatch)

объединение (reduce, joining)

группировка и разбиение (groupingBy, partitioningBy)


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
🛞 Проект JDBG от roger1337 позволяет подключаться к JVM во время выполнения и исследовать внутреннее состояние Java-программы.

Инструмент использует JNI + JVMTI + DLL-инъекцию, поддерживает просмотр классов, байткода, стека вызовов, локальных переменных и экземпляров объектов.

Создан для исследовательских и образовательных целей, под лицензией Apache 2.0.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #java
🤔 Зачем используют JVM?

💬 Кратко:
JVM используется для выполнения Java-программ, обеспечивая платформонезависимость и управление памятью. Она позволяет запускать программы на разных операционных системах без необходимости перекомпиляции.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵 JMH (Java Microbenchmark Harness)

JMH — это мощная библиотека для написания точных микробенчмарков в Java. Она позволяет измерять производительность кода, избегая ошибок, вызванных JIT-компиляцией и оптимизациями JVM.
Документация

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #java #threading #postgres

🤔 Middle Java Backend Developer в компанию Тбанк

Техническое собеседование. Осень 2024. Вилка: 300-350к. Опыт в резюме: 5 лет. Было код-ревью, обсуждали теорию и оптимизацию БД.

💬 Вопросы:

- Решение проблемы N+1 для связанных сущностей

- Использование DTO вместо сущностей

- Почему внедрение зависимостей через конструктор (@RequiredArgsConstructor) предпочтительнее, чем @Autowired в поле? Какие проблемы решает?

- Как избежать перегрузки внешнего сервиса при синхронных вызовах из высоконагруженной системы?

- Как сделать вызов внешнего сервиса (например, отправку алерта) надёжным при высокой нагрузке?

👉 Все вопросы из этого собеседования (25)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1
#Собес #git_add
🤔 Что делает команда git add?

💬 Кратко:

Команда git add подготавливает изменения для фиксации. Она добавляет файлы или их изменения в индекс (staging area), чтобы они попали в следующий коммит.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #primitives #object #performance
🤔 Когда стоит использовать примитивы, а когда объекты в Java?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #oop #java #spring

🤔 Middle Java Backend разработчик в компанию Яндекс (Вертикали)

Техническое собеседование. Лето 2025. Зарплатная вилка: 250-280к. Опыт в резюме: 4.2 года. Проект: Разработка интеграционного слоя (микросервисы на Spring Boot) для системы расчета штрафов и оценки поставщиков для сети гипермаркетов. Был лайвкодинг.

💬 Вопросы:

- Как вы создавали и использовали кастомные запросы в Hibernate?

- Работали ли вы со Spring Profiles? Для чего они используются?

- Как работает Dependency Injection (DI) в Spring? Как вы его использовали?

- Как настроить конфигурацию с использованием аннотаций в ваших Spring-приложениях?

- Как работает аннотация @Transactional в Spring?

👉 Все вопросы из этого собеседования (26)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
👍2🔥21🤣1
#Собес #git #merge
🤔 Чем git pull отличается от git merge?

💬 Кратко:

git pull — это команда, которая сразу делает две вещи: загружает изменения с удаленного сервера (git fetch) и затем пытается автоматически объединить их с вашей текущей веткой (git merge). git merge — это только вторая часть этого процесса; она объединяет изменения из другой ветки (например, той, что вы только что загрузили) в вашу текущую.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
3
#book #алгоритмы
📚 Алгоритмы на Java

Книга Седжвика и Уэйна «Алгоритмы на Java» является классическим справочным руководством в котором содержится необходимый объем знаний для программиста в области алгоритмов, накопленных за последние несколько десятилетий.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #pojo #class #oop
🤔 Что такое класс POJO? Приведите пример такого класса.

💬 Кратко:

POJO (Plain Old Java Object) — это простой Java-класс без сложных зависимостей. Он используется для хранения данных и не содержит бизнес-логики.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
#Собес #java #sql #microservices

🤔 Middle Java Backend разработчик в компанию Билайн

Техническое собеседование. Лето 2024. Вилка: 250к+. Проект: обещанный платеж. Опыт в резюме: 3 года.

💬 Вопросы:

- Какие механизмы аутентификации и авторизации применяются в микросервисной архитектуре (например, через Spring Security)?

- Что такое миграции баз данных и какие инструменты применяются для их реализации?

- Какие существуют подходы к обработке исключений в Java? В чём отличие обработки через try/catch от предварительной проверки условий?

- Какие механизмы асинхронного программирования есть в Java (например, CompletableFuture) и как они применяются?

- В чём преимущества и недостатки написания SQL-запросов вручную по сравнению с использованием ORM (например, Hibernate)?

👉 Все вопросы из этого собеседования (21)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
2
#course #ооп #алгоритмы
📚 Бесплатный открытый онлайн-курс Хельсинкского университета

Бесплатный открытый онлайн-курс Хельсинкского университета (МООК) по объектно-ориентированному программированию на Java на английском языке. Курс затрагивает основы компьютерного программирования, а также алгоритмы и основы ООП, содержит много упражнений и подходит для обучения с нуля.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #lock #concurrency
🤔 Как сделать потокобезопасную структуру данных для блокировки по определённому ID?

💬 Кратко:

Используйте ConcurrentHashMap с ReentrantLock или synchronized:
Map<Long, Lock> locks = new ConcurrentHashMap<>();
Lock lock = locks.computeIfAbsent(id, k -> new ReentrantLock());
lock.lock();
try {
// Критическая секция
} finally {
lock.unlock();
}


📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
Maven vs npm/pnpm: Битва менеджеров зависимостей

Привет, коллеги! 👋

Сегодня на примере моего стека (Java/Spring и NestJS) сравним менеджеры зависимостей.

Maven (Java)

Как работает:
- Файл конфигурации pom.xml
- Скачивание зависимостей в локальный кэш (`~/.m2/repository`)
- Жесткая версионность
- Плагины для сборки, тестирования, деплоя

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.2.0</version>
</dependency>


Особенности:
- Стабильность и предсказуемость
- Единые версии зависимостей для всех разработчиков
- Медленная загрузка зависимостей
- Сложная настройка кастомных сборочных процессов

npm/pnpm (NestJS)

Как работает:
- Файл package.json с семантическим версионированием
- node_modules для хранения зависимостей
- npm — стандартный менеджер
- pnpm — альтернатива с жесткими ссылками

{
"dependencies": {
"@nestjs/common": "^10.0.0",
"@nestjs/core": "^10.0.0"
}
}


Особенности:
- Гибкое версионирование (^, ~, *)
- Быстрая установка (особенно в pnpm)
- Риск конфликта версий
- package-lock.json`/`pnpm-lock.yaml для фиксации версий

#### Сравнение производительности

Скорость установки:
- pnpm — самый быстрый за счет жестких ссылок
- npm — значительно улучшил скорость в последних версиях
- Maven — самый медленный, но стабильный

Надежность:
- Maven — строгая версионность минимизирует риски
- npm/pnpm — lock-файлы решают проблему "у меня работает", но требуют дисциплины

Выводы

Maven выбирают для enterprise-проектов, где важна стабильность. npm/pnpm предпочтительнее для быстрой разработки и CI/CD.

В моем ed-tech проекте использую pnpm за скорость, на работе — Maven за надежность.

А какие инструменты используете вы? Сталкивались с проблемами зависимостей?

#maven #npm #pnpm #java #nestjs #dependencymanagement #ci_cd
1❤‍🔥1🔥1🤝1