PHP Backend | YeaHub
376 subscribers
295 photos
10 videos
600 links
Теория, подготовка к интервью и курсы для PHP разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #sharding #scaling #performance
🤔 Что такое шардирование и зачем оно нужно?

💬 Кратко:

Шардирование — это разделение таблицы или базы на независимые части (шарды), обычно по user_id или дате. Это позволяет масштабировать систему горизонтально.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #express #иб
📚 Node.js. Разработка серверных веб-приложений на JavaScript
Автор: Хэррон Дэвид


На практических примерах читатель научится применять в своей работе серверный и клиентский объекты HTTP, каркасы Connect, Express. Также начинающий специалист познакомится с алгоритмами асинхронного выполнения и узнает, как взаимодействовать с ИБ.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #database_migration #schema_versioning #laravel
🤔 Что такое миграции базы данных на примере Laravel?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #singleton #instance #class
🤔 Как бы вы описали паттерн проектирования Singleton?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #deadlock #postgresql #transaction
🤔 Как СУБД (например, PostgreSQL) обрабатывает взаимоблокировки?

💬 Кратко:

PostgreSQL автоматически обнаруживает взаимоблокировки с помощью графа ожидания блокировок. Когда обнаруживается цикл в этом графе (что указывает на deadlock), СУБД выбирает одну транзакцию в качестве "жертвы" и откатывает ее, освобождая заблокированные ресурсы. Выбранная транзакция получает ошибку, а остальные могут продолжить выполнение. Критерий выбора "жертвы" обычно основан на стоимости отката — отменяется транзакция с наименьшей стоимостью отката.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #степик #sql
📚 Тренажер по SQL

Вам дается теория, примеры выполнения запросов, а дальше вы решаете разные задачи по теме (пример структуры на скрине)

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
#Собес #static #function
🤔 В каких ситуациях целесообразно использовать статические функции?

💬 Кратко:

Статические функции удобно использовать, когда логика не зависит от состояния объекта. Обычно это чистые функции или вспомогательные операции. Они легко вызываются и не требуют создания объекта. Но при злоупотреблении ухудшают тестируемость.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sql_injection #pdo #mysql
🤔 Как предотвратить SQL-инъекции в PHP-приложениях?

💬 Кратко:

SQL-инъекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #airflow #operator
🤔 Какие типы операторов существуют в Airflow?

💬 Кратко:

В Airflow существуют операторы для выполнения кода, работы с базами данных, взаимодействия с внешними сервисами и управления зависимостями. Самые базовые — PythonOperator, BashOperator и SQL-операторы. Есть операторы для облачных сервисов и Kubernetes. Также существуют специальные операторы для управления workflow. Обычно выбирают самый простой оператор, который решает задачу.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #garbage #collection
🤔 Есть ли в PHP сборщик мусора? Как работает refcount?

💬 Кратко:

Да, в PHP есть сборщик мусора. Основной механизм - подсчет ссылок (refcount), который автоматически освобождает память когда переменная больше не используется. Для циклических ссылок используется циклический сборщик мусора. Refcount отслеживает сколько переменных ссылаются на значение в памяти. Когда refcount достигает нуля, память immediately освобождается. Для циклических ссылок, которые не могут быть удалены через refcount, используется отдельный алгоритм обнаружения и очистки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #storage #cloud #exception

🤔 Middle+ Python Backend-разработчик в Энегра

Техническое собеседование PHP-разработчика с уклоном в архитектуру веб-приложений, бэкенд-структуру Laravel, работу с реляционными БД, очередями и брокерами сообщений.

💬 Вопросы:

- Что такое микросервисная архитектура?

- Что такое идемпотентность (idempotentness)?

- Как работает идемпотентность под капотом — где и как хранятся ключи, с чем сравнивается запрос?

- Чем микросервисная архитектура лучше монолита?

- Какие способы общения между микросервисами?

👉 Все вопросы из этого собеседования (30)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #API_gateway #rate_limiting #proxy_service
🤔 Как спроектировать прокси-сервис для работы с ограниченным API?

💬 Кратко:
Прокси-сервис для ограниченного API выступает промежуточным слоем между клиентом и целевым API. Он управляет частотой запросов, кэширует ответы, обрабатывает ошибки и может агрегировать данные. Основная цель — не превысить лимиты API (rate limits) и повысить надёжность приложения. Для этого используются паттерны rate limiting, circuit breaker и пул соединений.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#channel #mvc #опытные #начинающие
📚 Dmitry Afanasyev

Дмитрий Афанасьев ведёт, пожалуй, один из самых популярных и старых каналов в рунете по программированию на PHP. Он не обошёл вниманием как начинающих программистов, посвятив им несколько плейлистов по изучению PHP и созданию интернет-магазина, так и более опытных, записав туториал по созданию собственного MVC-приложения, изучению October CMS, Laravel и Zend Framework 2. Раньше эти курсы были платными, однако теперь автор выложил их в открытый доступ, так что теперь у вас есть эксклюзивные уроки на PHP.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #session #cookie #authentication
🤔 Путь от получения cookie с session ID до извлечения данных пользователя на сервере?

💬 Кратко:

Когда пользователь отправляет запрос с session cookie, сервер извлекает идентификатор сессии из cookie. Затем система ищет данные сессии в хранилище (файлы, Redis, база данных) по этому идентификатору. Если сессия найдена и действительна, извлекаются данные пользователя. Эти данные используются для аутентификации и авторизации запроса, после чего становятся доступными в приложении через глобальные переменные или объекты сессии.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #laravel #solid #oop

🤔 Middle PHP Backend-разработчик в Лантан

Техническое собеседование. Вилка 200к+. Было много базовых вопросов по: PHP, Laravel, Git, базам данных.

💬 Вопросы:

- Что такое команда git cherry-pick?

- Как бы вы описали паттерн проектирования Singleton?

- Какова цель использования интерфейсов в PHP?

- Что такое трейты в PHP?

- Что такое middleware в контексте Laravel?

👉 Все вопросы из этого собеседования (68)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #explain #execution #plan
🤔 Что такое план выполнения SQL-запроса (EXPLAIN)?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #php #ajax #js
🤔 Как PHP взаимодействует с JavaScript?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #debugging #xdebug #logging
🤔 Как отлаживать PHP-приложение?

💬 Кратко:

Для отладки можно использовать встроенные функции PHP, такие как var_dump() и error_reporting(), а также более сложные инструменты вроде Xdebug для работы с точками останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую роль.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #http #get #post
🤔 Чем отличается функционально GET от POST? Можем ли писать запрос в body GET?

💬 Кратко:

GET - для получения данных (параметры в URL), POST - для отправки данных (body). Технически body в GET возможен, но не рекомендуется.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #ии-помощник
📚 Курс PHP

Изучите язык программирования PHP в интерактивной онлайн среде. Десятки заданий прямо в браузере с поддержкой ИИ-ассистента

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #middleware #authorization
🤔 Можно ли на уровне middleware проверять роль/доступ пользователя (и что вернуть при запрете)?

💬 Кратко:

Да, в Laravel проверку роли или прав доступа можно делать прямо в middleware. Middleware выполняется до контроллера и может прервать запрос, если пользователь не имеет нужных прав. При запрете обычно возвращают HTTP-ответ с кодом 403 Forbidden или делают редирект. Такой подход позволяет централизовать логику доступа и не дублировать её в каждом контроллере.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа