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

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

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

Для обратной связи: @proglibrary_feeedback_bot
加入频道
😱 Вся правда об увольнениях в 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
Что такое абстракция?

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

Абстрактный класс может содержать как реализованные, так и абстрактные (без реализации) методы, задавая общий шаблон для подклассов. Интерфейс определяет набор методов, которые класс обязан реализовать.

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

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

AOP (Aspect-Oriented Programming) — это парадигма программирования, которая позволяет отделить сквозную логику от основной бизнес-логики. Сквозная логика — это функционал, который повторяется во многих местах приложения, например, логирование, управление транзакциями, проверка безопасности, кэширование.

Вместо того чтобы дублировать такой код в каждом методе, AOP позволяет вынести его в отдельные модули — аспекты — и применять их автоматически с помощью pointcuts, которые определяют, где именно аспект должен сработать.

Spring AOP использует прокси-объекты, которые оборачивают целевой объект и внедряют дополнительное поведение вокруг вызовов методов. Аспекты объявляются с помощью аннотаций (@Aspect), а логика — в методах с advice (@Before, @After, @Around и т.д.).

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

Технический долг — это совокупность компромиссов и упрощений, сделанных в процессе разработки программного продукта для ускорения выпуска функционала. Эти решения часто приводят к ухудшению качества кода, снижению читаемости, ухудшению архитектуры и увеличению сложности поддержки. В итоге такой "долг" накапливается и требует дополнительного времени и ресурсов в будущем на исправление, рефакторинг и оптимизацию, что замедляет развитие проекта и повышает риск ошибок.

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

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

GRASP (General Responsibility Assignment Software Patterns) — это набор принципов проектирования, помогающих правильно распределять обязанности между классами и объектами в ООП. Он включает 9 паттернов, среди которых:

▪️ Information Expert — ответственность у того, кто владеет нужными данными.
▪️ Creator — класс создает объекты, если тесно связан с ними.
▪️ Controller — обработка пользовательских действий через промежуточный объект.
▪️ Low Coupling & High Cohesion — минимальная связность, высокая связанность внутренней логики.
▪️ Polymorphism — выбор поведения через переопределение.
▪️ Protected Variations — защита от изменений через абстракции.

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

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?

Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.

🧐 Мы проводим исследование, чтобы выяснить:

— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор

Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.

😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Какие бывают гарантии доставки сообщений в системах обмена сообщениями?

Существуют следующие гарантии доставки:

▪️ At most once — сообщение доставляется не более одного раза. Потеря сообщений возможна, но их дублирование не происходит.

▪️ At least once — сообщение доставляется как минимум один раз. Возможны дубли, которые необходимо обрабатывать на уровне получателя.

▪️ Exactly once — сообщение доставляется точно один раз. Это самая строгая гарантия, требующая сложных механизмов для предотвращения как потери, так и дублирования сообщений.

Каждая из этих гарантий используется в зависимости от требований к надежности и производительности системы.

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