Библиотека собеса по PHP | вопросы с собеседований
3.18K subscribers
182 photos
5 videos
119 links
Вопросы с собеседований по PHP и ответы на них.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40%

Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎

🔥 Курсы со скидкой 40% до конца ноября:

🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры

Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
В чем разница между переопределением метода и перегрузкой метода?

Method Overriding (Переопределение методов)

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

Требования:

🔸Наследование (должен быть родительский класс и дочерний класс).
🔸Метод в дочернем классе должен иметь ту же сигнатуру, что и в родительском классе.
🔸Модификаторы доступа могут быть ослаблены (например, с protected на public), но не ужесточены.

Method Overloading (Перегрузка методов)

В строгом смысле PHP не поддерживает перегрузку методов на уровне языка (как в Java или C#), поскольку PHP не позволяет определять несколько методов с одним именем, но разным количеством или типами параметров. Однако перегрузка может быть реализована косвенно через магический метод __call() или __callStatic().
SOAP vs REST. В чем разница?

1. Принцип взаимодействия:

SOAP (Simple Object Access Protocol): Использует протокол XML для обмена сообщениями. Обычно отправляет запросы через HTTP, SMTP или другие протоколы.
REST (Representational State Transfer): Основан на простых HTTP методах (GET, POST, PUT, DELETE) и работает с ресурсами (например, URL). Возвращает данные в форматах JSON, XML или других текстовых форматах.

2. Простота и гибкость:

SOAP: Более сложный и тяжеловесный стандарт, предоставляющий много возможностей, но требует больше ресурсов и времени для разработки.
REST: Простой и гибкий, позволяет использовать различные форматы данных и не накладывает строгих правил на структуру сообщений.

3. Формат данных:

SOAP: Обычно использует XML для обмена данными, что может привести к большому объему сообщений из-за тегов и атрибутов XML.
REST: Часто использует JSON для передачи данных, что более компактно и легче читать для человека.

4. Состояние (Statelessness):

SOAP: Может поддерживать состояние сессии между запросами, что означает, что сервер должен помнить состояние клиента.
REST: Считается безсостоятельным (stateless), каждый запрос от клиента содержит всю необходимую информацию, и сервер не хранит состояние между запросами.

5. Безопасность:

SOAP: Предоставляет стандартизированные механизмы безопасности, такие как WS-Security, что делает его более подходящим для более критичных по безопасности приложений.
REST: Основывается на протоколе HTTPS для обеспечения безопасности передачи данных, но может потребовать дополнительных мер безопасности, таких как токены авторизации.

6. Кэширование:

SOAP: Поддерживает кэширование, но требует сложной настройки на стороне клиента и сервера.
REST: Имеет встроенную поддержку кэширования через HTTP методы, что упрощает процесс.

7. Использование веб-стандартов:

SOAP: Использует стандарты WSDL (Web Services Description Language) и UDDI (Universal Description, Discovery, and Integration) для описания веб-сервисов и их местоположения.
REST: Не имеет формальных стандартов описания интерфейсов, но использует стандарты HTTP и URI для доступа к ресурсам.
Эти различия имеют важное значение при выборе между SOAP и REST в зависимости от требований проекта. SOAP часто используется в корпоративных приложениях, требующих высокой надежности и безопасности, в то время как REST чаще используется в открытых API и веб-приложениях, где важна гибкость и простота использования.