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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Чем отличается аутентификация от авторизации?

Аутентификация — это процесс проверки подлинности пользователя. Он заключается в подтверждении, что пользователь — это именно тот, за кого себя выдаёт, с помощью таких данных, как логин и пароль, биометрия или двухфакторная аутентификация.

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

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

Ваше мнение по контенту:

🔥 — Всё супер
👍🏼 — Нормально
😁 — Есть предложения по улучшению (в комменты)

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47👍15😁2
Что такое Spring Bean и как Spring управляет его жизненным циклом?

Spring Bean — это объект, управляемый контейнером Spring, который создается, конфигурируется и управляется через инверсию управления (IoC). Bean может быть зарегистрирован в контейнере через XML-конфигурацию, аннотации или Java-конфигурацию.

Жизненный цикл Spring Bean включает несколько этапов:

🔹 Создание: когда приложение запускается, Spring контейнер создает экземпляры всех бинов, которые были объявлены в конфигурации.

🔹 Инъекция зависимостей: после создания Spring выполняет инъекцию зависимостей в бин, если это указано в конфигурации.

🔹 Инициализация: если бин имеет метод инициализации (например, с аннотацией @PostConstruct или через конфигурацию init-method), этот метод будет вызван после того, как все зависимости будут инжектированы.

🔹 Использование: бин доступен для использования в приложении.

🔹 Завершение (уничтожение): когда контейнер Spring завершает свою работу или бин больше не нужен, Spring вызывает метод разрушения (например, с аннотацией @PreDestroy или через конфигурацию destroy-method), если такой метод был задан.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥1
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
Что такое volatile и когда его стоит использовать?

volatile — это модификатор переменной, который гарантирует:

▪️ Видимость изменений между потоками
▪️ Запрет кэширования в регистре потока

Использовать стоит, когда:

▪️ Есть несколько потоков, которые читают/пишут одну переменную.
▪️ Нет сложных операций над этой переменной (например, инкрементов, которые требуют атомарности).

volatile не обеспечивает атомарности, поэтому для операций «чтение-модификация-запись» нужны синхронизация или атомарные типы (AtomicInteger, AtomicReference и т.п.).

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4🔥1
Что такое переопределение метода?

Переопределение метода (method overriding) — это определение в подклассе метода с такой же сигнатурой, как у метода в родительском классе, с целью изменить или дополнить его поведение.

Основные моменты:

Метод родителя должен быть доступен для переопределения (не private и не final).
Используется аннотация @Override для явного указания намерения.
При переопределении учитываются правила ковариантного возвращаемого типа (можно вернуть более специфичный тип).
Динамическое связывание (runtime polymorphism) обеспечивает вызов версии метода из реального типа объекта, а не по ссылке.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
💬 Обратная связь

Ежемесячный опрос по грейдам. Проверим, выросло ли число senior'ов.
Ваш грейд:

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

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍9🔥76