#вопросы_с_собеседований
Что такое SPL?
Standard PHP Library — набор классов (структуры данных, итераторы, исключения, классы для обработки файлов), интерфейсов и функций для решения стандартных задач. Как правило, знание наизусть библиотеки не требуется, но понимать из чего она состоит стоит хотя бы для личного развития. Подробнее в документации — www.php.net/manual/ru/book.spl.php
Что такое SPL?
❤1
#вопросы_с_собеседований
Что такое инкапсуляция/наследование/полиморфизм?
Инкапсуляция . Это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает их от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Т.е. переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его собственных методов. Можно сказать, что инкапсуляция подразумевает под собой сокрытие данных, что позволяет эти данные защитить.
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
Что такое инкапсуляция/наследование/полиморфизм?
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
👍6
#вопросы_с_собеседований
Что такое REST API?
REpresentational State Transfer — архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP .
В контексте API нужно понимать основные форматы обмена данными, чаще всего это XML и JSON .
Что такое REST API?
В контексте API нужно понимать основные форматы обмена данными, чаще всего это
❤2
#вопросы_с_собеседований
Как следовать PSR standards?
PHP Standards Recommendations — стандарты оформления кода, а также интерфейсы для стандартных задач. Используются данные стандарты во всех фреймворках, и облегчают взаимодействия между разными библиотеками. Официальная документация , а также хорошая статья на Хабре .
Как следовать PSR standards?
www.php-fig.org
PHP Standards Recommendations - PHP-FIG
We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.
❤1
#вопросы_с_собеседований
Есть ли в языке механизм Copy-on-write?
Каждый раз при передаче переменной в функцию её значение (теоретически) должно быть скопировано. Это может не быть проблемой для данных типа integer или float, но представьте, что вы передаете в функцию массив, содержащий десять миллионов значений. Для того, чтобы избежать этого, в PHP используется парадигма копирования-при-записи (copy-on-write). Так, на самом деле, при передаче массива его копирование не происходит до того момента, пока вы не захотите изменить что либо в этом массиве. Статья с более детальным объяснением: https://hengrui-li.blogspot.com/2011/08/php-copy-on-write-how-php-manages.html?m=1
Есть ли в языке механизм Copy-on-write?
👍3
Новые каналы по PHP🎉
Готовимся к собеседованиям по PHP и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для PHP-разработчиков и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по PHP — тут мы готовимся к интервью
👉Библиотека задач по PHP — тут решаем задачи, проходим тесты и изучаем код
Готовимся к собеседованиям по PHP и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для PHP-разработчиков и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по PHP — тут мы готовимся к интервью
👉Библиотека задач по PHP — тут решаем задачи, проходим тесты и изучаем код
👍2👎1
Индексы в SQL для PHP-разработчиков
Индексы в базах данных считаются "волшебной палочкой" для решения многих проблем при разработке веб-приложений. Впрочем, опытные программисты знают, что из этой палочки в любой момент может вылететь "Авада Кедавра".
Чтобы научиться осознанно пользоваться индексами в SQL и ускорить свои приложения, присоединяйтесь к открытому уроку 26 июня в 20:00!
На уроке ты узнаешь:
1. Разберёшься, что такое индексы и как они работают в PostgreSQL и MySQL.
2. Научишься грамотно проектировать индексы под свои данные и запросы.
3. Узнаешь о неочевидных особенностях индексов, которые могут всё сломать, и как их избежать.
Твой гид в мир быстрых баз данных — Дмитрий Кириллов, соучредитель и технический директор 1С-Старт, опытный разработчик.
Регистрируйтесь прямо сейчас, чтобы попасть на открытый урок: https://vk.cc/cxQSEE
Индексы в базах данных считаются "волшебной палочкой" для решения многих проблем при разработке веб-приложений. Впрочем, опытные программисты знают, что из этой палочки в любой момент может вылететь "Авада Кедавра".
Чтобы научиться осознанно пользоваться индексами в SQL и ускорить свои приложения, присоединяйтесь к открытому уроку 26 июня в 20:00!
На уроке ты узнаешь:
1. Разберёшься, что такое индексы и как они работают в PostgreSQL и MySQL.
2. Научишься грамотно проектировать индексы под свои данные и запросы.
3. Узнаешь о неочевидных особенностях индексов, которые могут всё сломать, и как их избежать.
Твой гид в мир быстрых баз данных — Дмитрий Кириллов, соучредитель и технический директор 1С-Старт, опытный разработчик.
Регистрируйтесь прямо сейчас, чтобы попасть на открытый урок: https://vk.cc/cxQSEE
❓Как долго может работать ваше приложение на PHP?
Чувствуете ограниченность PHP в долгосрочной перспективе?
9 июля в 20:00 мск узнайте, как ваш PHP-код может работать дольше простого HTTP-запроса, обрабатывая данные для интеграции с партнерами или реагируя на события системы в реальном времени.
🔮На вебинаре вы узнаете:
- какие классы задач могут решать долгоживущие приложения на PHP;
- какие инструменты и средства доступны для реализации этих задач;
- как правильно организовать работу приложений на PHP, чтобы избежать проблем с памятью;
- когда стоит рассматривать расширение стека и использовать другие языки программирования.
Спикер Александр Пряхин — технический руководитель юнита в Авито и опытный преподаватель.
🎁Регистрируйтесь на урок и получите подарок участника чек-лист «SOLID и типичные ошибки на собеседованиях»: https://vk.cc/cydsrR
Чувствуете ограниченность PHP в долгосрочной перспективе?
9 июля в 20:00 мск узнайте, как ваш PHP-код может работать дольше простого HTTP-запроса, обрабатывая данные для интеграции с партнерами или реагируя на события системы в реальном времени.
🔮На вебинаре вы узнаете:
- какие классы задач могут решать долгоживущие приложения на PHP;
- какие инструменты и средства доступны для реализации этих задач;
- как правильно организовать работу приложений на PHP, чтобы избежать проблем с памятью;
- когда стоит рассматривать расширение стека и использовать другие языки программирования.
Спикер Александр Пряхин — технический руководитель юнита в Авито и опытный преподаватель.
🎁Регистрируйтесь на урок и получите подарок участника чек-лист «SOLID и типичные ошибки на собеседованиях»: https://vk.cc/cydsrR
High Performance with Laravel Octane
Автор: Roberto Butti
Год издания: 2023
#php #laravel #en
Скачать книгу
Автор: Roberto Butti
Год издания: 2023
#php #laravel #en
Скачать книгу
👎1
#вопросы_с_собеседований
Что такое "Позднее статическое связывание"?
Выражается в разнице между вызовом self:: и static::. «Позднее связывание» означает, что static:: будет вычисляться в ходе исполнения и может быть переопределен в классах — наследниках. Подробнее в документации.
Что такое "Позднее статическое связывание"?
🥱5
#вопросы_с_собеседований
Что такое GRASP шаблоны?
General Responsibility Assignment Software Patterns — шаблоны проектирования для решения общих задач. В отличие от паттернов из Банды Четырех, GRAPS шаблоны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Хорошая статья по теме — habr.com/ru/post/92570
Что такое GRASP шаблоны?
Хорошая статья по теме —
Как изощрённо очистить свойство после чтения
Пишите в комментариях, пропустили ли бы вы такой код на ревью и почему. 🤓
Пишите в комментариях, пропустили ли бы вы такой код на ревью и почему. 🤓
/**
* @return list<object>
*/
public function releaseEvents(): array
{
try {
return $this->events;
} finally {
$this->events = [];
}
}
👍3