Библиотека собеса по Java | вопросы с собеседований
Відкрити в Telegram
Вопросы с собеседований по Java и ответы на них. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/3wECtA Для обратной связи: @proglibrary_feeedback_bot
Показати більше6 374
Підписники
-324 години
-287 днів
-5730 днів
Архів дописів
🔍Тестовое собеседование с Java-разработчиком из Т1 Иннотех уже завтра
4 июня(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
📂 Илья Аров, старший разработчик в Т1, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Илья будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Илье
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxQQh4R
❓ Что такое AOP?
AOP (Aspect-Oriented Programming) — это парадигма программирования, которая позволяет отделить сквозную логику от основной бизнес-логики. Сквозная логика — это функционал, который повторяется во многих местах приложения, например, логирование, управление транзакциями, проверка безопасности, кэширование.
Вместо того чтобы дублировать такой код в каждом методе, AOP позволяет вынести его в отдельные модули — аспекты — и применять их автоматически с помощью pointcuts, которые определяют, где именно аспект должен сработать.
Spring AOP использует прокси-объекты, которые оборачивают целевой объект и внедряют дополнительное поведение вокруг вызовов методов. Аспекты объявляются с помощью аннотаций (@Aspect), а логика — в методах с advice (@Before, @After, @Around и т.д.).
🐸 Библиотека собеса по Java
❓ Что такое абстракция?
Абстракция — это принцип ООП, который позволяет выделять в программе только значимые характеристики объекта, скрывая внутренние детали реализации. В Java абстракция достигается через абстрактные классы и интерфейсы.
Абстрактный класс может содержать как реализованные, так и абстрактные (без реализации) методы, задавая общий шаблон для подклассов. Интерфейс определяет набор методов, которые класс обязан реализовать.
Абстракция упрощает взаимодействие с объектами, повышает гибкость и снижает связанность кода, концентрируя внимание на "что делает" объект, а не "как он это делает".
🐸 Библиотека собеса по Java
🚨 Что на самом деле происходит с увольнениями в ИТ
Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!
🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы
Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.
👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
❓ Что такое полиморфизм?
Полиморфизм — это способность объектов разных классов, связанных через наследование или интерфейсы, реагировать на один и тот же вызов метода по-разному.
Достигается через переопределение методов (runtime polymorphism) и перегрузку методов (compile-time polymorphism).
Основной тип полиморфизма — динамический (runtime), когда метод вызывается в зависимости от реального типа объекта во время выполнения, а не от типа ссылки.
🐸 Библиотека собеса по Java
⏰ Последние 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
⏰ Последние 3 дня скидки на курс «AI-агенты для DS-специалистов»
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы с AI-агентами.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но торопитесь — получить все плюшки можно только до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAI на скидку в 10 000 ₽, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
💡Что разберем на курсе «AI-агенты для DS»
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
👉 Успейте до 1 июня: https://clc.to/Cttu7A
❓ Что такое наследование в Java?
Наследование — это механизм ООП, позволяющий создавать новый класс на основе уже существующего. Новый класс (подкласс) получает все свойства и методы родительского класса (суперкласса), что обеспечивает повторное использование кода и упрощает поддержку.
Наследование реализуется с помощью ключевого слова extends. Подкласс может расширять или переопределять поведение суперкласса, а также добавлять новые поля и методы. Важно помнить, что в Java класс может наследоваться только от одного суперкласса.
🐸 Библиотека собеса по Java
❓ Что такое абстракция?
Абстракция — это принцип ООП, который позволяет выделять в программе только значимые характеристики объекта, скрывая внутренние детали реализации. В Java абстракция достигается через абстрактные классы и интерфейсы.
Абстрактный класс может содержать как реализованные, так и абстрактные (без реализации) методы, задавая общий шаблон для подклассов. Интерфейс определяет набор методов, которые класс обязан реализовать.
Абстракция упрощает взаимодействие с объектами, повышает гибкость и снижает связанность кода, концентрируя внимание на "что делает" объект, а не "как он это делает".
🐸 Библиотека собеса по Java
❓ Что такое инкапсуляция?
Инкапсуляция — это механизм объединения данных (переменных) и методов, работающих с этими данными, в одном классе, с ограничением прямого доступа к внутренним компонентам объекта. В Java инкапсуляция достигается с помощью модификаторов доступа (private, protected, public), а также через предоставление публичных методов для чтения и изменения значений полей.
🐸 Библиотека собеса по Java
👾 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
❓ Что такое Spring Bean Scope?
Spring Bean Scope определяет жизненный цикл и видимость бина в контейнере.
Основные виды:
▪️ singleton (по умолчанию) — один экземпляр на весь контейнер.
▪️ prototype — новый экземпляр при каждом запросе.
▪️ request — бин живёт в рамках HTTP-запроса.
▪️ session — бин живёт в рамках HTTP-сессии.
▪️ application — бин живёт в рамках веб-приложения.
▪️ websocket — бин на время WebSocket-сессии.
🐸 Библиотека собеса по Java
😱 Вся правда об увольнениях в IT в 2025-м
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
❓ В чем отличие между StackOverflowError и OutOfMemoryError?
StackOverflowError возникает, когда стек вызовов переполняется, обычно из-за глубокой или бесконечной рекурсии. Каждый вызов метода занимает место в стеке, и при превышении лимита памяти стека JVM выбрасывает StackOverflowError.
OutOfMemoryError — ошибка нехватки памяти в куче (heap). Она появляется, когда JVM не может выделить дополнительную память для объектов, потому что вся доступная heap-память исчерпана.
🐸 Библиотека собеса по Java
❓ Для чего нужен enum в Java?
Enum используется для задания фиксированного набора констант. Он помогает заменить "магические строки" или числа, делая код более читаемым, безопасным и устойчивым к ошибкам.
Enum — это полноценный класс, он может содержать поля, методы и реализовывать интерфейсы. Используется, когда набор значений ограничен и заранее известен (например, дни недели, статусы заказа и т.п.).
Преимущества:
— Типобезопасность (нельзя присвоить значение вне набора)
— Удобство в switch-выражениях
— Возможность добавлять поведение (методы)
🐸 Библиотека собеса по Java
Ищем Java-разработчика в команду онлайн-рекомендаций AI VK 🤖
Будем вместе разрабатывать высоконагруженные микросервисы на Java. Кроме кода доверим коллеге принимать архитектурные и технические решения, гибко настраивать ML-эксперименты и рекомендательный пайплайн.
Если любите технически сложные задачи и хотите работать с большими данными, ждём ваше резюме на сайте VK Team!
💬 Обратная связь
Вы следите за этим каналом потому что:
🔥 — Готовлюсь к скорому собеседованию
👍🏼 — Просто поддерживаю себя в тонусе
❤️ — Использую для учёбы в целом
😁 — Другая цель (напишу в комментариях)
🐸 Библиотека собеса по Java
❓ Как устроены аннотации?
Аннотации в Java — это механизм добавления метаданных к элементам программы. С помощью @Retention указывается, на каком этапе аннотация доступна: только в исходном коде (SOURCE), в байткоде (CLASS), или в рантайме (RUNTIME). @Target определяет, к чему можно применять аннотацию: к полям, методам, параметрам, конструкторам и т. д. Эти параметры управляют поведением аннотации и тем, как фреймворки её интерпретируют, особенно во время рефлексии.
🐸 Библиотека собеса по Java
❓ Объясните различия между ConcurrentHashMap и HashMap?
HashMap не является потокобезопасной структурой, и её использование в многопоточной среде может привести к непредсказуемым результатам.
ConcurrentHashMap же специально спроектирован для безопасного параллельного доступа. Он делит структуру на сегменты или ячейки и использует блокировки только на части данных, обеспечивая высокую степень параллелизма.
С версии Java 8 применяется CAS-логика и синхронизация на уровне bin-ов для модификаций, а чтения выполняются без блокировок.
🐸 Библиотека собеса по Java
❓ Объясните основные отличия между CompletableFuture и Future?
▪️ Future предоставляет базовую возможность получить результат асинхронной операции, но не позволяет легко комбинировать или цеплять действия.
▪️ CompletableFuture — расширение с поддержкой композиции, цепочек, обработки исключений, таймаутов и триггеров. Позволяет писать декларативный, неблокирующий код с методами thenApply(), thenCompose(), exceptionally().
🐸 Библиотека собеса по Java
