Библиотека собеса по PHP | вопросы с собеседований
3.17K subscribers
180 photos
6 videos
121 links
Вопросы с собеседований по PHP и ответы на них.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Как использовать array_merge() и array_combine() в PHP?

array_combine(): Она используется для создания нового массива, используя значения одного массива в качестве ключей и значения другого массива в качестве значений. Самое главное при использовании array_combine(), что количество значений в обоих массивах должно быть одинаковым.

array_merge(): Объединяет один или несколько массивов таким образом, что значение одного массива добавляется в конец первого массива, и если массивы имеют одинаковые строки-ключи, то последующее значение отменяет предыдущее значение для этого ключа.
👍2🥱1
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования?

В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.

В нашем примере:

Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.

Распространенные случаи использования паттерна Адаптер включают:

🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе.
🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу.
🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования.
🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.
Что такое компоненты Symfony?

Symfony Components — это коллекция разрозненных и многократно используемых PHP-библиотек. Это программное обеспечение с открытым исходным кодом, которое призвано ускорить или ускорить создание и поддержку веб-приложений, заменить повторяющиеся задачи кодирования, создать мощные и надежные приложения в корпоративном контексте и предоставить разработчикам полный контроль над конфигурацией.

Компоненты Symfony — это разрозненные библиотеки для PHP-приложений. Тысячи проектов были загружены миллиарды раз и являются основой основных PHP-проектов. Symfony предоставляет компоненты от простых функций, таких как файловая система, до расширенных возможностей, событий, контейнерной технологии и инъекции зависимостей.
Что такое CQRS?

CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который предлагает разделить операции записи и чтения данных в приложении на две отдельные ветки. Вместо того, чтобы использовать единый интерфейс для обеих операций, CQRS предлагает использовать различные модели данных для команд и запросов. Это позволяет оптимизировать каждую модель для конкретных задач и улучшить производительность приложения.

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

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

Интересная статья на эту тему
🔥1
Какой шаблонизатор поддерживает Symfony?

Шаблонизатором по умолчанию в Symfony является Twig. Мы также можем использовать обычный PHP-код. Twig — это актуальный и современный шаблонизатор для PHP.

✔️ Преимущества Twig:

Быстрота: Накладные расходы на регулярный PHP-код были сведены к минимуму, так как Twig помогает компилировать шаблоны в простой оптимизированный PHP-код.

Безопасность: Twig как язык шаблонов используется в приложениях, где пользователи могут изменять дизайн шаблона. В нем есть режим «песочницы» для борьбы с недоверенным кодом шаблонов.

Гибкость: Twig позволяет разработчику задавать пользовательские теги и фильтры и создавать свой DSL, что разрешается гибким лексером и парсером twig.
🔥1🥱1
Что такое интерфейсы?

Интерфейсы в PHP являются структурой, которая определяет методы, которые класс должен реализовать. Они предоставляют способ определить общие контракты для классов, не определяя их конкретную реализацию.

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

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

Использование интерфейсов способствует лучшей организации кода, а также повышает его гибкость и переиспользуемость. Они позволяют определить общие методы и стандарты, которые должны быть реализованы в классах, что упрощает сопровождение и расширение программного обеспечения.
🔥1
🎄 С Нового года начну учиться — знакомо?

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

🗓️ 4 декабря стартует экспресс-курс «Математика для Data Science»— всё, что нужно для уверенных ответов на собесах:

→ 2 месяца без воды;
→ обновлённая программа (ноябрь 2025);
→ живые вебинары с экспертами;
→ записи всех занятий;
→ практика на Python + финальный проект с фидбэком.

Формат: 2 месяца интенсива и к началу следующего года ты готов к собесам.

Пока другие будут собираться с мыслями после НГ, ты уже будешь на полпути к офферу мечты.

🎁 Только до 30 ноября:

→ скидка 40% на курс;
→ курс «Базовая математика» в подарок;
→ бесплатный тест уровня математики.

👉🏻 Хочешь на курс → пиши менеджеру