Какие модификаторы доступа вы знаете
Что проверяют
Для аналитика этот вопрос проверяет, можете ли вы читать код и диаграммы классов и говорить с разработчиками на одном языке. Понимание инкапсуляции помогает описывать, что система открывает наружу, а что остаётся внутренней кухней. Следом могут попросить показать видимость на UML-диаграмме или спросить, как это связано с проектированием API.
Как отвечать
Назовите общую идею: модификатор доступа определяет, откуда виден класс, поле или метод. Затем четыре уровня, как в Java:
public: виден отовсюду. Это контракт, который трудно менять, потому что на него уже опираются другие части системы;protected: виден наследникам, а в Java ещё и всему пакету;- package-private: модификатор не пишется вовсе, элемент виден только внутри своего пакета;
private: виден только внутри класса. Сюда прячут состояние и детали реализации.
В C# набор шире: internal ограничивает видимость сборкой, есть комбинации protected internal и private protected, а с C# 11 модификатор file делает тип видимым только в одном файле. В Python модификаторов нет вовсе, есть соглашение о подчёркивании в имени.
На диаграмме классов UML видимость обозначают символами: + public, - private, # protected, ~ package. Это стоит знать, если вы рисуете модель предметной области в draw.io, PlantUML или Enterprise Architect.
Свяжите с работой аналитика: тот же принцип действует на уровне сервисов. Публичный API описывается в спецификации OpenAPI и версионируется, а внутренние эндпоинты и таблицы можно менять без согласования с потребителями. Чем меньше открыто наружу, тем дешевле изменения.
Где спотыкаются
Путают модификаторы доступа с другими модификаторами: static, final, abstract не про видимость.
Считают private защитой данных от злоумышленника. Это ограничение компилятора, через рефлексию до поля можно достучаться, а безопасность обеспечивают права доступа и шифрование.
Отвечают только списком и не показывают, зачем это аналитику. Сильнее звучит пример, как вы в спецификации отделили публичный контракт от внутренней логики.