Библиотека собеса по Java | вопросы с собеседований
6.27K subscribers
383 photos
7 videos
367 links
Вопросы с собеседований по Java и ответы на них.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Что такое Spring контейнер?

Spring контейнер — это основной компонент фреймворка Spring, который отвечает за управление жизненным циклом объектов (или бинов). Контейнер создаёт, конфигурирует и управляет зависимостями между объектами, а также реализует инъекцию зависимостей (DI), что упрощает разработку, улучшает тестируемость и поддерживаемость кода.

Он также управляет аспектами транзакций и безопасности.

Основной принцип Spring контейнера — это инверсия управления (IoC), при которой ответственность за создание объектов и управление их состоянием перекладывается на контейнер, а не на код разработчика.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
Назовите все методы класса Object?

Класс Object — это базовый класс для всех классов в Java. Он содержит следующие методы:

🔹 public final Class<?> getClass() – возвращает объект Class для текущего объекта.
🔹 public int hashCode() – возвращает хэш-код объекта.
🔹 public boolean equals(Object obj) – сравнивает объекты на равенство.
🔹 protected Object clone() – создает копию объекта (глубокое/поверхностное копирование зависит от реализации).
🔹 public String toString() – строковое представление объекта.
🔹 public final void notify() – пробуждает один поток, ожидающий монитор объекта.
🔹 public final void notifyAll() – пробуждает все потоки, ожидающие монитор объекта.
🔹 public final void wait() – заставляет поток ждать, пока его не разбудят через notify/notifyAll.
🔹 public final void wait(long timeout) – ждет указанное время или до уведомления.
🔹 public final void wait(long timeout, int nanos) – более точная версия ожидания.
🔹 protected void finalize() – вызывается перед удалением объекта сборщиком мусора (deprecated с Java 9).

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91🔥1
Осталось 48 часов!

Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.

⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.

👉 Забрать место
🤓 «Сначала выучу Python идеально, а потом пойду в ML»

Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.

В итоге — месяцы зубрёжки, а до ML руки так и не доходят.

На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.

⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.

👉 ML для старта в Data Science

А для будущих Data Scientist’ов у нас ещё:
Базовые модели ML и приложения
Математика для Data Science
AI-агенты для DS-специалистов (2-й поток скоро)
Что такое ООП?

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

Её ключевые принципы:

▪️ Инкапсуляция — скрытие внутреннего состояния объекта.
▪️ Наследование — переиспользование кода через иерархию классов.
▪️ Полиморфизм — единый интерфейс для разных реализаций.
▪️ Абстракция — выделение важных свойств объекта, игнорируя детали.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4👏2😢1
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

ML за 34к вместо 44к + Python в подарок
Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ

👉 Proglib Academy
💬 Обратная связь

Подписаны ли вы ещё на другие каналы с вопросами с собесов?

❤️ — Нет, только на этот.
😁 — Да, подписан ещё на другие.

Для тех, кто подписан на несколько, оставьте ваше мнение, что можно добавить в наш канал, чтобы сделать контент интереснее.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1311
В чём заключается принцип Dependency Injection?

Dependency Injection (DI) заключается в том, чтобы передавать зависимости объекту извне, а не создавать их внутри этого объекта. Это позволяет снизить связанность компонентов и облегчить тестирование, так как зависимости могут быть заменены моками или стабами.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥41
Что такое мок (mock) в контексте тестирования?

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

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21
Что такое фейки (fakes) в контексте тестирования?

Фейки — это объекты, которые заменяют настоящие компоненты системы, но с упрощённой логикой. Они часто используются в тестах, чтобы избежать зависимости от внешних ресурсов или сложных компонентов.

В отличие от моков, фейки могут выполнять настоящие действия (например, сохранять данные в памяти вместо реальной базы данных), но они всегда упрощены и не требуют полноценной реализации.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1👏1
Переворачиваем календарь — а там скидки, которые уже закончились.

Но мы их вернули на последний день 🤔

До 00:00 третьего сентября (цены как до 1 сентября):

▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽

👉 Хватаем скидки из прошлого

P.S. Машину времени одолжили у дяди Миши
🥱1🌚1
Что такое стабы (stubs) в контексте тестирования?

Стабы — это объекты, которые заранее задают фиксированное поведение для тестируемых зависимостей.

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

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏2🔥1
😎 Сколько баллов набрали вы?

Голосуйте, какой у вас уровень разработчика:

😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)

Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.

👉 Научим, как быстро прокачаться от стажера до сеньора
🤩9
👀 Задача с собеса: Палиндромы, которые делятся на 7 (jun)

Найдите все числа от 10 до 500, которые:

— читаются одинаково слева направо и справа налево (палиндромы)
— делятся на 7 без остатка


▪️ Условия

1. Диапазон фиксированный: 10–500 включительно
2. Проверка на палиндром — любым способом
3. Выводите все найденные числа в порядке возрастания

💡 Ключевые моменты:

— Напишите отдельный метод isPalindrome(int x) для читаемости кода.
— Используйте continue, чтобы фильтровать числа по шагам.

💬 Возможная реализация в комментариях. Пишите свои варианты и обсудим разные подходы.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥1
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников


📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
💬 Обратная связь

Ежемесячный опрос по грейдам.
Ваш грейд:

🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42👍3212🔥11
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
Для чего используется ключевое слово final?

final ограничивает изменение:

▪️ Для переменных – запрещает повторное присвоение значения
▪️ Для методов – запрещает переопределение в подклассах
▪️ Для классов – запрещает наследование

Применяют, чтобы защитить критичный код от изменения, повысить читаемость и гарантировать предсказуемое поведение программы.

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

Пул строк — это специальная область памяти в heap, где хранятся уникальные строковые литералы. При создании строки через String s = "hello", JVM проверяет, есть ли уже такая строка в пуле. Если есть, то возвращается ссылка на существующий объект, если нет, то создаётся новый и добавляется в пул.

Это экономит память и ускоряет сравнение строк с помощью ==, так как строки из пула имеют одинаковую ссылку. Для добавления строки в пул вручную используют метод intern().

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
Иногда реально ощущение, что нас держат в Матрице.

Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.

Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.

Кто готов вырваться из симуляции и ворваться в сезон найма?

👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно

Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе