Вопросы на собеседовании PHP
Что такое PHP и для чего он используется?
Как объявить переменную в PHP?
Какие типы данных существуют в PHP?
В чём разница между echo и print?
Как объявить константу в PHP?
Чем отличается define() от const?
Что такое суперглобальные переменные? Назовите основные.
В чём разница между $_GET и $_POST?
Что такое $_SESSION и как с ней работать?
Что такое $_COOKIE и как с ней работать?
Какие операторы сравнения есть в PHP?
В чём разница между == и ===?
Что такое тернарный оператор ? :?
Какие циклы есть в PHP?
В чём разница между while и do-while?
Что такое foreach и как он работает с массивами?
Как создать массив в PHP?
Какие функции для работы с массивами вы знаете?
В чём разница между array_merge и оператором + для массивов?
Что такое ассоциативный массив?
Как получить длину массива в PHP?
Что такое область видимости переменных в PHP?
В чём разница между global и $GLOBALS?
Что такое статическая переменная static?
Как объявить функцию в PHP?
Что такое аргументы функции и как их передавать?
В чём разница между передачей по значению и по ссылке &?
Что такое значения по умолчанию для аргументов функции?
Что такое анонимные функции в PHP?
Что такое замыкания closure в PHP?
Что такое стрелочные функции fn() => в PHP?
В чём разница между стрелочными и анонимными функциями?
Что такое рекурсия в PHP?
Что такое включаемые файлы: include, require, include_once, require_once?
В чём разница между include и require?
Что такое область видимости классов в PHP?
Какие модификаторы доступа есть в PHP?
В чём разница между public, protected и private?
Что такое конструктор __construct() и деструктор __destruct()?
Что такое наследование в PHP?
Что такое интерфейсы interface в PHP?
Что такое абстрактные классы abstract в PHP?
Чем отличаются интерфейсы от абстрактных классов?
Что такое трейты trait в PHP?
Зачем нужны трейты и как их использовать?
Что такое магические методы в PHP? Назовите основные.
Что такое __get() и __set()?
Что такое __call() и __callStatic()?
Что такое __toString() и для чего он нужен?
Что такое __invoke()?
Что такое пространства имён namespace в PHP?
Зачем нужны пространства имён?
Что такое автозагрузка классов в PHP?
Как работает spl_autoload_register()?
Что такое PSR-4?
Что такое исключения Exception в PHP?
Как обрабатывать исключения с помощью try-catch?
Что такое finally в обработке исключений?
Что такое пользовательские исключения?
В чём разница между ошибками и исключениями в PHP?
Что такое Error и Exception в PHP 7+?
Что такое строгая типизация declare(strict_types=1)?
Что такое подсказки типов type hints в PHP?
Что такое юнион-типы int|string в PHP 8?
Что такое пересечение типов A&B в PHP 8.1?
Что такое mixed тип в PHP 8?
Что такое атрибуты attributes в PHP 8?
Что такое конструктор промоушн __construct() в PHP 8?
Что такое match выражение в PHP 8?
В чём разница между match и switch?
Что такое enum (перечисления) в PHP 8.1?
Что такое never тип возврата в PHP 8.1?
Что такое readonly свойства в PHP 8.1?
Что такое final классы и методы?
Что такое позднее статическое связывание static::?
В чём разница между self:: и static::?
Что такое интерфейсы с методами static в PHP 8.1?
Что такое работа с датой и временем: DateTime и DateTimeImmutable?
В чём разница между DateTime и DateTimeImmutable?
Что такое DateInterval и DatePeriod?
Как работать с JSON в PHP?
В чём разница между json_encode() и json_decode()?
Что такое REST API и как его строить на PHP?
Что такое Composer и для чего он нужен?
Что такое composer.json и composer.lock?
В чём разница между require и require-dev в Composer?
Что такое PSR стандарты? Назовите основные.
Что такое PSR-7?
Что такое PSR-15?
Что такое middleware в PHP?
Что такое паттерн MVC?
Какие популярные PHP-фреймворки вы знаете?
В чём разница между Laravel и Symfony?
Что такое ORM в PHP?
Что такое Eloquent ORM?
Что такое Doctrine ORM?
Что такое миграции в PHP?
Что такое инъекция зависимостей DI в PHP?
Что такое контейнер зависимостей?
Что такое событийная модель в PHP?
Что такое очереди и как они используются в PHP?
Что такое WebSockets и можно ли их использовать с PHP?
Как обеспечить безопасность в PHP-приложениях?
Что такое XSS и как с ним бороться?
Что такое SQL-инъекции и как защититься от них?
Что такое CSRF и как защититься от него?
Что такое хеширование паролей в PHP: password_hash() и password_verify()?
Что такое JWT и как использовать в PHP?
Что такое кэширование в PHP? Какие инструменты используются?
Что такое Redis и как использовать с PHP?
Что такое Memcached и как использовать с PHP?
Что такое SQL и какие типы запросов вы знаете?
В чём разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL OUTER JOIN?
Что такое первичный ключ PRIMARY KEY и внешний ключ FOREIGN KEY?
Что такое индексы в базе данных и зачем они нужны?
В чём разница между UNIQUE и PRIMARY KEY?
Что такое транзакции и какие свойства ACID вы знаете?
Как работает GROUP BY и какие агрегатные функции существуют?
В чём разница между HAVING и WHERE?
Что такое нормализация баз данных? Какие нормальные формы существуют?
Что такое денормализация и когда она применяется?
Что такое PDO в PHP и зачем он нужен?
В чём разница между PDO, MySQLi и устаревшим mysql_*?
Что такое подготовленные запросы prepared statements и как они защищают от SQL-инъекций?
Что такое query builder и ORM? В чём их отличие?
Что такое N+1 проблема в ORM и как её решать?
Что такое репликация баз данных и для чего она нужна?
Что такое шардирование sharding баз данных?
Что такое EXPLAIN в SQL и как его использовать для оптимизации запросов?
Какие виды связей между таблицами вы знаете?
Что такое UNION и UNION ALL? В чём их различие?
Что такое SQLite, PostgreSQL, MySQL? В чём основные отличия?
Что такое Redis и чем он отличается от реляционных баз данных?
Что такое MongoDB и когда его стоит использовать вместо SQL?
Что такое тестирование в PHP? Какие виды тестов вы знаете?
В чём разница между модульными unit, интеграционными integration и функциональными тестами?
Что такое PHPUnit и как с ним работать?
Что такое Pest и чем он отличается от PHPUnit?
Что такое assert в тестировании?
Что такое setUp() и tearDown() в PHPUnit?
Что такое моки mocks и стабы stubs в тестировании?
Как тестировать код с внешними зависимостями (БД, API)?
Что такое TDD (Test-Driven Development) в PHP?
Что такое интеграционное тестирование API в PHP?
Что такое тестовое покрытие code coverage и как его измерить?
Что такое Docker и зачем он нужен в PHP-разработке?
Что такое Dockerfile и как он используется для сборки PHP-приложений?
Что такое docker-compose.yml и для чего он нужен?
Как настроить окружение для PHP-приложения с помощью Docker?
Что такое PHP-FPM и как он работает вместе с Nginx или Apache?
В чём разница между Apache и Nginx для PHP-приложений?
Что такое CI/CD и как это применяется в PHP-проектах?
Какие инструменты CI/CD вы знаете? (GitHub Actions, GitLab CI, Jenkins)
Как автоматизировать тестирование и деплой PHP-приложений?
Что такое Kubernetes и когда он используется для PHP?
Что такое DevOps и какую роль он играет в PHP-разработке?
Что такое мониторинг и логирование в PHP-приложениях?
Что такое DDD (Domain-Driven Design) и в чём его суть?
Что такое стратегическое и тактическое проектирование в DDD?
Что такое сущность Entity и объект-значение Value Object в DDD?
Что такое агрегат Aggregate и корень агрегата в DDD?
Что такое репозиторий Repository в DDD?
Что такое сервис Domain Service в DDD?
Что такое событие Domain Event в DDD?
Что такое CQRS (Command Query Responsibility Segregation)?
В чём разница между командой Command и запросом Query в CQRS?
Что такое Event Sourcing и как он работает?
В чём разница между Event Sourcing и традиционным хранением состояния?
Что такое шина событий Event Bus в PHP?
Что такое паттерн Repository и как он используется в PHP?
Что такое паттерн Factory и зачем он нужен?
Что такое паттерн Strategy в PHP?
Что такое паттерн Observer в PHP?
Что такое паттерн Dependency Injection и почему он важен?
Что такое контейнер зависимостей и как он работает в Laravel/Symfony?
Что такое Hexagonal Architecture (Ports and Adapters) в PHP?
Что такое микро-сервисная архитектура и как она применяется в PHP?
Что такое API Gateway в контексте PHP-микросервисов?
Что такое XSS (Cross-Site Scripting) и как защититься от него?
Что такое SQL-инъекции и как защититься от них?
Что такое CSRF (Cross-Site Request Forgery) и как защититься от него?
Что такое Session Hijacking и как предотвратить?
Как правильно хранить пароли в PHP?
Что такое password_hash() и password_verify()?
Что такое JWT (JSON Web Tokens) и как использовать в PHP?
Что такое OAuth2 и OpenID Connect в PHP?
Что такое CORS и как настроить его в PHP?
Что такое HTTPS и почему он важен для безопасности?
Что такое уязвимость File Inclusion и как избежать?
Что такое Command Injection и как защититься?
Как валидировать и санировать пользовательский ввод в PHP?
Что такое LFI (Local File Inclusion) и RFI (Remote File Inclusion)?
Как настроить безопасные заголовки HTTP в PHP?
Как оптимизировать производительность PHP-приложений?
Что такое кэширование в PHP? Какие типы кэширования вы знаете?
Что такое OPcache и как он ускоряет PHP?
Что такое кэширование запросов к базе данных?
Что такое Redis и Memcached? В чём их отличие?
Как использовать Redis для кэширования в Laravel/Symfony?
Что такое HTTP-кэширование (ETag, Cache-Control, Last-Modified)?
Как оптимизировать автозагрузку классов в Composer?
Что такое профайлинг и какие инструменты используются в PHP?
Что такое Xdebug и как он помогает в отладке и оптимизации?
Что такое Blackfire и как он используется для профилирования?
Как оптимизировать работу с большими массивами данных в PHP?
Что такое асинхронное выполнение задач в PHP?
Что такое очереди (Queues) и как они помогают в оптимизации?
Что такое RabbitMQ и Apache Kafka в контексте PHP?
Как настроить горизонтальное масштабирование PHP-приложения?
Что такое балансировка нагрузки и как она применяется для PHP?
Как оптимизировать загрузку страниц в PHP-приложениях?
Что такое Lazy Loading в PHP и как он работает?
Как управлять памятью в PHP? Что такое сборщик мусора?
Какие инструменты для мониторинга производительности PHP вы знаете?