TGViewer
Channel Public Channel
Библиотека собеса по Java | вопросы с собеседований

Библиотека собеса по Java | вопросы с собеседований

@java_interview_lib

Вопросы с собеседований по Java и ответы на них.

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

Учиться у нас: clc.to/3wECtA

Для обратной связи: @proglibrary_feeedback_bot
Subscribers
6.44K
Photos
438
Videos
12
Links
733

Showing posts older than #997 · Back to latest

Older Posts 20 shown
Post #996 2.08K
❓ В чем разница между final, finally и finalize()?

— final используется для:

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

— finally — блок, связанный с try-catch. Выполняется всегда, независимо от того, было исключение или нет. Гарантирует выполнение очистки/закрытия ресурсов.

finalize() — метод из Object, вызывается сборщиком мусора перед уничтожением объекта. Позволяет выполнить финальную очистку, но устарел и не рекомендуется к использованию (с Java 9 — deprecated).

🐸 Библиотека собеса по Java
  • 👍 8
  • ❤ 4
  • 🔥 2
Post #995 2K
❓ Что такое иммутабельный объект?

Иммутабельный объект — это объект, состояние которого невозможно изменить после его создания. Иммутабельность способствует безопасности потоков и предотвращению ошибок, связанных с изменениями состояния объектов. Примером может служить класс String.

🐸 Библиотека собеса по Java
  • 👍 9
  • 🔥 1
  • 👏 1
Post #994 2.09K
💬 Обратная связь

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

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

🐸 Библиотека собеса по Java
  • 😁 46
  • 👍 40
  • ❤ 33
  • 🔥 21
Post #993 2.35K
❓ Какие уровни изоляции транзакций существуют?

Существует 4 основных уровня изоляции транзакций, каждый из которых определяет степень видимости данных, изменённых в одной транзакции, для других транзакций:

— READ UNCOMMITTED (Чтение незафиксированных данных)
Наименьший уровень изоляции. Другие транзакции могут читать изменения, которые ещё не были зафиксированы (не коммитнуты). Это может привести к грязным чтениям.

— READ COMMITTED (Чтение зафиксированных данных)
Транзакция видит только те изменения, которые были зафиксированы другими транзакциями. Это предотвращает грязные чтения, но допускает неповторяемые чтения.

— REPEATABLE READ (Повторяемое чтение)
Гарантирует, что данные, считанные в рамках одной транзакции, не изменятся до её завершения (не допускаются неповторяемые чтения). Однако, могут возникать фантомные чтения.

— SERIALIZABLE (Сериализация)
Наивысший уровень изоляции. Все транзакции выполняются последовательно, как если бы они были выполнены по очереди. Это устраняет все виды аномалий, но может значительно снизить производительность.

🐸 Библиотека собеса по Java
  • 👍 6
  • ❤ 4
  • 🔥 2
Post #991 1.87K
❓ В чём разница между @Controller и @RestController в Spring?

▪️ @Controller

Это стандартная аннотация для создания контроллера, который обрабатывает HTTP-запросы и возвращает представления (например, страницы HTML) или данные, которые будут обработаны и отправлены на клиентскую сторону.

▪️ @RestController

Это комбинация @Controller и @ResponseBody. То есть, она автоматически применяет аннотацию @ResponseBody ко всем методам контроллера.

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

🐸 Библиотека собеса по Java
  • 👍 11
  • ❤‍🔥 1
  • ❤ 1
  • 🔥 1
  • 😢 1
Post #990 1.88K
❓ Что такое Spring контейнер?

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

🐸 Библиотека собеса по Java
  • 👍 10
  • ❤ 3
  • 🔥 1
Post #989 2.08K
❓ Когда возникает LazyInitializationException?

LazyInitializationException возникает, когда идёт обращение к лениво загружаемому полю вне активной сессии Hibernate, то есть после закрытия транзакции.

Типичный сценарий: вытянул сущность в сервисе, транзакция завершилась, а в контроллере попытался обратиться к связанному полю — и Hibernate не может лениво инициализировать связь, потому что Session уже закрыта.

🐸 Библиотека собеса по Java
  • 👍 10
  • ❤ 4
  • 🔥 1
Post #988 2.02K
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам.

С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас.

-40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам)

Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам.

📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA
Post #987 1.85K
💬 Обратная связь

Какие темы использовать для постов в этом месяце больше?

🔥 — Java core
👍🏼 — Spring
👾 — Паттерны
😁 — Напишу в комменты свой вариант

🐸 Библиотека собеса по Java
  • 👍 57
  • 🔥 27
  • 👾 24
Post #986 2.2K
❓ Расскажите про контракт equals

Основные правила контракта:

1. Рефлексивность: для любого объекта x, x.equals(x) должно возвращать true.
2. Симметричность: если x.equals(y) возвращает true, то и y.equals(x) должно возвращать true.
3. Транзитивность: если x.equals(y) возвращает true, а y.equals(z) возвращает true, то и x.equals(z) должно возвращать true.
4. Последовательность: если два объекта равны, то они должны оставаться равными на протяжении всех вызовов equals.
5. Неравенство: если x.equals(y) возвращает false, то x.hashCode() должен быть отличным от y.hashCode().

🐸 Библиотека собеса по Java
  • 👍 8
  • 🤔 4
  • ❤ 3
  • 🔥 3
  • 👏 3
Post #985 2.13K
❓ Что такое сигнатура метода?

Сигнатура метода — это его имя + список параметров с их типами (в порядке объявления). Возвращаемый тип и модификаторы доступа в сигнатуру не входят.

Методы с одинаковой сигнатурой не могут сосуществовать в одном классе, будет ошибка компиляции.

🐸 Библиотека собеса по Java
  • 👍 11
  • ❤ 2
  • 🔥 2
Post #984 2.33K
❓ Что такое ссылка на метод?

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

🐸 Библиотека собеса по Java
  • 👍 8
  • 🤔 4
  • ❤ 2
  • 🔥 1
  • 👏 1
Post #983 2.4K
❓ Что такое нормализация базы данных?

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

Нормализация включает несколько этапов, называемых нормальными формами (1NF, 2NF, 3NF и т.д.), каждая из которых имеет свои требования к структуре таблиц.

🔹 1НФ
Таблица должна содержать только атомарные значения (без множественных значений в одной ячейке) и уникальные строки.

🔹 2НФ

Таблица должна быть в 1НФ, и все ненулевые атрибуты должны быть полностью зависимы от первичного ключа.

🔹 3НФ
Таблица должна быть в 2НФ, и все атрибуты должны быть не только зависимы от первичного ключа, но и напрямую, без транзитивных зависимостей (когда один атрибут зависит от другого через третий).

🐸 Библиотека собеса по Java
  • 👍 11
  • ❤ 3
  • 🔥 1
Post #982 2.07K
❓ Чем отличается абстрактный класс от интерфейса?

Абстрактный класс может содержать как реализованные, так и абстрактные методы, состояние (поля), а также конструкторы. Интерфейс до Java 8 содержал только абстрактные методы, но теперь может иметь default, static методы и даже private методы (с Java 9), но не может содержать состояние (кроме static final констант).

🔹 Ключевые отличия:

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

🐸 Библиотека собеса по Java
  • 👍 10
  • 🔥 5
  • 👏 2
  • ❤ 1
Post #981 2.06K
❓ В чем разница между sleep() и wait()?

🔹 sleep() — это метод из Thread, он просто приостанавливает выполнение текущего потока на заданное время. Он не освобождает монитор (lock) объекта.

🔹 wait() — это метод из Object, он используется для синхронизации между потоками. Поток, вызвавший wait(), освобождает монитор и ждет, пока другой поток вызовет notify() или notifyAll().

🐸 Библиотека собеса по Java
  • 👍 9
  • ❤ 2
  • 🔥 1
Post #980 2.15K
💬 Обратная связь

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

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

🐸 Библиотека собеса по Java
  • 🔥 55
  • 👍 17
  • 😁 3
Post #979 2.49K
❓ Расскажите о паттерне "Стратегия"?

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

Применяется, когда нужно выбирать поведение на лету, не загромождая код условными конструкциями. Часто используется для реализации разных вариантов бизнес-логики без изменения вызывающего кода.

🐸 Библиотека собеса по Java
  • 👍 9
  • ❤ 4
  • 🔥 2
Post #978 2.19K
❓ Что такое MVC?

MVC (Model-View-Controller) — это архитектурный шаблон, разделяющий приложение на три компонента:

▪️ Model (Модель) — содержит бизнес-логику
▪️ View (Представление) — отображает данные пользователю, получая их от модели
▪️ Controller (Контроллер) — обрабатывает входные данные (обычно от пользователя), вызывает нужные методы модели и обновляет представление

Этот подход упрощает сопровождение кода, позволяет разделить ответственность между слоями и облегчает тестирование.

🐸 Библиотека собеса по Java
  • 👍 11
  • ❤ 3
  • 🔥 2
  • 👏 2
  • 🤔 1
Post #977 2.11K
❓ Какие есть методы в классе Object?

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

▪️ equals(Object obj) — сравнение объектов на логическое равенство
▪️ hashCode() — возвращает хеш-код объекта
▪️ toString() — строковое представление объекта
▪️ getClass() — возвращает объект Class, представляющий тип в рантайме
▪️ clone() — создает копию объекта (если поддерживает Cloneable)
▪️ finalize() — вызывается перед сборкой мусора (устарел и не рекомендуется)
▪️ wait(), notify(), notifyAll() — методы для межпоточной синхронизации

🐸 Библиотека собеса по Java
  • 👍 8
  • 🔥 4
  • 👏 1
Post #976 2.04K
❓ Для чего нужен Garbage Collector?

Garbage Collector автоматически освобождает память, удаляя объекты, на которые больше нет ссылок. Это помогает избежать утечек памяти и ручного управления памятью.

Основные функции GC:

— Освобождение памяти.
— Предотвращение утечек памяти.
— Оптимизация работы приложения.

🐸 Библиотека собеса по Java
  • 👍 7
  • ❤ 4
  • 🔥 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →