Библиотека собеса по Java | вопросы с собеседований
6.43K subscribers
407 photos
9 videos
548 links
Вопросы с собеседований по Java и ответы на них.

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

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

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

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

Они взаимодействуют между собой через лёгкие протоколы (обычно HTTP/gRPC, обмен сообщениями).
Главные плюсы — гибкость в разработке, масштабирование отдельных компонентов, независимый деплой. Минусы — усложнение инфраструктуры, необходимость в оркестрации и мониторинге, появление распределённых транзакций.

Такой подход противопоставляется монолиту, где всё приложение собрано в один блок.

🐸 Библиотека собеса по Java

#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91🔥1👏1
Расскажите о паттерне Фасад?

Паттерн Фасад относится к структурным шаблонам проектирования. Его цель — скрыть сложность подсистемы за простым интерфейсом. Он предоставляет единую точку доступа к набору классов, упрощая взаимодействие клиента с системой.

Проще говоря, Фасад — это «фронт-дверь» сложной системы. Вместо того чтобы вызывать десятки методов из разных классов, клиент обращается к одному объекту, который внутри вызывает всё нужное.

Плюсы:

✔️ Упрощает использование сложной системы.
✔️ Изолирует клиента от изменений в подсистемах.
✔️ Повышает читаемость и поддержку кода.

Минусы:

⚠️ Может стать God объектом, если разрастается слишком сильно.

🐸 Библиотека собеса по Java

#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91🔥1
Расскажите про паттерн Strategy?

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

Когда использовать:

есть несколько способов выполнения одной операции;
нужно избежать множественных if-else или switch;
алгоритмы должны выбираться в runtime.

Преимущества: соблюдение Open/Closed Principle, устранение условных операторов, гибкость выбора алгоритма.

🐸 Библиотека собеса по Java

#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2🤩21💯1
Расскажите про паттерн Singleton?

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

🔹 Основные характеристики:

приватный конструктор запрещает создание экземпляров извне;
статический метод getInstance() возвращает единственный экземпляр;
статическое поле для хранения экземпляра.

🔹 Когда использовать:

объект содержит глобальное состояние;
создание объекта ресурсозатратно;
нужен единый координатор действий;
логически должен быть один экземпляр.

🐸 Библиотека собеса по Java

#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2💯1