Java Interview Tasks
Відкрити в Telegram
Реальные вопросы и задачи с собеседований. Оригинальный авторский контент. Актуальный материал. Уровень вопросов от junior до supersenior. Автор канала - @alexzelentsov По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Показати більше4 525
Підписники
-124 години
+237 днів
+1130 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
липень '26
липень '26
+53
в 0 каналах
червень '26
+38
в 0 каналах
Get PRO
травень '26
+47
в 0 каналах
Get PRO
квітень '26
+104
в 0 каналах
Get PRO
березень '26
+86
в 0 каналах
Get PRO
лютий '26
+26
в 0 каналах
Get PRO
січень '26
+39
в 0 каналах
Get PRO
грудень '25
+219
в 0 каналах
Get PRO
листопад '25
+217
в 0 каналах
Get PRO
жовтень '25
+389
в 0 каналах
Get PRO
вересень '25
+152
в 0 каналах
Get PRO
серпень '25
+315
в 0 каналах
Get PRO
липень '25
+329
в 0 каналах
Get PRO
червень '25
+223
в 0 каналах
Get PRO
травень '25
+531
в 7 каналах
Get PRO
квітень '250
в 0 каналах
Get PRO
березень '250
в 1 каналах
Get PRO
лютий '250
в 0 каналах
Get PRO
січень '250
в 0 каналах
Get PRO
грудень '24
+12
в 0 каналах
Get PRO
листопад '24
+62
в 0 каналах
Get PRO
жовтень '24
+117
в 1 каналах
Get PRO
вересень '24
+92
в 0 каналах
Get PRO
серпень '24
+359
в 0 каналах
Get PRO
липень '240
в 0 каналах
Get PRO
червень '240
в 1 каналах
Get PRO
травень '240
в 4 каналах
Get PRO
квітень '240
в 0 каналах
Get PRO
березень '240
в 3 каналах
Get PRO
лютий '240
в 0 каналах
Get PRO
січень '240
в 0 каналах
Get PRO
грудень '230
в 0 каналах
Get PRO
листопад '23
+8
в 0 каналах
Get PRO
жовтень '23
+19
в 0 каналах
Get PRO
вересень '23
+23
в 0 каналах
Get PRO
серпень '23
+44
в 0 каналах
Get PRO
липень '23
+30
в 0 каналах
Get PRO
червень '23
+94
в 0 каналах
Get PRO
травень '23
+27
в 0 каналах
Get PRO
квітень '23
+23
в 0 каналах
Get PRO
березень '23
+23
в 0 каналах
Get PRO
лютий '23
+102
в 0 каналах
Get PRO
січень '23
+4
в 0 каналах
Get PRO
грудень '22
+9
в 0 каналах
Get PRO
листопад '22
+19
в 0 каналах
Get PRO
жовтень '22
+24
в 0 каналах
Get PRO
вересень '22
+7
в 0 каналах
Get PRO
серпень '22
+43
в 0 каналах
Get PRO
липень '22
+272
в 0 каналах
Get PRO
червень '22
+1 278
в 0 каналах
Get PRO
травень '22
+120
в 0 каналах
Get PRO
квітень '22
+10
в 0 каналах
Get PRO
березень '22
+38
в 0 каналах
Get PRO
лютий '22
+1 933
в 0 каналах
Get PRO
січень '22
+1 126
в 0 каналах
Get PRO
грудень '21
+425
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 14 липня | 0 | |||
| 13 липня | 0 | |||
| 12 липня | +1 | |||
| 11 липня | +4 | |||
| 10 липня | +2 | |||
| 09 липня | +4 | |||
| 08 липня | +17 | |||
| 07 липня | +17 | |||
| 06 липня | +2 | |||
| 05 липня | +1 | |||
| 04 липня | 0 | |||
| 03 липня | +3 | |||
| 02 липня | 0 | |||
| 01 липня | +2 |
Дописи каналу
🔍 Ответ на задачу про Integer: Когда 100 == 100, а 1000 != 1000? 🧐
Многие начинающие (и не только) джависты спотыкаются на сравнении объектов-оберток через
==.
Объяснение:
В Java существует Integer Cache. При автоупаковке (autoboxing) вызывается метод Integer.valueOf(int).
Для экономии памяти JVM кеширует объекты Integer в диапазоне от -128 до 127.
Поэтому a и b ссылаются на один и тот же объект в кеше — и == возвращает true.
Для числа 1000 кеша нет, создаются два разных объекта в куче — и == (сравнение ссылок) возвращает false.
Вывод:
Никогда не сравнивайте объекты-обертки через ==, если только вы не хотите проверить идентичность ссылок.
⚡️ Не перепутайте:
- Для сравнения значений объектов всегда используйте .equals().
- Помните, что верхнюю границу кеша можно изменить через флаг -XX:AutoBoxCacheMax=<size>.
Хочешь больше таких нюансов? Ставь 🔥 и делись с коллегами!
#java #integer #cache #jvm #autoboxing #interview #java_interview_tasks| 2 | Что выведет данный код?
Integer a = 100;
Integer b = 100;
System.out.println(a == b);
Integer c = 1000;
Integer d = 1000;
System.out.println(c == d); | 327 |
| 3 | Что выведет данный код? | 322 |
| 4 | 🔍 Ответ на задачу про TreeMap: Любит ли она null-ключи? 🗺
Коллекции в Java по-разному относятся к null. Если HashMap его терпит, то что скажет TreeMap?
Объяснение: TreeMap хранит элементы в отсортированном порядке. Чтобы понять, куда положить новый элемент, она должна сравнить его ключ с существующими (используя compareTo или Comparator). Вызов метода сравнения у null неизбежно приведет к ошибке.
Вывод: Будет выброшен NullPointerException. (Примечание: в старых версиях Java можно было добавить null в пустую мапу, но при втором put() всё равно падал NPE. В современных версиях падает сразу).
⚡️ Не перепутайте:
HashMap: разрешает один null ключ.
Hashtable: запрещает null ключи и значения.
TreeMap: запрещает null ключи.
#java #collections #treemap #null #map #интервью #java_interview_tasks | 425 |
| 5 | Что произойдет при попытке добавить null в качестве ключа в пустую TreeMap? | 470 |
| 6 | Что произойдет при попытке добавить null в качестве ключа в пустую TreeMap? | 460 |
| 7 | 🔍 Ответ на задачу про Stream.peek(): Почему ничего не напечаталось? 🕵️♂️
Метод peek() часто используют для логирования промежуточных этапов стрима. Но новички часто забывают про "ленивость" стримов.
Объяснение: Стримы в Java ленивы. Промежуточные операции (filter, map, peek) не выполняются до тех пор, пока не будет вызвана терминальная операция (collect, forEach, count и т.д.). В данном коде терминальной операции нет, поэтому конвейер даже не запустится.
Вывод: Код не выведет ничего. Чтобы peek сработал, нужно добавить, например, .collect(Collectors.toList()) в конце.
⚡️ Не перепутайте:
peek() предназначен для отладки, не используйте его для изменения состояния объектов (side-effects).
Всегда завершайте цепочку стрима терминальной операцией.
#java #streamapi #peek #lazy #backend #интервью #java_interview_tasks | 534 |
| 8 | УСПЕВАЕШЬ СЛЕДИТЬ ЗА НОВИНКАМИ ?! Технологии не ждут ...
* Когда подписки устарели (outdated) - пора сделать АПГРЕЙД своего информационного поля.
Это ПОДБОРКА ведущих Telegram-каналов — тех самых людей, которые не просто читают новости, а сами их создают.
📂 Добавляй ПАПКУ — и получи полный АПГРЕЙД своей ленты:
* Сделай свою подписку умнее, пока другие читают вчерашние новости ⚡️
Отписаться можно в любой момент. Остаться — тоже ✔️ | 461 |
| 9 | Что выведет этот код? | 485 |
| 10 | Что выведет этот код? | 476 |
| 11 | 📂 Подборка каналов по AI, IT & HR Tech
Каналы для тех, кто работает в IT и хочет держать руку на пульсе без мониторинга сотни источников.
Что внутри:
– AI: реальные инструменты и внедрения, без хайпа;
– IT: тренды, обзоры, инсайты от первых лиц;
– Карьера: как расти и не выгорать;
– AI Life hacks: ИИ для удалённой работы и не только; – HR Tech: кто и как нанимает профессионалов сейчас, где и как найти сегодня работу за рубежом;
🔗 [Добавить папку] | 527 |
| 12 | 🔍 Ответ на задачу про списки: В чём подвох Arrays.asList() и List.of()? 📝
Казалось бы, оба метода создают список из элементов. Но ведут они себя совершенно по-разному, что часто приводит к UnsupportedOperationException или неожиданным изменениям данных.
Объяснение: Arrays.asList() — это "обертка" над массивом. Он возвращает список фиксированного размера. Если изменить элемент в массиве, он изменится и в списке! Добавлять/удалять элементы нельзя. List.of() (появился в Java 9) создает полностью неизменяемый (immutable) список. Он копирует данные из массива. Изменение массива на него не влияет. Добавлять/удалять элементы также нельзя. Кроме того, List.of() запрещает null.
Вывод:
list1.get(0) выведет "C" (связь с массивом сохранена).
list2.get(0) выведет "A" (данные скопированы).
⚡️ Не перепутайте:
Нужен список, который меняется вместе с массивом? Используйте Arrays.asList().
Нужна гарантия неизменяемости и безопасности? Используйте List.of().
Было полезно? Жми ❤️ и подписывайся, чтобы не пропустить новые разборы!
#java #collections #list #arrays #immutable #backend #интервью #java_interview_tasks | 514 |
| 13 | Немає тексту... | 542 |
| 14 | Можно ли добавить элемент в список, созданный через Arrays.asList()? А через List.of()? И что будет, если изменить исходный массив? | 514 |
| 15 | 🔍 Ответ на задачу про Optional: Почему orElse может тормозить ваш код? 🐢
Использование Optional — это стандарт де-факто в современном Java-коде. Но знаете ли вы разницу между orElse() и orElseGet()? Ошибка здесь может привести к лишним вызовам методов и даже к падению производительности.
Задача: Что произойдет, если вызвать orElse() для метода, который делает тяжелую операцию (например, запрос в БД), даже если значение в Optional уже есть?
Объяснение: orElse(T other) принимает готовый объект. Это значит, что аргумент вычисляется до вызова метода orElse. Даже если Optional не пустой, getDefaultValue() будет выполнен! orElseGet(Supplier<? extends T> other) принимает лямбду (Supplier). Она выполняется только тогда, когда Optional действительно пуст (ленивые вычисления).
Вывод: В примере выше на консоль выведется "Вызов тяжелого метода!", хотя значение "Hello" уже есть. Если бы мы использовали optional.orElseGet(() -> getDefaultValue()), лишнего вызова бы не было.
⚡️ Не перепутайте:
Используйте orElse(), если у вас уже есть готовая константа или примитив.
Используйте orElseGet(), если получение дефолтного значения требует вычислений или создания нового объекта.
Понравился разбор? Ставь ❤️, подписывайся и пиши в комментариях, какие ещё методы Optional тебя путают!
#java #optional #performance #clean_code #backend #интервью #java_interview_tasks | 796 |
| 16 | Что произойдет, если вызвать orElse() для метода, который делает тяжелую операцию (например, запрос в БД), даже если значение в Optional уже есть? | 746 |
| 17 | Что напечатает код? | 687 |
| 18 | Записи докладов Spring I/O 2026 постепенно появляются на [YouTube](https://youtube.com/playlist?list=PLe6FX2SlkJdQZ3N0SW9Abo4cN7eO5dU-U&si=A4mfuEUr9MZAJtMk) — Spring Boot 4, новые интеграции, модульный дизайн, API и немного AI.
Это заставляет задуматься: как потреблять знания с конференций в 2026 году?
Раньше мы смотрели доклады ради трёх вещей:
1. Вдохновение — почти не изменилось. Чужой практический опыт по-прежнему мотивирует.
2. Расширение кругозора — теряет смысл. AI-ассистенты дают доступ к любым знаниям быстрее и в удобном формате, а поток информации давно превышает возможности восприятия.
3. Накопление знаний для работы — изменилось радикально. Раньше знания хранились в голове (и редко — в заметках с низкой доступностью). Сейчас решения принимаются с помощью AI, а персональные базы знаний стали по-настоящему оперативными.
Новый подход: вместо просмотра видео — взять описание, слайды, транскрипт и попросить AI сделать глубокое саммари с ресерчем. Оценить полезность, трансформировать в нужный формат и загрузить в персональную базу знаний.
Что думаете по этому поводу?
Изменились ли ваши подходы к потреблению информации?
Сохранится ли мотивация у докладчиков при таком подходе?
#java
#RealJavaNews | 780 |
| 19 | На собес в Сбер — 60 минут, live-coding и SQL прямо на камеру.
Знаешь, что спросят?
Мы знаем. И выложили.
@Java Jub — Java-вакансии + реальные вопросы, задачи и стек к каждой.
📱 Переходи: Java Jub (Job) | 0 |
