Java Backend | YeaHub
521 subscribers
113 photos
22 videos
2 files
232 links
Теория, подготовка к интервью и курсы для Java разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#ЛитКод
Задача: 624. Maximum Distance in Arrays

Вам дано m массивов, где каждый массив отсортирован по возрастанию. Вы можете взять два целых числа из двух разных массивов (каждый массив выбирает одно) и вычислить расстояние. Мы определяем расстояние между двумя целыми числами a и b как их абсолютную разность |a - b|. Верните максимальное расстояние.

Пример:
Input: arrays = [[1,2,3],[4,5],[1,2,3]]
Output: 4


👨‍💻 Алгоритм:

1⃣Найдите минимальный элемент из всех первых элементов массивов и максимальный элемент из всех последних элементов массивов.

2⃣Рассчитайте максимальное расстояние между минимальным и максимальным элементами.

3⃣Верните это максимальное расстояние.

😎 Решение:
import java.util.List;

public class Solution {
public int maxDistance(List<List<Integer>> arrays) {
int minVal = arrays.get(0).get(0);
int maxVal = arrays.get(0).get(arrays.get(0).size() - 1);
int maxDistance = 0;

for (int i = 1; i < arrays.size(); i++) {
maxDistance = Math.max(maxDistance, Math.abs(arrays.get(i).get(arrays.get(i).size() - 1) - minVal), Math.abs(arrays.get(i).get(0) - maxVal));
minVal = Math.min(minVal, arrays.get(i).get(0));
maxVal = Math.max(maxVal, arrays.get(i).get(arrays.get(i).size() - 1));
}

return maxDistance;
}
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое конструкторы? Какие типы знаете?

Конструкторы - это специальные методы, используемые для создания и инициализации объектов. Основные типы: конструктор по умолчанию, пользовательский (с параметрами) и копирующий конструктор.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Docker с 0 до 100%. Всё, что нужно знать

Видео представляет основы Docker, включая установку, команды, управление портами, переменные окружения, работу с данными, сетью, созданием контейнеров, Docker Compose и использование Portainer для управления.
📲 Смотреть ютуб

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#вакансии
👨‍💻 Backend разработчик (middle+)

Локация: Удалённо
Компания: ООО Транслогика
ЗП: от 200 000 до 250 000 р.
Занятость: Полная

Для проектирования и реализации микросервисов продукта ищем в команду Backend-разработчика уровня Middle+.

Наш стек: Java/ Kotlin, Microservices архитектура, Spring-фреймворк.

🚩Задачи, которые будешь решать
🔵 Реализация бизнес-логики
🔵 Рефакторинг
🔵 Обеспечение отказоустойчивости (circuit breaker, retry policies)
🔵 Подключение к сторонним API
🔵 Настройка обмена сообщениями между сервисами Kafka/RabbitMQ
🔵 Проектирование событийной модели

​​​​​​​Что ждем от тебя
🔵 Опыт коммерческой backend разработки от 4-х лет, в том числе работа с высоконагруженными и распределёнными системами
🔵 Отличное знание Java, Kotlin, Spring (multithreadingm jvm)
🔵 Понимание микросервисной архитектуры и опыт её реализации
🔵 Знание PostgreSQL
🔵 Опыт работы с RabbitMQ, Kafka, JUnit, k8s/OpenShift Web

🚩Условия
🟡 Официальное трудоустройство и белая зарплата в рынке
🟡 5/2, фултайм, удалёнка
🟡 Интересный, долгосрочный проект
🟡 Сильная команда, возможность развития в указанном стеке
🟡 Продукт, который реально помогает клиентам
🟡 Этапы отбора: встреча с HR, выполнение тестового задания и встреча с TechLead-ом, финальное интервью.

📩 Резюме отправлять: mskulkinagr@yandex.ru

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод сервлета вызывается при получении GET-запроса?
Anonymous Quiz
5%
doPost()
77%
doGet()
8%
service()
10%
init()
#Собес
🤔 Что такое побитовые операции?

Побитовые операции выполняются на уровне битов целых чисел. Примеры: & (побитовое И), | (побитовое ИЛИ), ^ (побитовое исключающее ИЛИ), ~ (побитовое отрицание), а также сдвиги ‹‹, ›› , >>› . Они используются для оптимизации операций, таких как флаги, маски и работа с бинарными данными.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Это клавиатура Android на Java

Для безопасных сквозных зашифрованных сообщений по протокол Signal, в любом мессенджере.

Общайтесь безопасно и независимо, независимо от правовой ситуации или того, используют ли мессенджеры E2EE. Сервер не нужен.

🟠ввод сообщений через отдельное текстовое поле на клавиатуре
🟠шифрование/дешифрование сообщений
🟠использовать буфер обмена для чтения сообщений
🟠журнал сообщений для просмотра отправленных/полученных сообщений
🟠Темная и светлая тема
и многое другое...
Гитхаб

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой из следующих классов не является потоко-безопасным?
Anonymous Quiz
28%
StringBuffer
35%
StringBuilder
13%
ConcurrentHashMap
24%
CopyOnWriteArrayList
#полезное
😊 В чем разница между ActiveMQ, RabbitMQ и Kafka

🟠ActiveMQ: Лучше всего подходит для сценариев, где критична совместимость с JMS и поддержка различных протоколов, с фокусом на интеграцию с предприятиями и надежность.

🟠Kafka: Идеален для обработки больших потоков данных, обеспечивая высокую пропускную способность, а также когда необходимы сохранение данных и возможность их воспроизведения.

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Объекты каких стандартных классов immutable в Java?

Примеры неизменяемых классов в Java: String , классы-обертки для примитивов ( Integer, Double , и т.д.), BigInteger, BigDecimal, и некоторые классы из библиотеки java.time ( LocalDate, LocalTime ).

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 625. Minimum Factorization

Если задано целое положительное число num, верните наименьшее целое положительное число x, умножение каждого разряда которого равно num. Если ответа нет или ответ не помещается в 32-битное знаковое целое число, возвращается 0.

Пример:
Input: num = 48
Output: 68


👨‍💻 Алгоритм:

1⃣Если num равно 1, верните 1. Инициализируйте массив для хранения множителей.

2⃣Разделите num на множители от 9 до 2, пока num больше 1. Если в процессе остаются множители больше 9, верните 0.

3⃣Постройте результат, собирая найденные множители в обратном порядке. Если результат больше 32-битного целого числа, верните 0.

😎 Решение:
public class Solution {
public int smallestFactorization(int num) {
if (num == 1) return 1;

List<Integer> factors = new ArrayList<>();

for (int i = 9; i >= 2; i--) {
while (num % i == 0) {
factors.add(i);
num /= i;
}
}

if (num > 1) return 0;

long result = 0;
for (int i = factors.size() - 1; i >= 0; i--) {
result = result * 10 + factors.get(i);
if (result > Integer.MAX_VALUE) return 0;
}

return (int) result;
}
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#видео
😊 Хеш-таблица — Самая Популярная Структура Данных

Разбираем как работает HashSet - структура данных, которая позволяет проверять в ней наличие любого элемента за О(1) времени.

Затем модифицируем ее так, чтобы получить хеш-таблицу, то есть структуру данных, хранящую пары ключ-значение.
📲 Cмотреть на ютубе

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Дайте краткую характеристику immutable object. Зачем они нужны?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой из этих интерфейсов в Java 8 позволяет выполнять параллельные операции на потоках данных?
Anonymous Quiz
15%
Serializable
4%
Collection
46%
Stream
35%
Runnable
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Полезный инструмент для работы с JSON

JSON-файлы с высокой вложенностью часто сложно прочитать.

JsonCrack создает графические диаграммы из JSON-файлов и делает их легко читаемыми.
Кроме того, созданные диаграммы можно скачать в виде изображений.
Ссылка на инструмент

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#видео
🤯 Работа Istio с Keycloak для обеспечения безопасности Java приложения

Демо возможностей Istio в локальном кластере Minikube на примере Java приложения и Keycloak.
📺 СМОТРЕТЬ RUTUBE

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое статический и динамический полиморфизм в контексте Java?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#вакансии
👨‍💻 Team Lead Java Developer

Локация: Удалённо вне РФ
Компания: Gehtsoft
ЗП: от 4 000 до 6 500 $
Занятость: Полная

Кто нам нужен
Опытный Java-разработчик с 6-7 годами работы. Ищем специалиста, готового работать с legacy проектами, развивать их, поддерживать инфраструктуру и участвовать в тестировании.

🚩Требования
🔵Опыт работы с Java Concurrency
🔵Знание систем обмена сообщениями (Kafka, Solace, Tibco, ActiveMQ, IBM MQ)
🔵Работа с базами данных (Oracle, PostgreSQL, MySQL)
🔵Навыки контейнеризации (Docker) и CI/CD (Jenkins, GitHub Actions, GitLab)
🔵Умение взаимодействовать с клиентами и документировать свою работу
🔵Английский - В2 +

Обязанности
🔵Разработка и тестирование новых функций, устранение причин инцидентов, поддержка инфраструктуры
🔵Ускорение выхода продуктов на рынок и повышение их ценности для клиентов
🔵Снижение технического долга
​​​​​​​​​​​​​​​​
💬 Резюме отправлять: @leahovatatiana

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Стратегии извлечения
📖 Читать статью

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#видео
😊 Простой Telegram-бот на Java и Spring Boot

В данном видеоуроке я показываю как можно разработать свой собственный Telegram-бот на Java с использованием Spring Boot. После просмотра данного видео, вы сможете создать свой собственный Telegram-бот, но уже с более сложным функционалом.

📱 Cмотреть видео

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM