Веб-версияОткрыть в Telegram
JJava Interview Tasks

Java Interview Tasks

@java_interview_tasks · канал · Технологии · в индексе с 2026-07-19
4 899подписчиков
490средний охват поста
10%ER — охват к подписчикам
40постов за 30 дней
A
Alexandr Zelentsov
🔍 Ответ на задачу про Stream.reduce: Опасность identity 🚩 Первый аргумент reduce — это identity. Это значение, которое возвращается, если стрим пуст, и которое используется как начальное при вычислении. Вычисление идет так: identity + element1 + element2... В нашем случае: 10 + 1 + 2 + 3 = 16. Вывод: Напечатается 16. Если вы хотите просто сумму — identity должен быть 0. Если произведение — 1. ⚡️ Не перепутайте: Identity должен быть нейтральным элементом для вашей операции. Для сложения это 0, для умножения 1, для конкатенации строк — пустая строка. #java #streamapi #reduce #basics #интервью #java_interview_tasks
1 · 734 ·
Alexandr Zelentsov
Что выведет этот код? LocalDate date = LocalDate.of(2024, 1, 1); date.plusDays(10); System.out.println(date.getDayOfMonth());
1 · 516 ·
A
Alexandr Zelentsov
🔍 Ответ на задачу про LocalDate: Ловушка иммутабельности 📅 Классы из пакета java.time (LocalDate, LocalTime, etc.) — immutable (неизменяемые), как и String. Любой метод, который якобы "меняет" объект, на самом деле возвращает новый объект с измененным состоянием. Исходный объект date остается прежним. Вывод: Напечатается 1. Чтобы получить 11, нужно было написать date = date.plusDays(10). ⚡️ Не перепутайте: Всегда проверяйте, что вы используете возвращаемое значение методов java.time. Это одна из самых частых ошибок при переходе со старого Calendar. #java #datetime #immutable #bug #basics #интервью #java_interview_tasks
1 · 568 ·
A
Что произойдет при вызове new User("")? record User(String name) { public User { if (name.isEmpty()) throw new IllegalArgumentException(); } }
2 · 588 ·
A
Alexandr Zelentsov
🔍 Ответ на задачу про Records: Компактный конструктор 📝 В рекордах (Java 16+) есть "компактный конструктор". У него нет круглых скобок с параметрами. Он автоматически получает те же параметры, что объявлены в заголовке рекорда. Это идеальное место для валидации или нормализации данных (например, name = name.trim()). Вывод: Код скомпилируется и выбросит исключение. Это правильный способ гарантировать валидность данных в Immutable записях. ⚡️ Не перепутайте: В компактном конструкторе не нужно писать this.name = name, Java сделает это сама в конце. #java #records #java17 #clean_code #basics #интервью #java_interview_tasks
1 · 605 ·
A
Какой класс НЕ сможет наследоваться от Shape? sealed class Shape permits Circle, Square { } final class Circle extends Shape { } non-sealed class Square extends Shape { } class Triangle extends Shape { }
1 · 478 ·
A
Alexandr Zelentsov
🔍 Ответ на задачу про Sealed Classes: Закрытая иерархия 🔒 Ключевое слово sealed (Java 17) разрешает наследование только тем классам, которые перечислены в списке permits. Любой другой класс (как Triangle) получит ошибку компиляции при попытке расширить Shape. Наследники sealed класса обязаны быть либо final, либо sealed, либо non-sealed (открывающим иерархию обратно). Вывод: Triangle нет в списке разрешенных. Поэтому вариант с Triangle не скомпилируется. ⚡️ Не перепутайте: Sealed-классы отлично работают вместе с Pattern Matching в switch, позволяя компилятору проверять, все ли возможные подтипы вы обработали. #java #java17 #sealedclasses #oop #basics #интервью #java_interview_tasks
1 · 447 ·
A
Что выведет код? int x = 1; String result = switch (x) { case 1 -> { System.out.print("One"); yield "Result"; } default -> "Other"; }; System.out.print(result);
1 · 374 ·
Alexandr Zelentsov
🔍 Ответ на задачу про Switch Expressions: yield или return? 🔄 В новых switch expressions (Java 14+) если вам нужно выполнить несколько действий в одном case, вы используете блок {}. Чтобы вернуть значение из такого блока наружу в переменную, используется ключевое слово yield. Вывод: Сначала выполнится System.out.print, затем значение "Result" вернется в переменную. Итого: OneResult. ⚡️ Не перепутайте: yield используется только внутри switch. Не пытайтесь использовать его вместо return в обычных методах. #java #switch #java14 #basics #syntax #интервью #java_interview_tasks
353 ·
A
Фотография
нажмите — покажем
📂 Подборка каналов по AI, IT технологиям & HR Tech Мы собрали полезные каналы для тех, кто работает в IT сфере, интересуется AI и хочет расширить свой кругозор без необходимости мониторить сотни источников самому, а также сделать качественный АПГРЕЙД своей новостной Ленты. Что внутри: – AI: реальные инструменты и внедрения, без хайпа; – IT технологии: тренды, обзоры, инсайты от первых лиц; – Карьера: как расти и не выгорать; – HR Tech: кто и как нанимает профессионалов сейчас; – AI life hacks: применение ИИ для тех, кто находиться за границей и ищет там удаленную работу. 🔗 [ Добавить подборку ]    * Сделай свою подписку умнее, пока другие читают вчерашние новости    📩 Записаться в папку
2 · 349 ·
Alexandr Zelentsov
Фотография
нажмите — покажем
Если вы работаете в сфере IT, развиваетесь в технологиях или просто хотите быть в курсе самых важных новостей и трендов - эта папка для вас! Что внутри: ▪️ IT-новости и главные события технологического мира ▪️ Полезные сервисы и инструменты для работы ▪️ Полезные материалы, которые можно сразу применять в работе А также в папке есть Чат-нетворкинг: "ЗАЯВИ О СЕБЕ", где вы можете разместить информацию о себе, своих услугах, кейсах и оставить свои контакты. 🔥 Изучайте, подписывайтесь на интересные каналы и забирайте полезные знания, собранные в одной папке! Жми на ссылку и присоединяйся: 👇 https://t.me/addlist/pOCltuM_vVk3NWI8 ЗАПИСАТЬ СВОЙ КАНАЛ В ПАПКУ
370 ·
A
Что выведет этот код? Object obj = "Hello Java"; if (obj instanceof String s && s.length() > 5) { System.out.print(s.toUpperCase()); } else { System.out.print("Short or not a string"); }
1 · 398 ·
Alexandr Zelentsov
🔍 Ответ на задачу про Pattern Matching: Прощай, кастинг! 👋 В Java 16 появился Pattern Matching for instanceof. Теперь мы можем объявить переменную s прямо в проверке. Если obj является строкой, Java сама сделает приведение типов и запишет результат в s. Область видимости s ограничена блоком if. Вывод: Так как длина строки 10 (> 5), условие сработает. Результат: HELLO JAVA. ⚡️ Не перепутайте: Переменная s доступна только там, где компилятор уверен в её инициализации. Например, в if (...) { здесь s доступна }. #java #java16 #patternmatching #basics #syntax #интервью #java_interview_tasks
2 · 389 ·
A
Собес в гугл: 3200021 разложить на множители
4 · 371 ·
A
Alexandr Zelentsov
Ответ на задачу про 3200021: Заметим, что 32 · 100 000 = 3 200 000 = 20⁵ (потому что 32 = 2⁵, 100 000 = 10⁵, а 2⁵ · 10⁵ = 20⁵). Тогда 3 200 021 = 20⁵ + 20 + 1, то есть это выражение x⁵ + x + 1 при x = 20. Есть известное разложение: x⁵ + x + 1 = (x² + x + 1)(x³ − x² + 1) Подставляем x = 20: x² + x + 1 = 400 + 20 + 1 = 421 x³ − x² + 1 = 8000 − 400 + 1 = 7601 7601 = 7700 − 99 7700 = 77 · 100 = 11 · 700 99 = 11 · 9 Значит, 7601 = 11 · (700 − 9) = 11 · 691. Итого: 3 200 021 = 11 · 421 · 691.
1 · 206 ·
A
Как текстовые блоки (Java 15+) определяют, где начинается контент, а где — просто отступы кода? Сколько пробелов будет перед словом "Hello" в строке result? String result = """ Hello World """;
2 · 314 ·
Alexandr Zelentsov
🔍 Ответ на задачу про Text Blocks: Считаем пробелы 📏 Текстовые блоки используют "алгоритм смещения" (incidental whitespace). Java находит самую левую границу текста во всем блоке (в данном случае это начало слова "World") и считает её за "ноль". Всё, что находится левее этой границы, отбрасывается. Вывод: Так как "Hello" смещено на 2 пробела относительно "World", в итоговой строке перед ним останется именно 2 пробела. ⚡️ Не перепутайте: Положение закрывающих кавычек """ тоже влияет на отступы! Если вы сдвинете их левее текста, это создаст дополнительные пробелы. #java #java15 #textblocks #syntax #basics #интервью #java_interview_tasks
2 · 253 ·
A
Фотография
нажмите — покажем
😊 Ламповое комьюнити про ИТ, ИИ и digital Наш канал вошел в подборку тг-каналов про ИТ, диджитал и Tech — это ламповое комьюнити для своих, где собраны люди из индустрии, кейсы, инструменты и полезные наблюдения. В папке — каналы про: ➕новые инструменты, реальные кейсы и применение в работе ➕тренды, обзоры и взгляд tech-практиков ➕карьера и развитие в tech ➕поиск рабочих подходов и инструментов для ежедневных задач 🔠 Тык на папку https://t.me/addlist/Jyt5789h67djMDBi
1 · 218 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем