fa
Feedback
Java Interview Tasks

Java Interview Tasks

رفتن به کانال در Telegram

Реальные вопросы и задачи с собеседований. Оригинальный авторский контент. Актуальный материал. Уровень вопросов от junior до supersenior. Автор канала - @alexzelentsov По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks

نمایش بیشتر
4 525
مشترکین
-124 ساعت
+237 روز
+1130 روز
آرشیو پست ها
🔍 Ответ на задачу про 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

Что выведет данный код?
Integer a = 100;
Integer b = 100;
System.out.println(a == b);
Integer c = 1000;
Integer d = 1000;
System.out.println(c == d);

Что выведет данный код?
Anonymous voting

🔍 Ответ на задачу про 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

Что произойдет при попытке добавить null в качестве ключа в пустую TreeMap?
Anonymous voting

Что произойдет при попытке добавить null в качестве ключа в пустую TreeMap?
Что произойдет при попытке добавить null в качестве ключа в пустую TreeMap?

🔍 Ответ на задачу про 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

УСПЕВАЕШЬ СЛЕДИТЬ ЗА НОВИНКАМИ ?! Технологии не ждут ... * Когда подписки устарели (outdated) - пора сделать АПГРЕЙД своего и
УСПЕВАЕШЬ СЛЕДИТЬ ЗА НОВИНКАМИ ?! Технологии не ждут ... * Когда подписки устарели (outdated) - пора сделать АПГРЕЙД своего информационного поля. Это ПОДБОРКА ведущих Telegram-каналов — тех самых людей, которые не просто читают новости, а сами их создают. 📂 Добавляй ПАПКУ — и получи полный АПГРЕЙД своей ленты: * Сделай свою подписку умнее, пока другие читают вчерашние новости ⚡️ Отписаться можно в любой момент. Остаться — тоже ✔️

Что выведет этот код?
Anonymous voting

Что выведет этот код?
Что выведет этот код?

📂 Подборка каналов по AI, IT & HR Tech Каналы для тех, кто работает в IT и хочет держать руку на пульсе без мониторинга сотн
📂 Подборка каналов по AI, IT & HR Tech Каналы для тех, кто работает в IT и хочет держать руку на пульсе без мониторинга сотни источников. Что внутри:
AI: реальные инструменты и внедрения, без хайпа; – IT: тренды, обзоры, инсайты от первых лиц; – Карьера: как расти и не выгорать; – AI Life hacks: ИИ для удалённой работы и не только; – HR Tech: кто и как нанимает профессионалов сейчас, где и как найти сегодня работу за рубежом;
🔗 [Добавить папку]

🔍 Ответ на задачу про списки: В чём подвох 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

Можно ли добавить элемент в список, созданный через Arrays.asList()? А через List.of()? И что будет, если изменить исходный м
Можно ли добавить элемент в список, созданный через Arrays.asList()? А через List.of()? И что будет, если изменить исходный массив?

🔍 Ответ на задачу про 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

Что произойдет, если вызвать orElse() для метода, который делает тяжелую операцию (например, запрос в БД), даже если значение в Optional уже есть?
Anonymous voting

Что напечатает код?
Что напечатает код?

Записи докладов 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

На собес в Сбер — 60 минут, live-coding и SQL прямо на камеру. Знаешь, что спросят? Мы знаем. И выложили. @Java Jub — Java-ва
На собес в Сбер — 60 минут, live-coding и SQL прямо на камеру. Знаешь, что спросят? Мы знаем. И выложили. @Java Jub — Java-вакансии + реальные вопросы, задачи и стек к каждой. 📱 Переходи: Java Jub (Job)

Маленький апгрейд ленты, который даёт большой буст в карьере Ребята, наш канал попал в подборку тг-каналов про ИТ, ИИ, технол
Маленький апгрейд ленты, который даёт большой буст в карьере Ребята, наш канал попал в подборку тг-каналов про ИТ, ИИ, технологии и карьеру — получилась такая ламповая тусовка «для своих» 😎 Тут собрали каналы, которые реально помогают: ➕ следить за ИИ — от свежих инструментов до реальных кейсов ➕ разбираться в технологиях — тренды, обзоры и объяснения ➕ расти в IT — советы по карьере, поиску работы и развитию ➕ быть в теме HR Tech — как технологии меняют найм и управление 🔠 и добавить папку себе https://t.me/addlist/18HEmAENo0FkYjUy