Знание есть, но стресс мешает?
Бесплатное сообщество для прокачки карьеры в IT Подпишись на https://t.me/IT_Interview_Partner_Bot
Подпишись на https://t.me/LyakhovEugene
Знание есть, но стресс мешает?
Бесплатное сообщество для прокачки карьеры в IT Подпишись на https://t.me/IT_Interview_Partner_Bot
Подпишись на https://t.me/LyakhovEugene
...Читать далее
- Что такое PHP?
PHP (Hypertext Preprocessor) — это скриптовый язык программирования общего назначения, специально разработанный для веб-разработки. Код PHP выполняется на стороне сервера, генерируя HTML-контент, который отправляется клиенту. - Как объявить переменную в PHP?
Переменная в PHP объявляется с помощью символа $, за которым следует имя переменной. Например: $name = "John";. PHP — язык с динамической типизацией, поэтому тип переменной определяется автоматически. - Какие основные типы данных существуют в PHP?
Скалярные: int, float, string, bool. Составные: array, object, callable, iterable. Специальные: resource, NULL. Начиная с PHP 8.0 добавлены mixed, never, false как самостоятельные типы. - В чем разница между одинарными и двойными кавычками?
В двойных кавычках интерпретируются переменные и управляющие последовательности (\n, \t и т.д.), а в одинарных — выводится практически всё как есть. Двойные кавычки выполняются медленнее из-за необходимости парсинга. - Какие операторы сравнения с приведением типов и без приведения вы знаете?
== — сравнивает значения с приведением типов; === — сравнивает значения и типы без приведения (строгое сравнение). Аналогично != и !==. - Чем отличается include от require?
Оба включают файл, но при ошибке require вызывает фатальную ошибку и останавливает выполнение скрипта, а include только выдаёт предупреждение и продолжает работу. include_once и require_once проверяют, был ли файл уже подключён. - Что такое суперглобальные массивы? Приведите примеры.
Это предопределённые массивы, доступные в любой области видимости. Примеры: $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST. - Как работают сессии в PHP?
Сессии позволяют хранить данные о пользователе между запросами. Сессия стартует функцией session_start(), данные сохраняются в суперглобальном массиве $_SESSION. PHP генерирует уникальный идентификатор сессии и передаёт его клиенту обычно через cookie. - Чем отличаются куки (cookies) от сессий?
Куки хранятся на стороне клиента и могут быть отключены пользователем, данные доступны в JavaScript. Сессии хранятся на сервере, клиенту передаётся только идентификатор сессии. Сессии безопаснее для конфиденциальных данных. - Как обработать данные из формы, отправленной методом POST?
Доступ к данным осуществляется через суперглобальный массив $_POST. Например: $name = $_POST['name'];. Для GET — $_GET. Важно фильтровать и валидировать входные данные. - Что такое PDO? В чем его преимущества?
PDO (PHP Data Objects) — расширение для работы с базами данных, предоставляющее унифицированный интерфейс. Преимущества: поддержка различных СУБД, использование подготовленных запросов для защиты от SQL-инъекций, объектно-ориентированный подход. - Как предотвратить SQL-инъекции в PHP?
Использовать подготовленные запросы (prepared statements) через PDO или MySQLi. Также можно экранировать строки, но надёжнее — параметризованные запросы. - Что такое autoloading в PHP?
Механизм автоматической загрузки классов без явного подключения файлов с помощью include/require. Реализуется через функцию spl_autoload_register() или директивы в composer.json. Современные проекты используют Composer с PSR-4. - Что такое пространства имён (namespaces)?
Пространства имён позволяют группировать классы, интерфейсы, функции и константы, избегая конфликтов имён. Объявляются директивой namespace. Доступ к элементу из другого пространства через use или указание полного пути. - Перечислите основные магические методы PHP.
__construct(), __destruct(), __get(), __set(), __call(), __callStatic(), __toString(), __invoke(), __clone(), __sleep(), __wakeup() и др. Эти методы автоматически вызываются при определённых действиях с объектами. - Что такое трейты (traits)?
Трейты — механизм повторного использования кода в PHP для горизонтального наследования. Позволяют включать методы в классы, избегая ограничений одиночного наследования. Объявляются ключевым словом trait, подключаются use. - Как работают интерфейсы и абстрактные классы?
Интерфейсы определяют контракт (сигнатуры методов) без реализации. Класс, реализующий интерфейс, обязан определить все его методы. Абстрактные классы могут содержать как абстрактные, так и реализованные методы; не могут быть инстанциированы напрямую. - Что такое замыкание (closure) и анонимная функция?
Анонимная функция — функция без имени, может быть присвоена переменной или передана как аргумент. Замыкание — анонимная функция, которая может захватывать переменные из родительской области видимости с помощью use. - Как работать с файлами в PHP?
Основные функции: fopen(), fclose(), fread(), fwrite(), file_get_contents(), file_put_contents(). Для работы с файловой системой: file_exists(), is_file(), unlink(), mkdir() и др. - Какие способы обработки ошибок существуют в PHP?
Использование try-catch для исключений.
Функции error_reporting(), set_error_handler() для пользовательской обработки ошибок.
Директива display_errors на этапе разработки.
Логирование ошибок с error_log(). - Что такое Composer?
Composer — менеджер зависимостей для PHP. Позволяет подключать сторонние библиотеки, управлять их версиями и автозагрузкой через файл composer.json. Создаёт файл composer.lock для фиксации версий. - Что такое итераторы и генераторы в PHP?
Итераторы — объекты, реализующие интерфейс Iterator, позволяющие перебирать коллекции. Генераторы — упрощённый способ создания итераторов с помощью yield, экономят память при работе с большими объёмами данных. - Какие нововведения появились в PHP 8?
JIT-компиляция
Атрибуты (аннотации)
Named arguments (именованные аргументы)
Match-выражение
Оператор Nullsafe (?->)
Тип mixed, static, false
Улучшенная работа со строками (str_contains, str_starts_with, str_ends_with) и другие. - Что такое XSS и как защититься от неё в PHP?
XSS (межсайтовый скриптинг) — внедрение вредоносного скрипта в веб-страницу. Защита: экранирование вывода с помощью htmlspecialchars(), использование Content Security Policy, фильтрация входных данных. - Как установить и получить куки в PHP?
Установка: setcookie('name', 'value', time()+3600, '/');. Получение: $_COOKIE['name']. Важно: куки отправляются в заголовках, поэтому вызов setcookie() должен быть до любого вывода HTML.
Страховка на собеседовании
Знание есть, но стресс мешает?
Бесплатное сообщество для прокачки карьеры в IT
Подпишись на https://t.me/IT_Interview_Partner_Bot
Подпишись на https://t.me/LyakhovEugene