Telegram Web
#вопросы_с_собеседований

Зачем нужно ключевое слово final?

Разместив ключевое слово final перед объявлениями методов класса, можно предотвратить их переопределение в дочерних классах, а в случае объявления самого класса как final — его невозможно будет унаследовать. Такие классы и методы призваны защитить чувствительный код от изменений, а сам код становится проще поддерживать. Подробнее в документации.
#вопросы_с_собеседований

Что такое PSR? Какова их цель?

PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.

Стандарты PSR поделены на части. Каждый содержит информацию о том, как нужно выполнять задачи. Например, ставить переносы строк, называть переменные, реализовывать автозагрузку. За каждую часть отвечает свой стандарт. Каждый начинается с аббревиатуры PSR, после которой идет номер. Например, PSR-1 или PSR-4.

Подробнее про каждый можно почитать
здесь.
#вопросы_с_собеседований

Что такое SPL?

Standard PHP Library — набор классов (структуры данных, итераторы, исключения, классы для обработки файлов), интерфейсов и функций для решения стандартных задач. Как правило, знание наизусть библиотеки не требуется, но понимать из чего она состоит стоит хотя бы для личного развития. Подробнее в документации — www.php.net/manual/ru/book.spl.php
#вопросы_с_собеседований

Что такое инкапсуляция/наследование/полиморфизм?

Инкапсуляция
. Это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает их от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Т.е. переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его собственных методов. Можно сказать, что инкапсуляция подразумевает под собой сокрытие данных, что позволяет эти данные защитить.
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
#вопросы_с_собеседований

Что такое REST API?

REpresentational State Transfer
— архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP.
В контексте API нужно понимать основные форматы обмена данными, чаще всего это
XML и JSON.
#вопросы_с_собеседований

Как следовать PSR standards?

PHP Standards Recommendations — стандарты оформления кода, а также интерфейсы для стандартных задач. Используются данные стандарты во всех фреймворках, и облегчают взаимодействия между разными библиотеками. Официальная документация, а также хорошая статья на Хабре.
#вопросы_с_собеседований

Есть ли в языке механизм 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
Новые каналы по PHP🎉

Готовимся к собеседованиям по PHP и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для PHP-разработчиков и тех, кто хочет ими стать👨‍🏫

Подписывайтесь:
👉Библиотека собеса по PHP — тут мы готовимся к интервью
👉Библиотека задач по PHP — тут решаем задачи, проходим тесты и изучаем код
🔽Как эффективно работать с сущностями в Битрикс24?

Узнайте на бесплатном практическом уроке «Модели данных, ORM в Битрикс24» от OTUS, где вы вместе с опытным экспертом научитесь:

☑️ создавать новую модель списка (информационного блока);
☑️ добавлять новое поле в модель;
☑️ выводить данные с использованием registerRuntimeField и ReferenceField.

🗓Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». Доступна рассрочка на обучение!

👉Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: регистрация
⛔️До сих пор используешь модели и сущности в Битрикс24 неправильно?

Хватит работать на среднем уровне, прокачай квалификацию на бесплатном практическом уроке от OTUS, где ты научишься:

✔️ создавать новую модель списка (информационного блока);
✔️ добавлять новое поле в модель;
✔️ выводить данные с использованием registerRuntimeField и ReferenceField.

Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». Доступна рассрочка на обучение!

👉Регистрируйся прямо сейчас, чтобы посетить бесплатный урок и получить запись.
#вопросы_с_собеседований

Что такое Traits?

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

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

Тогда вам точно нужно посмотреть открытые уроки и программу курса «Microservice Architecture» от OTUS.

В процессе обучения вы:
- рассмотрите вопросы проектирования backend-приложений и их дальнейшего сопровождения;
- изучите подходы к работе с legacy-сервисами;
- научитесь решать проблемы с согласованностью изменений или с оркестрацией сервисов;
- как разработчик научитесь базовым навыкам работы с Kubernetes.

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

Доступна рассрочка. А еще в честь своего семилетия компания Otus до 7 апреля дает скидку 15% по промокоду 7YEARS🎁.

Пройдите короткий тест, чтобы забронировать скидку: https://vk.cc/cvVxIC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🎯 Хотите на профессиональном уровне проектировать архитектуру, создавать масштабируемые отказоустойчивые приложения и решать нетривиальные задачи при их внедрении?

Тогда вам точно нужно посмотреть открытые уроки и программу курса «Microservice Architecture» от OTUS.

На курсе вы:
- рассмотрите вопросы проектирования backend-приложений и их дальнейшего сопровождения;
- изучите подходы к работе с legacy-сервисами;
- научитесь решать проблемы с согласованностью изменений или с оркестрацией сервисов;
- как разработчик научитесь базовым навыкам работы с Kubernetes.

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

Пройдите короткий тест, чтобы получить спец.цену на курс: https://vk.cc/cwdDnn

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
GETTING STARTED WITH SQL

Автор:
Rémy Lentzner
Год издания: 2023

#php #en

Скачать книгу
The Art of Modern PHP 8

Автор:
Joseph Edmonds
Год издания: 2021

#en #php

Скачать книгу
Индексы в SQL для PHP-разработчиков

Индексы в базах данных считаются "волшебной палочкой" для решения многих проблем при разработке веб-приложений. Впрочем, опытные программисты знают, что из этой палочки в любой момент может вылететь "Авада Кедавра".

Чтобы научиться осознанно пользоваться индексами в SQL и ускорить свои приложения, присоединяйтесь к открытому уроку 26 июня в 20:00!

На уроке ты узнаешь:

1. Разберёшься, что такое индексы и как они работают в PostgreSQL и MySQL.
2. Научишься
грамотно проектировать индексы под свои данные и запросы.
3. Узнаешь о неочевидных особенностях индексов, которые могут всё сломать, и как их избежать.

Твой гид в мир быстрых баз данных — Дмитрий Кириллов, соучредитель и технический директор 1С-Старт, опытный разработчик.

Регистрируйтесь прямо сейчас, чтобы попасть на открытый урок: https://vk.cc/cxQSEE
Разрабатываете бизнес-логику для проекта, но сталкиваетесь с трудностями в выборе между конечными автоматами (state machines) и рабочими процессами (workflows)? Ищете метод, который поможет вам лучше управлять состояниями и процессами в системе?

После прохождения нашего вебинара вы сможете эффективно описывать бизнес-логику с помощью конечных автоматов, успешно реализовывать процессы с пакетом workflow и четко понимать разницу между workflow и state machines. Ваша разработка станет значительно более структурированной и управляемой.

Встречаемся 2 июля в 20:00 мск в преддверии старта курса «Symfony Framework». Все участники вебинара получат специальную цену на обучение!

Спикер Михаил Каморин — Dev Tech Lead в Skyeng, участник и организатор конференций по PHP, член ПК Podlodka PHP Crew.

Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/F7XU/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как долго может работать ваше приложение на PHP?
Чувствуете ограниченность PHP в долгосрочной перспективе?

9 июля в 20:00 мск узнайте, как ваш PHP-код может работать дольше простого HTTP-запроса, обрабатывая данные для интеграции с партнерами или реагируя на события системы в реальном времени. 

🔮На вебинаре вы узнаете:

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

Спикер Александр Пряхин — технический руководитель юнита в Авито и опытный преподаватель.

🎁Регистрируйтесь на урок и получите подарок участника чек-лист «‎SOLID и типичные ошибки на собеседованиях»: https://vk.cc/cydsrR
Хотите освоить полнотекстовый поиск в Symfony на примере ElasticSearch?

Хорошие новости — всего за пару часов вы сможете:

- рассмотреть работу с ElasticSearch в Symfony;
- разобрать, как работает нечёткий поиск;
- решить задачу фильтрации по параметрам и поисковому запросу.

Ждём вас на открытом практическом уроке от OTUS!

Спикер Михаил Каморин — Dev Tech Lead в Skyeng, участник и организатор конференций по PHP, член ПК Podlodka PHP Crew.

Встречаемся 16 июля в 20:00 мск в преддверии старта курса «Symfony Framework». Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://clck.ru/3Bhk5N

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🎯Изучите Symfony и откройте новые карьерные перспективы в 2024

Освойте самый востребованный фреймворк Symfony всего за 4 месяца на онлайн-курсе «Symfony Framework» от OTUS. Этот курс идеально подходит для любых PHP-разработчиков, стремящихся поднять свой профессиональный уровень до Middle+ или Senior+ и работать в крупных проектах.

Вы научитесь:
- использовать Symfony в проектах;
- обеспечивать безопасность приложения;
- тестировать и мониторить полученный код;
- использовать встроенные инструменты фреймворка;
- разворачивать приложения в различных окружениях.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2025/06/14 06:40:47
Back to Top
HTML Embed Code: