Библиотека собеса по Java | вопросы с собеседований
6.35K subscribers
366 photos
4 videos
253 links
Вопросы с собеседований по Java и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/08c603b6

Для обратной связи: @proglibrary_feeedback_bot
加入频道
Где лучше хранить пароль: в String или в char[]?

Лучше использовать char[].
У String содержимое неизменяемо и хранится в пуле строк, что делает её уязвимой: пароль может долго находиться в памяти, и его нельзя явно очистить.
В случае с char[] можно перезаписать содержимое сразу после использования (например, обнулить), снижая риск компрометации данных при дампе памяти или атаке через heap dump.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое this?

this — это ссылка на текущий объект внутри его нестатического метода или конструктора. Она используется, чтобы:

— Сослаться на поля класса, если локальные переменные или параметры метода имеют такое же имя
— Вызвать другой конструктор в том же классе
— Передать текущий объект как аргумент другому методу или объекту

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?

Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.

Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).

👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
Объясните основные отличия между CompletableFuture и Future?

▪️ Future предоставляет базовую возможность получить результат асинхронной операции, но не позволяет легко комбинировать или цеплять действия.
▪️ CompletableFuture — расширение с поддержкой композиции, цепочек, обработки исключений, таймаутов и триггеров. Позволяет писать декларативный, неблокирующий код с методами thenApply(), thenCompose(), exceptionally().

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Объясните различия между ConcurrentHashMap и HashMap?

HashMap не является потокобезопасной структурой, и её использование в многопоточной среде может привести к непредсказуемым результатам.

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

С версии Java 8 применяется CAS-логика и синхронизация на уровне bin-ов для модификаций, а чтения выполняются без блокировок.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Как устроены аннотации?

Аннотации в Java — это механизм добавления метаданных к элементам программы. С помощью @Retention указывается, на каком этапе аннотация доступна: только в исходном коде (SOURCE), в байткоде (CLASS), или в рантайме (RUNTIME). @Target определяет, к чему можно применять аннотацию: к полям, методам, параметрам, конструкторам и т. д. Эти параметры управляют поведением аннотации и тем, как фреймворки её интерпретируют, особенно во время рефлексии.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Обратная связь

Вы следите за этим каналом потому что:

🔥 — Готовлюсь к скорому собеседованию
👍🏼 — Просто поддерживаю себя в тонусе
❤️ — Использую для учёбы в целом
😁 — Другая цель (напишу в комментариях)

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Для чего нужен enum в Java?

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

Enum — это полноценный класс, он может содержать поля, методы и реализовывать интерфейсы. Используется, когда набор значений ограничен и заранее известен (например, дни недели, статусы заказа и т.п.).

Преимущества:

Типобезопасность (нельзя присвоить значение вне набора)
Удобство в switch-выражениях
Возможность добавлять поведение (методы)

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
В чем отличие между StackOverflowError и OutOfMemoryError?

StackOverflowError возникает, когда стек вызовов переполняется, обычно из-за глубокой или бесконечной рекурсии. Каждый вызов метода занимает место в стеке, и при превышении лимита памяти стека JVM выбрасывает StackOverflowError.

OutOfMemoryError — ошибка нехватки памяти в куче (heap). Она появляется, когда JVM не может выделить дополнительную память для объектов, потому что вся доступная heap-память исчерпана.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Вся правда об увольнениях в IT в 2025-м

Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.

Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:

— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы

Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.

⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Что такое Spring Bean Scope?

Spring Bean Scope определяет жизненный цикл и видимость бина в контейнере.

Основные виды:

▪️ singleton (по умолчанию) — один экземпляр на весь контейнер.
▪️ prototype — новый экземпляр при каждом запросе.
▪️ request — бин живёт в рамках HTTP-запроса.
▪️ session — бин живёт в рамках HTTP-сессии.
▪️ application — бин живёт в рамках веб-приложения.
▪️ websocket — бин на время WebSocket-сессии.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 AI-агенты — настоящее, о котором все говорят

На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!

На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.

Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
Библиотека собеса по Java | вопросы с собеседований pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
Что такое инкапсуляция?

Инкапсуляция — это механизм объединения данных (переменных) и методов, работающих с этими данными, в одном классе, с ограничением прямого доступа к внутренним компонентам объекта. В Java инкапсуляция достигается с помощью модификаторов доступа (private, protected, public), а также через предоставление публичных методов для чтения и изменения значений полей.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое наследование в Java?

Наследование — это механизм ООП, позволяющий создавать новый класс на основе уже существующего. Новый класс (подкласс) получает все свойства и методы родительского класса (суперкласса), что обеспечивает повторное использование кода и упрощает поддержку.

Наследование реализуется с помощью ключевого слова extends. Подкласс может расширять или переопределять поведение суперкласса, а также добавлять новые поля и методы. Важно помнить, что в Java класс может наследоваться только от одного суперкласса.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Последние 2 дня скидки на курс «AI-агенты для DS-специалистов»

Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.

Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.

🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib

💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP

Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».

👉 Успейте до 1 июня: https://clc.to/Cttu7A
Что такое полиморфизм?

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

Достигается через переопределение методов (runtime polymorphism) и перегрузку методов (compile-time polymorphism).

Основной тип полиморфизма — динамический (runtime), когда метод вызывается в зависимости от реального типа объекта во время выполнения, а не от типа ссылки.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Что на самом деле происходит с увольнениями в ИТ

Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!

🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы

Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.

👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg