fa
Feedback
PHP | Вопросы собесов

PHP | Вопросы собесов

رفتن به کانال در Telegram

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv

نمایش بیشتر
2 343
مشترکین
-324 ساعت
-77 روز
-2830 روز
آرشیو پست ها
Срочно требуются Веб-Дизайнеры в Figma. Обучим с нуля. Онлайн-программа с наставником и чатом. Осторожно! 80% практики. По результату обучения у вас будет портфолио из нескольких работ. Сертификат о прохождении курса. Возможность пройти полное обучение и получить гарантированное трудоустройство! Учитесь дизайну у профессионалов. Переходи по кнопки: "Узнать больше" и начинай свое обучение. Доступ 0 руб. Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🤔 Что такое внешний ключ? Внешний ключ (foreign key) – это понятие из области реляционных баз данных, которое помогает устанавливать связи между таблицами. 🚩Зачем нужен внешний ключ? 🟠Обеспечение целостности данных: Внешние ключи помогают гарантировать, что значения в столбце внешнего ключа всегда соответствуют значениям в первичном ключе другой таблицы. Это предотвращает создание "висячих" ссылок, когда запись в одной таблице ссылается на несуществующую запись в другой таблице. 🟠Упрощение управления связями между таблицами: Внешние ключи облегчают управление и обновление связанных данных. Например, если удалить запись в родительской таблице, можно настроить каскадное удаление связанных записей в дочерней таблице. 🚩Как используется внешний ключ? Внешний ключ создаётся при помощи SQL-запросов. Рассмотрим пример двух таблиц: orders (заказы) и customers (клиенты). Каждому заказу в таблице orders соответствует клиент в таблице customers.
-- Создание таблицы клиентов
CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(100)
);

-- Создание таблицы заказов с внешним ключом
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
customer_id в таблице orders является внешним ключом, который ссылается на customer_id в таблице customers. Это гарантирует, что каждое значение customer_id в таблице orders соответствует существующему customer_id в таблице customers. 🚩Каскадные действия Существует возможность настроить каскадные действия для внешних ключей. Например:
-- Создание таблицы заказов с каскадным удалением
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
    ON DELETE CASCADE
);
Ставь 👍 и забирай 📚 Базу знаний

Специальность «Интеллектуальный анализ данных» 🎓Открыт набор в Университет IThub 2025-2026! Программа бакалавриата «Прикладная информатика» Программа создана для будущих аналитиков данных и специалистов по машинному обучению, которые хотят работать с большими данными и искусственным интеллектом. Она идеально подойдет выпускникам колледжей, которые получили диплом по IT-специальности: разработке, программированию, информационной безопасности, системному администрированию. Программа сочетает актуальные знания в информатике и навыки работы с данными, что делает выпускников востребованными в IT-компаниях, банках, ритейле и других сферах, где нужен анализ данных. 📚Практические навыки + стажировки и 💰трудоустройство! ✅День открытых дверей 22 июня! Перейти на сайт #реклама 16+ univer.ithub.ru О рекламодателе

🤔 Что такое индекс? Индекс в контексте баз данных — это структура данных, которая улучшает скорость операций поиска/выборки данных, но может замедлить добавление, удаление и обновление данных из-за необходимости поддерживать индекс в актуальном состоянии.? Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Где мы делаем фильтрацию данных? Фильтрацию данных в PHP можно делать в нескольких местах в зависимости от контекста. Основные области фильтрации: 🚩Фильтрация входных данных Когда мы получаем данные от пользователя ($_GET, $_POST, $_REQUEST), важно очищать их от нежелательных значений.
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
Фильтрация массива $_POST через filter_var_array()
$filters = [
    'name'  => FILTER_SANITIZE_STRING,
    'email' => FILTER_VALIDATE_EMAIL,
    'age'   => FILTER_VALIDATE_INT
];
$filteredData = filter_var_array($_POST, $filters);
🚩Фильтрация перед сохранением в базу данных Перед вставкой в SQL важно удалять потенциально опасные символы, чтобы избежать SQL-инъекций.
$db = new PDO("mysql:host=localhost;dbname=test", "root", "password");
$stmt = $db->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute([
    ':name'  => htmlspecialchars($_POST['name']),
    ':email' => $_POST['email']
]);
🚩Фильтрация данных внутри кода Если данные поступают из разных источников, мы можем использовать фильтрующие функции PHP: Очистка строки от HTML
$cleanText = strip_tags("<h1>Hello</h1>"); // "Hello"
Удаление пробелов
$trimmed = trim("   example   "); // "example"
Приведение к числу
$number = filter_var("42abc", FILTER_SANITIZE_NUMBER_INT); // 42
🚩Фильтрация перед выводом (защита от XSS) Перед выводом в браузер очищаем данные от HTML/JS-кода, чтобы злоумышленник не внедрил скрипты.
echo htmlspecialchars("<script>alert('Hacked!')</script>"); 
// Выведет: &lt;script&gt;alert('Hacked!')&lt;/script&gt;
Ставь 👍 и забирай 📚 Базу знаний

Получите IT профессию с официальным ДОКУМЕНТОМ! Не просто курсы – а полноценное образование с дипломом о профессиональной пер
Получите IT профессию с официальным ДОКУМЕНТОМ! Не просто курсы – а полноценное образование с дипломом о профессиональной переподготовке или удостоверением о повышении квалификации, внесенным в Росреестр! Выбирайте направление: -Web-разработчик -Инженер MikroTik -Специалист по AI и машинному обучению -Сетевой инженер -Linux-администратор -Python-программист -DevOps-инженер -Администратор Windows Server -Специалист по слаботочным сетям (СКС) Ваши гарантии: ✅Законный документ о квалификации ✅Право на ведение профдеятельности ✅Весомое преимущество при трудоустройстве ✅Поддержка ментора ✅Дистанционное обучение Инвестируйте в будущее – получите не только знания, но и официальную профессию! Перейти на сайт #реклама 16+ dms-it.ru О рекламодателе

🤔 Что запрещает final? Модификатор final запрещает наследование класса, если он указан перед его объявлением. Если final используется для метода, он запрещает переопределение этого метода в дочерних классах. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Освойте профессию Системный аналитик с нуля за 7 месяцев Освойте высокооплачиваемую IT-профессию без программирования. Выдаём
Освойте профессию Системный аналитик с нуля за 7 месяцев Освойте высокооплачиваемую IT-профессию без программирования. Выдаём диплом, помогаем с трудоустройством. Excel, BPMN, UML, Python, SQL, API Преимущества обучения в Академии Eduson: 🎓 22 реальных бизнес-кейса 🎓 официальный государственный диплом 🎓 рассрочка 0% на 24 мес. 🎓 бессрочный доступ к лекциям и материалам, которые регулярно обновляются 🎓 личный куратор с Вами на связи Начните обучаться онлайн и получать доход уже во время обучения! Получить скидку #реклама 16+ mrqz.me О рекламодателе

🤔 Чем отличаются функции unset от unlink? Функции unset() и unlink() в PHP выполняют совершенно разные задачи, несмотря на похожие названия. 🟠`unset()` – удаление переменной unset() удаляет переменную из области видимости, но не освобождает память сразу.
$a = "Привет, мир!";
unset($a);
echo $a; // Ошибка: переменная не существует
🟠`unlink()` – удаление файла unlink() удаляет файл с диска.
$file = "example.txt";

if (file_exists($file)) {
    unlink($file); // Удаляет файл
    echo "Файл удалён";
} else {
    echo "Файл не найден";
}
Ставь 👍 и забирай 📚 Базу знаний

Высшее образование дистанционно в Московском ВУЗе Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низки
Высшее образование дистанционно в Московском ВУЗе Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низкие баллы? У нас есть решение для вас! Институт Международных Экономических Связей предлагает дистанционное обучение , которое позволяет получать качественные знания из любой точки мира по 10+ направлениям обучения. ✅ Государственный диплом без отметки о дистантеУдобный личный кабинет студентаПоддержка кураторов на каждом этапе обученияМожно поступить без ЕГЭ Узнать больше #реклама 16+ imes.su О рекламодателе

🤔 Что такое ACID? ACID — это акроним, обозначающий четыре ключевых свойства транзакций в базах данных: Atomicity (атомарность), Consistency (согласованность), Isolation (изоляция), Durability (устойчивость). Эти свойства гарантируют надежное выполнение транзакций.? Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Как грамотно управлять PIM-системой с помощью AI? Расскажут эксперты СберТеха на бесплатном вебинаре 19 июня в 11:00. 🗒 Вы п
Как грамотно управлять PIM-системой с помощью AI? Расскажут эксперты СберТеха на бесплатном вебинаре 19 июня в 11:00. 🗒 Вы познакомитесь с Platform V Product 360 — решением класса Product Information Management (PIM) для управления продуктовым каталогом и хранения маркетинговой информации. 🗒 Узнаете, как автоматически заполнять товарные карточки и ускорить подготовку маркетинговых описаний и продуктовых материалов как минимум вдвое. 🗒 Поговорим об основных возможностях и сценариях использования продукта. Обсудим, какие преимущества дает AI в PIM-системах. 🗒 Проведем демонстрацию и покажем встроенные AI-функции. Регистрируйтесь, всех ждем! Зарегистрироваться #реклама 16+ platformv.sbertech.ru О рекламодателе

🤔 Почему symfony а не yii larevel? Выбор между Symfony, Laravel и Yii зависит от множества факторов: сложности проекта, требований к производительности, удобства работы, документации и экосистемы. Давайте разберём, почему Symfony может быть предпочтительным вариантом. 🟠Гибкость и модульность (по сравнению с Laravel и Yii) Symfony не монолитный, он построен на компонентах, которые можно использовать по отдельности.
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;

$routes = new RouteCollection();
$routes->add('home', new Route('/home'));
🟠Производительность и масштабируемость Symfony изначально создавался с акцентом на производительность и расширяемость. 🟠Современная архитектура (чем Laravel и Yii хуже) Symfony следует чистой архитектуре SOLID и DDD (Domain-Driven Design). Что это даёт Чистый код (меньше "магии", как в Laravel). Удобное тестирование (Mock объектов, KernelTestCase). Поддержка CQRS, Event-Driven, Hexagonal Architecture.
class UserService {
    private UserRepository $repo;

    public function __construct(UserRepository $repo) {
        $this->repo = $repo;
    }

    public function createUser(string $email): User {
        return $this->repo->save(new User($email));
    }
}
🟠Корпоративные решения (где Laravel и Yii не подходят) Symfony часто используется в крупных проектах и государственных системах. 🟠Поддержка и сообщество Symfony поддерживается разработчиками из SensioLabs и сообществом Symfony. Laravel больше зависит от одного разработчика (Taylor Otwell). Yii меньше поддерживается и отстаёт в развитии. Ставь 👍 и забирай 📚 Базу знаний

Такси для бизнеса. Яндекс Go Оптимизируйте свои расходы и повысьте эффективность бизнеса с Яндекс Go Узнать больше #реклама b
Такси для бизнеса. Яндекс Go Оптимизируйте свои расходы и повысьте эффективность бизнеса с Яндекс Go Узнать больше #реклама business.go.yandex О рекламодателе Реклама на Яндексе

🤔 Что такое инкапсуляция? Инкапсуляция — это принцип ООП, при котором детали реализации скрыты от внешнего мира, предоставляя доступ к данным через методы. В PHP это реализуется с помощью модификаторов доступа (private, protected, public). Она обеспечивает безопасность данных и облегчает поддержку кода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое динамические переменные? Это переменные, имена которых определяются во время выполнения программы. Это позволяет создавать, модифицировать или обращаться к переменным динамически, основываясь на входных данных или условиях выполнения программы. Такой подход может быть полезен в сценариях, где структура данных неизвестна на момент написания кода или когда нужно генерировать переменные на лету в зависимости от контекста выполнения. 🚩PHP Имена переменных могут быть динамически сформированы с использованием переменных переменных
$name = "variable";
$$name = "Hello, World!";

echo $variable; // Выведет "Hello, World!"
Плюсы и минусы Гибкость позволяет создавать более адаптивные и динамические программы, которые могут работать с данными, структура которых заранее неизвестна. Удобство упрощает работу с большим количеством похожих переменных или свойств объекта без необходимости явного объявления каждой переменной. ➖Читаемость кода использование динамических переменных может сделать код менее понятным и труднее для отладки, поскольку не всегда ясно, какие переменные создаются и используются. ➖Управление памятью динамическое создание большого количества переменных может привести к неэффективному использованию памяти и снижению производительности. Ставь 👍 и забирай 📚 Базу знаний

Высшее образование дистанционно от 6700 ₽/мес. Поступи в Московский технологический институт в июне! — Высшее образование в м
Высшее образование дистанционно от 6700 ₽/мес. Поступи в Московский технологический институт в июне! — Высшее образование в московском вузе без выезда на сессии. — Полностью дистанционный онлайн-формат. — Обучайся дома, на работе, в путешествии. — Диплом государственного образца. — 73 направления и программы обучения. — Программа колледж + вуз без ЕГЭ. Скидка 10% на платное обучение при оплате за год. Подать заявку #реклама 16+ mti-vuz.ru О рекламодателе

🤔 Как устроен Git? Это распределенная система контроля версий, работающая на основе графа коммитов и хранения изменений через хеши (SHA-1). 1. Объектная модель: - Commit – снимок состояния проекта. - Tree – каталог файлов в коммите. - Blob – сами файлы (содержимое). 2. Система ссылок (HEAD, branches, tags). 3. Механизм staging (индексация изменений) перед коммитом. 4. Быстрая работа за счет хранения только изменений (deltas) и поддержки локального репозитория. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Подключите корпоративный ДМС в Совкомбанк Страхование Позаботьтесь о своей команде! ✨ ДМС от Совкомбанк Страхование – это решения под любой бюджет и потребности. 25 лет опыта, телемедицина, офисный врач и доступ к 10 000+ клиник по России. Сэкономьте до 30% с ДМС с франшизой и получите налоговые льготы. Собственная диспетчерская служба 24/7 всегда на связи. Здоровые сотрудники – успешный бизнес! Узнайте больше на сайте и оформите ДМС уже сегодня! 🏃‍♂️⚡ Перейти на сайт Финансовые услуги оказывает: ПАО "Совкомбанк", АО "Совкомбанк Страхование". #реклама sovcomins.ru О рекламодателе

🤔 Какое отличие у протоколов tcp и udp? Это два основных транспортных протокола в интернете. Они имеют разные характеристики и используются для различных целей. 🚩Основные отличия 🟠Надежность TCP: Обеспечивает надежную передачу данных. Он использует механизмы установления соединения, подтверждение получения (ACK), контроль потерь пакетов, повторную передачу потерянных пакетов и контроль потока. Это гарантирует, что данные будут доставлены корректно и в правильном порядке. UDP: Не обеспечивает надежную передачу данных. Нет подтверждений получения, нет повторной передачи потерянных пакетов и нет контроля потока. Это делает передачу менее надежной, но более быстрой и с меньшими накладными расходами. 🟠Установление соединения TCP: Перед началом передачи данных устанавливается соединение с помощью процедуры "трехстороннего рукопожатия" (three-way handshake). Это означает, что обе стороны сначала обмениваются сигналами SYN и ACK для установления соединения. UDP: Не требует установления соединения. Пакеты (датаграммы) просто отправляются к получателю без предварительного установления соединения. 🟠Порядок доставки TCP: Обеспечивает доставку данных в правильном порядке. Если пакеты приходят в неправильном порядке, TCP собирает их в правильном порядке перед передачей приложению. UDP: Не гарантирует порядок доставки. Пакеты могут приходить в произвольном порядке, и приложение должно обрабатывать их соответствующим образом, если это необходимо. 🟠Пропускная способность и задержки TCP: Из-за механизмов контроля потока и подтверждений имеет большие накладные расходы и, следовательно, может быть медленнее. Это особенно заметно на сетях с высокой задержкой или потерей пакетов. UDP: Из-за отсутствия контроля потока и подтверждений имеет меньшие накладные расходы, что может привести к меньшим задержкам и большей пропускной способности. Подходит для приложений, где важна скорость, а не надежность. 🟠Применение TCP: Используется для приложений, где важна надежность и порядок передачи данных, таких как веб-браузеры (HTTP/HTTPS), электронная почта (SMTP, IMAP, POP3), файловые передачи (FTP), удаленный доступ (SSH). UDP: Используется для приложений, где важна скорость и где потеря некоторых пакетов не критична, таких как потоковое видео и аудио (VoIP, IPTV), онлайн-игры, службы доменных имен (DNS). 🚩Примеры использования TCP
HTTP/HTTPS: Веб-серфинг
SMTP: Отправка электронной почты
IMAP/POP3: Получение электронной почты
FTP: Передача файлов
SSH: Безопасный удаленный доступ
UDP
DNS: Запросы доменных имен
VoIP: Передача голоса через IP
IPTV: Потоковое видео
Онлайн-игры: Быстрая передача данных игровой логики
NTP: Синхронизация времени
Ставь 👍 и забирай 📚 Базу знаний