JavaRocks
3.27K subscribers
140 photos
14 videos
302 links
Базовый канал для изучения языка Java.

Наш сайт: javarocks.ru

Все необходимые туториалы и материалы.

Тесты для проверки знаний. Лучшие практики и паттерны проектирования.

@viktorreh
@anothertechrock
Download Telegram
Вакансии для Java-разработчиков за последние 14 дней:

Java Middle+ Разработчик. Удалённо, до 250 т.р.

Senior Java Разработчик. Удалённо (СПБ), 200–300 т.р.

Senior QA Engineer (Java). Удалённо, 220–300 т.р.

Senior Java Developer. Офис (Астана), 800000–1100000 KZT

Senior Backend Java Engineer. гибрид/удалённо, до 6000 €

Java Middle+ Developer. Удалённо, 3000–5000 $

Lead Java Developer. Удалённо, от 6500 $

ТОП-10 Telegram-каналов с вакансиями по конкретным IT- направлениям.

Java Middle+ Разработчик. Удалённо (РФ), от 240 т.р.

#подборка #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как преобразовать Long в Int в Java

Как вы, вероятно, уже знаете, и long, и int в Java являются примитивными типами данных. И long, и int являются целочисленными типами, поэтому они в некотором роде совместимы. В этой статье мы на примерах разберем, как преобразовать long в int.

🔗Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
☕️ Вакансии по Java за последние две недели:

🟠 Senior Java-разработчик. Удалённо (СПБ), 200-300 т.р. на руки

🟠 Java Middle+ Developer. Удалённо, $3000-5000

🟠 Java Middle+ разработчик (Spring и Spring Boot). Удалённо (РФ), от 240 т.р.

🟠 Ведущий Java-разработчик (+Go/React). Удалённо (редкое посещение офиса в Москве), 395-488 т.р.

🟠 Java Middle+ разработчик. Удалённо (РФ), 460-490 т.р.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Разработчик на Java. гибрид

Java Разработчик. удалённо

Java Middle+ Developer. удалённо, 3000–5000 $

Java Middle+ Разработчик. удалённо (РФ), 460–490 т.р.

Senior Java Разработчик. удалённо (СПБ), 200–300 т.р.

Senior Java Разработчик. удалённо (СПБ), 200–300 т.р.

Java Senior Разработчик. удалённо (Москва), 240–300 т.р.

Ведущий Java Разработчик. удалённо, 395–488 т.р.

Senior Java Developer. удалённо, до 6000$

#подборка #java
📌 Вакансии по Java за последние две недели:

☕️ Java-разработчик (Spring Boot). Удалённо (РФ, РБ), 1500-2500 р./час, 20-40+ часов/месяц

☕️ Ведущий Java-разработчик. Удалённо (гражданство РФ, РБ), от 230 т.р.

☕️ Java Senior Разработчик (Spring). Удалённо (Москва), 240-300 т.р.

☕️ Lead Java Senior Developer (HFT). Гибрид (Лиссабон, Португалия), 80-100 т. евро

☕️ Senior Java Developer (Spring Boot). Удалённо, до $6000
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Java Разработчик. удалённо (РФ, РБ), от 1500 до 2500 руб/час

Ведущий Java Разработчик. удалённо (РФ, РБ), от 230 т.р.

Java/Go Разработчик. удалённо (Ульяновск), 160–200 т.р.

Lead Java Senior Developer (HFT). гибрид (Лиссабон, Португалия), от 80 до 100 т.евро

Java/Kotlin-разработчик. удалённо

Java разработчик. удалённо

#подборка #java
🔔 Дайджест полезных материалов по Java, вышедших с 17 по 22 февраля 2026 г.

📌 Почитать:

☕️ На javarocks.ru:

🟢 Исключения: отмечено, не отмечено и настраиваемое
🟢 Java преобразование ArrayList в Array
🟢 Как в java преобразовать число в строку

☕️ Другие платформы:

🟢 Трудности разработки Java-игр: каким был мобильный геймдев нулевых?
🟢 Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
🟢 Garbage Collector: жизнь без иллюзий
🟢 Ceylon и NULL: как сделать null нормальным
🟢 Руководство по ArchUnit — как модульно тестировать архитектуру
🟢 Параллельная обработка Kafka сообщений с гарантией at-least-once в условиях медленного внешнего сервиса
🟢 Универсальный сервис динамического шардирования
🟢 Вытесняй и властвуй: еще раз про многозадачность
🟢 Импортозамещение, которое мы заслужили: Большой разбор клиента «Телега»
🟢 Слоистая архитектура для людей
🟢 Инструменты навигации в GIGA IDE
🟢 28 дней со Spring AI: от простого чата до полноценного инструмента

📌 Посмотреть:

🟢 ВСЁ про JAVA-СОБЕСЕДОВАНИЯ В 2026. ЗАРПЛАТЫ, ЛОВУШКИ, ВОПРОСЫ
🟢 Towards Better Checked Exceptions

Хорошего дня!

#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет всем, кто любит алгоритмические головоломки!
Это классическая задача, которую часто дают на собеседованиях. Она простая, но требует сообразительности для достижения максимальной эффективности.

Условие:
В массиве находятся числа последовательности от 1 до N в произвольном порядке. Одно из чисел может быть пропущено.

Задача:
Написать алгоритм, который найдет, какого числа не хватает.

Жесткое ограничение:
Сделать это нужно за один проход по массиву

Пример: [1, 2, 3, 4, 5, 6, 8, 9, 10] → Алгоритм должен вернуть 7.


🤔 Как бы вы решили эту задачу? Не лишайте себя удовольствия найти решение самостоятельно!

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🛠 Алгоритм Действий

Весь секрет в сложении!

1. Считаем, сколько должно быть:
Используем формулу для суммы чисел от 1 до N. Это наша Полная Сумма.
Полная Сумма = N*(N + 1)/2


2. Считаем, сколько есть:
Проходим по нашему массиву один раз и складываем все числа. Это наша Фактическая Сумма.

3. Находим разницу:
Вычитаем то, что есть, из того, что должно быть.
Пропущенное число = Полная Сумма - Фактическая Сумма


💻 Реализация на Java
public class Main {
public static void main(String[] args) {
// Задаем N - максимальное число, которое должно быть в последовательности.
int n = 10;

// Массив, в котором отсутствует одно число (например, 3)
// int[] array = new int[] {1, 2, 4, 5, 6, 7, 8, 9, 10}; // Если 3 пропущено
int[] array = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // Тестовый массив без пропусков

// 1. Вычисляем Полную Сумму (Full Sum)
// Используем формулу суммы арифметической прогрессии: N * (N + 1) / 2
// Это эталонная сумма всех чисел от 1 до N.
int sumAll = (n * (n + 1)) / 2;

// 2. Вычисляем Фактическую Сумму (Actual Sum) за один проход
int sum = 0;
// Это единственный проход по массиву, соответствующий ограничению O(N)
for (int i = 0; i < array.length; i++) {
sum += array[i];
}

// 3. Сравниваем суммы и выводим результат
if (sumAll == sum) {
System.out.println("Число не пропущено");
} else {
// Разница между полной и фактической суммой - это и есть пропущенное число.
System.out.println("Пропущено число: " + (sumAll - sum));
}
}
}

Это решение — идеальный ответ на собеседовании.
😉

Оно демонстрирует не только умение писать код, но и знание базовой математики, позволяющее создать алгоритм с оптимальной временной сложностью (O(N)) и пространственной сложностью (O(1))!

Расскажите в комментариях, что получилось у вас!

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Снова задачка, но сегодня про белок и их тусовки 🐿

Задача: Белки обожают вечеринки с сигарами! Обычно для хорошей вечеринки нужно от 40 до 60 сигар (включительно). Но если наступают выходные — правила меняются: нужно минимум 40 сигар, а верхнего предела нет! Чем больше — тем веселее.

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

Примеры:
cigarParty(30, false) → false (мало сигар, не выходные)

cigarParty(50, false) → true (в пределах 40–60, не выходные)

cigarParty(70, true) → true (выходные, больше 40)


А как бы вы решили эту задачу? Жду ваши варианты в комментариях! 😉

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Уже догадались?

Давайте сначала просто проверяем условие:

▪️Если выходные (
isWeekend == true) — проверяем только нижнюю границу: cigars >= 40
▪️Если не выходные — проверяем обе границы:
cigars >= 40 && cigars <= 60

Решение:
public boolean cigarParty(int cigars, boolean isWeekend) {
if (isWeekend) {
return cigars >= 40;
} else {
return cigars >= 40 && cigars <= 60;
}
}

▫️cigars >= 40 — обязательное условие для любой успешной вечеринки

Или более коротко:
public boolean cigarParty(int cigars, boolean isWeekend) {
return cigars >= 40 && (isWeekend || cigars <= 60);
}


▫️ Если
isWeekend == true, то условие сразу истинно (выходные — верхней границы нет)
▫️ Если
isWeekend == false, то дополнительно проверяем cigars <= 60

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стильное свидание — получим ли мы столик в ресторане?

Вы и ваша пара собираетесь в ресторан. У каждого из вас есть "стильность" одежды от 0 до 10.
Шансы получить столик определяются по трем уровням:

▫️ 2 (да) — если хотя бы один из вас очень стильный (8+ баллов)
▫️ 0 (нет) — если хотя бы один из вас одет ужасно (2 или меньше баллов)
▫️1 (возможно) — во всех остальных случаях

Примеры:
dateFashion(5, 10) → 2 (партнер очень стильный — 10 баллов)

dateFashion(5, 2) → 0 (партнер плохо одет — 2 балла)

dateFashion(5, 5) → 1 (средние показатели)


ПОДСКАЗКА

Один из вариантов решения использует такую структуру:

if (xxx) {
return 0;
} else if (yyy) {
return 2;
} else {
return 1;
}
где xxx и yyy — это выражения с операторами <=, >=, которые проверяют значения you и date для получения соответствующего результата.

Порядок операторов if имеет решающее значение — случай с результатом 0 (нет) имеет приоритет над остальными случаями, поэтому эта проверка должна идти первой.


Напишите свои варианты кода — посмотрим, кто сможет сделать решение короче и изящнее! 🧑‍💻

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎1
Когда система падает под нагрузкой, виноват не язык и не фреймворк. Почти всегда проблема в архитектуре.

🔔 Курс «Highload Architect» учит строить системы, которые выдерживают сотни тысяч и миллионы запросов в секунду. Вы разберёте весь путь запроса — от клиента до базы данных и обратно — и поймёте, какие архитектурные решения действительно работают под высокой нагрузкой, а какие ломаются первыми.

Программа ориентирована на веб-разработчиков, тимлидов и архитекторов ПО.

На курсе рассмотрим типовые и нетривиальные кейсы, с которыми сталкиваются крупные сервисы.

🎁 Закрываем набор до 5.03.2026 в группу февраля со скидкой 🔤 . Подробности у менеджера.

Пройти короткое вступительное тестирование: https://vk.cc/cV1gyD

📌Практическое обучение проводится в прямом эфире — вебинары не являются предзаписанными.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот и решение:

Ключевой момент: сначала проверяем худший сценарий (стиль ≤ 2), потом лучший (стиль ≥ 8), и только потом средний вариант.

public int dateFashion(int you, int date) {
// Сначала проверяем провальный случай
if (you <= 2 || date <= 2) {
return 0;
}
// Затем проверяем гарантированный успех
else if (you >= 8 || date >= 8) {
return 2;
}
// Во всех остальных случаях — "возможно"
else {
return 1;
}
}

Так почему же именно такой порядок проверок?

Порядок ВАЖЕН! Если бы мы поменяли условия местами:
// НЕПРАВИЛЬНЫЙ вариант!
if (you >= 8 || date >= 8) {
return 2;
} else if (you <= 2 || date <= 2) {
return 0; // Эта проверка никогда не сработает для пар (10, 1)!
} else {
return 1;
}


В неправильном варианте для пары (10, 1) сработала бы первая проверка и вернула 2, хотя по условию должен быть 0 (один из пары имеет стиль ≤ 2).

Есть и альтернативное решение (менее читаемое, но компактное):
public int dateFashion(int you, int date) {
if (you <= 2 || date <= 2) return 0;
return (you >= 8 || date >= 8) ? 2 : 1;
}


Сталкивались ли вы с похожими задачами на приоритетность условий в реальных проектах? Поделитесь опытом!

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Java/Go Разработчик. удалённо (Ульяновск), 160–200 т.р.

Java Middle+ Разработчик. удалённо (РФ), 240 т.р.

Java Senior разработчик. удаленно (РФ), 250–270 т.р.

Lead Java Developer. удалённо, 6500 $

Разработчик Java. офис

#подборка #java
🔥 Вакансии по Java за последние две недели:

🟣 Java Middle+ Разработчик (Spring Framework). Удалённо, 250-268 т.р.

🟣 Senior Java Developer (Spring Boot). Удалённо, 250-300 т.р. на руки

🟣 Java Middle+ Developer (Camunda). Удалённо, 300-400 т.р.

🟣 Lead Java Developer. Удалённо, от $6500

🟣 Senior Java Developer (Spring Boot, Kafka/AMPS). Удалённо из Грузии или с релокацией в Польшу/Кипр, $7000-8000
Please open Telegram to view this post
VIEW IN TELEGRAM
🔔Новые вакансии по Java за последние 14 дней

1️⃣ Java Backend Developer (Middle+)
Middle · Remote

2️⃣ Java Middle QA Fullstack
Selecty
Middle · Remote · Россия/Беларусь · 💰 262 500 – 291 700 ₽

3️⃣ Java Developer
Т1
Middle · Remote

4️⃣ Java разработчик
Wildberries
Middle · Remote

5️⃣ Java разработчик
Wildberries Банк
Middle · Remote

6️⃣ Java-разработчик
Яндекс
Middle · Hybrid

7️⃣ Java разработчик
Метр квадратный (М2)
Middle · Remote

8️⃣ Java Developer
Дип Диджитал
Middle · Remote · Россия · 💰 от 150 000 ₽

9️⃣ Java Software Testing Engineer (Manual + Automation)
Skyro
Middle · Remote · 💰 от 3 000 $

1️⃣0️⃣ Java Middle QA Automation
Протей
Middle · Hybrid · Санкт-Петербург, Россия · 💰 до 260 000 ₽

1️⃣1️⃣ Java разработчик
SENSE
Senior · Remote · 💰 до 450 000 ₽

1️⃣2️⃣ Java Developer
Сбер
Junior · Hybrid · Москва

1️⃣3️⃣ Java QA Engineer Middle+
Selecty
Middle · Remote · Россия/Беларусь · 💰 336 000 – 422 000 ₽

1️⃣4️⃣ Java Developer
Senior · Remote · Москва

1️⃣5️⃣ Java Developer Intern
VK
Junior · Hybrid · Москва, Санкт-Петербург

1️⃣6️⃣ Java-разработчик
Sette
Middle · Remote

1️⃣7️⃣ Java-разработчик
Мегафон
Junior · Office · Москва

1️⃣8️⃣ Java-разработчик
Юмани
Middle · Hybrid · Санкт-Петербург

✈️ Talento | #вакансии #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
☄️ Вакансии по Java за последнюю неделю:

1️⃣ Стажер-разработчик Java
ЛАНИТ – Би Пи Эм
Intern · Hybrid

2️⃣ Java-разработчик
Мегафон
Junior · Office · Москва

3️⃣ Java разработчик MAAS
VK
Senior · Hybrid · Санкт-Петербург

4️⃣ Backend Developer (Node.js)
КА Gaba
Middle · Remote

5️⃣ Middle Java разработчик
Магнит
Middle · Hybrid

6️⃣ Старший Java разработчик (Платформа данных)
OZON
Senior · Office · Москва

7️⃣ Senior Java разработчик
РТЛабс
Senior · Remote

8️⃣ Automation QA Engineer (Java, Mid)
Prequel
Middle · Remote · 💰от $1000

9️⃣ Java Developer
Альфа-Банк
Senior · Hybrid

1️⃣0️⃣ Senior Java Developer/Tech Lead (ЕФС)
Сбер
Senior · Hybrid · Москва

1️⃣1️⃣ Java-разработчик (ATM.Host-Auto)
Сбер
Middle · Hybrid · Москва

1️⃣2️⃣ Backend Java/Python developer (Montecristo)
Сбер
Middle · Hybrid · Москва

1️⃣3️⃣ Middle+/Senior Java разработчик
Сбер
Middle · Hybrid · Москва

1️⃣4️⃣ Java разработчик IAM
Сбер
Middle · Hybrid · Москва

1️⃣5️⃣ Android разработчик (PFM)
Сбер
Middle · Office · Москва

1️⃣6️⃣ Руководитель группы разработки
Т1
Lead · Remote · Нижний Новгород

1️⃣7️⃣ Технический лид Java (Развитие внешнеэкономического партнерства)
Сбер
Lead · Remote · Москва

1️⃣8️⃣ Tech Lead Java (Инструменты управления операционными рисками)
Сбер
Lead · Remote · Москва

1️⃣9️⃣ Trading Technology Engineer (Java Quant)
Bitmex
Senior · Remote · 💰$9750 - 10833

✈️ Talanto | #вакансии
Please open Telegram to view this post
VIEW IN TELEGRAM