AI
prepair.app
Пройти інтерв'ю →
EnglishРусскийУкраїнська
🐘

Senior PHP Backendпитання на співбесіді PHP

Senior · 5+ років досвіду

Співбесіда PHP охоплює семантику мови, ООП, Laravel або Symfony, MySQL та основи веббезпеки. Нижче — найчастіші питання з еталонними відповідями. Senior: архітектуру, трейд-офи, менторство та прийняття рішень.

Теми для підготовки

ООП і SOLID у PHP
Laravel / Symfony
MySQL та оптимізація запитів
Composer і автозавантаження
Сесії, куки, безпека
Стандарти PSR

7 питань рівня Senior з відповідями

1

Що таке Dependency Injection Container у Laravel і як він працює?

Відповідь

Контейнер розвʼязує залежності автоматично: він читає тайп-хінти конструктора через рефлексію і рекурсивно створює все необхідне. Інтерфейси привʼязують до конкретних реалізацій у сервіс-провайдері, тому підміна реалізації це правка одного рядка. Singleton-привʼязки віддають один екземпляр на життєвий цикл запиту, що важливо для сервісів зі станом на кшталт пулу зʼєднань.

2

Як захиститися від SQL-інʼєкцій? Що таке prepared statements?

Відповідь

Підготовлений запит надсилає структуру SQL і параметри окремо, тому користувацький ввід ніколи не парситься як SQL, а помилки екранування не перетворюються на інʼєкцію. У PHP це PDO або mysqli з привʼязкою параметрів чи ORM, який робить це за вас. Уразливість створює саме конкатенація рядків у запит; функції екранування — крихка заміна, бо залежать від кодування й контексту.

3

Що таке Eloquent ORM? Поясніть N+1 і як її вирішити.

Відповідь

Eloquent — це active-record ORM Laravel, де модель відображається на таблицю, а звʼязки описуються методами. N+1 виникає, коли ви йдете циклом по моделях і звертаєтесь до звʼязку, породжуючи по запиту на рядок. Лікується жадібним завантаженням через with(), а зловити це в розробці допомагає Model::preventLazyLoading(), після якого ліниве звернення падає з помилкою замість тихої деградації.

4

Що таке middleware у Laravel? Наведіть приклад використання.

Відповідь

Middleware загортає конвеєр HTTP-запиту і дозволяє виконати код до або після контролера — автентифікація, обмеження частоти запитів, заголовки CORS, логування. Кожен middleware отримує запит і замикання $next, вирішує, чи пропускати далі, і може змінити відповідь на зворотному шляху. За рахунок композиції наскрізна логіка не розповзається по контролерах.

5

Як працює автозавантаження класів через Composer і PSR-4?

Відповідь

PSR-4 зіставляє префікс простору імен з каталогом, тому App\Services\Mailer розвʼязується у src/Services/Mailer.php. Composer генерує автозавантажувач з карти в composer.json і реєструє його через spl_autoload_register, тож класи підвантажуються при першому зверненні, а не підключаються вручну. У продакшені запускають composer dump-autoload --optimize, щоб зібрати статичну карту класів і не ходити у файлову систему.

6

Що таке XSS і CSRF? Як від них захиститися в PHP-застосунку?

Відповідь

XSS впроваджує виконуваний скрипт у сторінку — захист в екрануванні всього виводу через htmlspecialchars або подвійні фігурні дужки Blade плюс Content Security Policy. CSRF змушує браузер авторизованого користувача надіслати ненавмисний запит — захист у токені на кожну форму, що змінює стан, і куках SameSite. Ключова відмінність: XSS зловживає довірою користувача до сайту, CSRF — довірою сайту до браузера.

7

У чому різниця між include, require, include_once і require_once?

Відповідь

include за відсутності файлу видає попередження і продовжує роботу, require кидає фатальну помилку і зупиняє виконання. Варіанти _once запамʼятовують уже підключені файли і пропускають повтори, що запобігає помилкам переоголошення. У сучасному коді всі чотири майже не потрібні, бо завантаженням класів займається автозавантаження Composer, а явні підключення лишаються тільки для конфігів і шаблонів.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Senior PHP Backend →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — PHP Backend

Junior PHP BackendMiddle PHP BackendУсі питання PHP Backend

Інші спеціалізації

🔍Senior QA Manual🤖Senior QA AutomationSenior Java Backend🐍Senior Python Backend🦫Senior Go Backend🟢Senior Node.js Backend⚛️Senior React Frontend💚Senior Vue Frontend🅰️Senior Angular FrontendSenior Next.js