Библиотека собеса по Java | вопросы с собеседований
Открыть в Telegram
Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/08c603b6 Для обратной связи: @proglibrary_feeedback_bot
Больше6 486
Подписчики
+524 часа
+147 дней
+1430 день
Архив постов
❓ Каково внутреннее строение LinkedList?
LinkedList реализован как двусвязный список. Каждый элемент хранится в отдельном объекте Node, который содержит:
— Ссылку на значение (item)
— Ссылку на предыдущий элемент (prev)
— Ссылку на следующий элемент (next)
Список хранит указатели на первый (first) и последний (last) элементы, а также размер (size). Это обеспечивает:
— Быстрые операции добавления/удаления в начало и конец списка O(1)
— Последовательный обход с помощью ссылок
— Но медленный произвольный доступ по индексу — O(n), так как приходится проходить список от начала или конца
🐸 Библиотека собеса по Java
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
Промокод на 5.000₽: LASTCALL
👉 Курс здесь
❓ Для чего нужен Component Scan в Spring?
Component Scan в Spring используется для автоматического поиска и регистрации бинов в контексте приложения. Он сканирует пакеты и находит классы, аннотированные как компоненты (@Component, @Service, @Repository, @Controller и т.д.), после чего добавляет их в контекст Spring для последующего использования. Это позволяет избежать явной конфигурации бинов и упростить процесс их интеграции в приложение.
🐸 Библиотека собеса по Java
❓ Что вы знаете про Collection?
Collection — это интерфейс в java.util, который задаёт общий контракт для всех коллекций, хранящих группы объектов. Через него определяются ключевые операции: добавление и удаление элементов, проверка их наличия, очистка коллекции, получение размера и итерация. Основные реализации — List, Set и Queue.
Сам интерфейс не потокобезопасен, но его можно обернуть в синхронизированную версию через Collections.synchronizedCollection() или использовать классы из java.util.concurrent. Collection работает с дженериками, что обеспечивает типобезопасность и упрощает работу с элементами.
Важно помнить, что Map не наследуется от Collection, так как представляет пары ключ–значение и имеет свою иерархию.
🐸 Библиотека собеса по Java
❓ Где лучше хранить пароль — в String или в массиве char[]?
Лучше в char[]. String — это неизменяемый объект: пока его не уберёт GC, пароль будет висеть в памяти в открытом виде, и мы не можем его обнулить.
С массивом символов можно безопасно работать:
— Сразу после использования вызвать Arrays.fill(password, '\0')
— Не хранить секреты дольше, чем нужно
— Снизить риск утечки при дампе памяти или логировании
🐸 Библиотека собеса по Java
Иногда реально ощущение, что нас держат в Матрице.
Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.
❗ Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.
Кто готов вырваться из симуляции и ворваться в сезон найма?
👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно
Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе
❓ Что такое пул строк?
Пул строк — это специальная область памяти в heap, где хранятся уникальные строковые литералы. При создании строки через String s = "hello", JVM проверяет, есть ли уже такая строка в пуле. Если есть, то возвращается ссылка на существующий объект, если нет, то создаётся новый и добавляется в пул.
Это экономит память и ускоряет сравнение строк с помощью ==, так как строки из пула имеют одинаковую ссылку. Для добавления строки в пул вручную используют метод intern().
🐸 Библиотека собеса по Java
❓ Для чего используется ключевое слово final?
final ограничивает изменение:
▪️ Для переменных – запрещает повторное присвоение значения
▪️ Для методов – запрещает переопределение в подклассах
▪️ Для классов – запрещает наследование
Применяют, чтобы защитить критичный код от изменения, повысить читаемость и гарантировать предсказуемое поведение программы.
🐸 Библиотека собеса по Java
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!
Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.Но если вы пока джун — я бы предложил: - Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях - Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL 🔗 Старт 9 сентября
💬 Обратная связь
Ежемесячный опрос по грейдам.
Ваш грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
🐸 Библиотека собеса по Java
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»
⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞) Математика — твой базовый интеллект (влияет на понимание алгоритмов) Машинное обучение — твое дерево навыков (открывает новые способности)⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника» Эффект: –30% к цене полного набора ДСника Было: 121.800 ₽ → Стало: 84.900 ₽ ☞ Что ждет тебя в этом квесте
— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников📎 Забрать бафф Рассрочки: 3 мес | 6 мес | 12 мес
👀 Задача с собеса: Палиндромы, которые делятся на 7 (jun)
Найдите все числа от 10 до 500, которые: — читаются одинаково слева направо и справа налево (палиндромы) — делятся на 7 без остатка▪️ Условия 1. Диапазон фиксированный: 10–500 включительно 2. Проверка на палиндром — любым способом 3. Выводите все найденные числа в порядке возрастания 💡 Ключевые моменты: — Напишите отдельный метод isPalindrome(int x) для читаемости кода. — Используйте continue, чтобы фильтровать числа по шагам. 💬 Возможная реализация в комментариях. Пишите свои варианты и обсудим разные подходы. 🐸 Библиотека собеса по Java
😎 Сколько баллов набрали вы?
Голосуйте, какой у вас уровень разработчика:
😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)
Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.
👉 Научим, как быстро прокачаться от стажера до сеньора
❓ Что такое стабы (stubs) в контексте тестирования?
Стабы — это объекты, которые заранее задают фиксированное поведение для тестируемых зависимостей.
В отличие от моков, стабы не проверяют взаимодействие, а просто возвращают заранее подготовленные значения или подставляют данные, когда вызывается метод. Стабы используются, чтобы минимизировать влияние внешних зависимостей на тестируемый компонент.
🐸 Библиотека собеса по Java
Переворачиваем календарь — а там скидки, которые уже закончились.
Но мы их вернули на последний день 🤔
До 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. Машину времени одолжили у дяди Миши
❓ Что такое фейки (fakes) в контексте тестирования?
Фейки — это объекты, которые заменяют настоящие компоненты системы, но с упрощённой логикой. Они часто используются в тестах, чтобы избежать зависимости от внешних ресурсов или сложных компонентов.
В отличие от моков, фейки могут выполнять настоящие действия (например, сохранять данные в памяти вместо реальной базы данных), но они всегда упрощены и не требуют полноценной реализации.
🐸 Библиотека собеса по Java
❓ Что такое мок (mock) в контексте тестирования?
Мок — это объект, который имитирует поведение настоящего объекта в контролируемых условиях тестирования. В отличие от настоящего объекта, мок не выполняет реальную логику, а возвращает заранее заданные данные. Моки используются для изоляции тестируемого компонента и проверки взаимодействий с зависимостями, таких как вызовы методов или передача данных.
🐸 Библиотека собеса по Java
❓ В чём заключается принцип Dependency Injection?
Dependency Injection (DI) заключается в том, чтобы передавать зависимости объекту извне, а не создавать их внутри этого объекта. Это позволяет снизить связанность компонентов и облегчить тестирование, так как зависимости могут быть заменены моками или стабами.
🐸 Библиотека собеса по Java
💬 Обратная связь
Подписаны ли вы ещё на другие каналы с вопросами с собесов?
❤️ — Нет, только на этот.
😁 — Да, подписан ещё на другие.
Для тех, кто подписан на несколько, оставьте ваше мнение, что можно добавить в наш канал, чтобы сделать контент интереснее.
🐸 Библиотека собеса по Java
ПОСЛЕДНИЙ ДЕНЬ❗
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
