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

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

Відкрити в Telegram

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

Показати більше
2 345
Підписники
+224 години
-27 днів
-2430 день
Архів дописів
🤔 Что такое блокировки и зачем они? Это механизм синхронизации доступа к данным, предотвращающий одновременное изменение записей. 1. Они используются для обеспечения целостности данных в многопользовательских системах. 2. Различают уровни блокировок: строковые, табличные и на уровне транзакций. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое ссылочная целостность связей? Ссылочная целостность (Referential Integrity) – это правило, которое гарантирует, что связи между таблицами остаются корректными. 🚩Пример в базе данных Допустим, у нас есть 2 таблицы: users (Пользователи) orders (Заказы) Связь: каждый заказ (orders) должен ссылаться на существующего пользователя (users) через user_id.
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    amount DECIMAL(10,2),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
🚩Как работает ссылочная целостность? Запрещает вставку "несуществующих" ссылок
INSERT INTO orders (id, user_id, amount) VALUES (1, 999, 100.00);
-- ❌ Ошибка! Пользователя с id = 999 нет в users
Запрещает удаление родительской записи, если есть зависимые
DELETE FROM users WHERE id = 1;
-- ❌ Ошибка! Есть заказы, которые ссылаются на пользователя id = 1
Автоматическое удаление связанных данных (ON DELETE CASCADE)
DELETE FROM users WHERE id = 1;
-- ✅ Все заказы с user_id = 1 тоже удалятся
🚩Способы управления ссылочной целостностью ON DELETE CASCADE → при удалении пользователя удаляются все его заказы. ON DELETE SET NULL → при удалении пользователя поле user_id в заказах становится NULL. ON DELETE RESTRICT → запрещает удалять пользователя, если у него есть заказы.
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL;
Ставь 👍 и забирай 📚 Базу знаний

Битрикс24 дропнул новую фичу — онлайн-доски Теперь к вашему рабочему мессенджеру, видеозвонкам и таскам добавился еще один маст-хэв инструмент. Все это бесплатно и в одном комплекте. Офисные стикеры, берегитесь.😊 Узнать больше #реклама 16+ bitrix24.ru О рекламодателе

🤔 Какие виды запросов есть? В PHP, при работе с базами данных, основные типы запросов — SELECT (извлечение данных), INSERT (добавление), UPDATE (изменение) и DELETE (удаление). Существуют также запросы для управления структурой базы данных, например, CREATE и ALTER TABLE. Более сложные операции включают JOIN для объединения данных из нескольких таблиц. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте бесплатно❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

🤔 Что такое поведение copy on right.? Это метод оптимизации памяти, используемый для увеличения эффективности. Когда несколько процессов или потоки обращаются к одному и тому же ресурсу (например, области памяти), создаётся одна копия ресурса, которая используется совместно до момента изменения. Если процесс хочет изменить ресурс, создаётся его собственная копия, чтобы сохранить изоляцию изменений. Пример: массив передаётся функции. Пока он не изменяется, память общая. При изменении создаётся отдельная копия массива. Применяется в PHP для управления объектами, массивами и значениями, особенно после версии PHP 5. Ставь 👍 и забирай 📚 Базу знаний

Родители, заметили, как время утекает? На себя не хватает, а надо еще детям 2 презентации и 3 доклада сделать, репетиторов оп
Родители, заметили, как время утекает? На себя не хватает, а надо еще детям 2 презентации и 3 доклада сделать, репетиторов оплатить, на кружки отвезти. И не забыть повоевать с гаджетами, потому что все свободное время ребенок залипает в ленту. Как вовлечь ребенка в учебу, чтобы забыть про его домашки и отдохнуть после работы? Пройдите короткий тест и мы подберем для вашего ребенка бесплатный онлайн курс по программированию. Пройти тест на сайте. Перейти на сайт #реклама 16+ kodland.org О рекламодателе

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

10 сервисов для команд в подписке VK WorkSpace Хотите эффективно управлять коммуникациями в команде? С VK WorkSpace вы получите надежную почту на домене, облачное хранилище и инструменты для совместной работы. Настраивайте процессы, делитесь файлами и общайтесь с командой в режиме "одного окна". Повышайте продуктивность и экономьте время и деньги (стоимость подписки в пересчете на одного человека - всего от 159 руб в месяц). Попробуйте прямо сейчас и откройте новые возможности для вашего бизнеса! Зарегистрироваться #реклама 16+ biz.mail.ru О рекламодателе

🤔 Чем HTTP первой версии отличается от второй? HTTP/1.1 и HTTP/2 — это две версии протокола передачи гипертекста (HTTP), которые имеют ряд ключевых отличий. Каждая версия протокола внесла значительные улучшения в эффективность, производительность и возможности веб-коммуникации. 🚩HTTP/1.1 🟠Постоянные соединения По умолчанию соединения остаются открытыми после завершения запроса, что позволяет отправлять несколько запросов по одному соединению и уменьшает нагрузку на сеть и серверы. 🟠Кэширование Введены более сложные механизмы кэширования с использованием заголовков ETag, If-Modified-Since, что улучшает управление кэшем и эффективность передачи данных. 🟠Коды состояния HTTP Добавлены новые коды состояния для более точного представления различных сценариев веб-взаимодействия. 🟠Чанковая передача данных Поддержка передачи данных в частях (chunks), что позволяет динамически генерировать содержимое и отправлять его по мере готовности. 🟠Хосты и виртуальные хосты Поддержка заголовка Host, позволяющего размещать несколько доменов на одном IP-адресе. 🚩HTTP/2 🟠Бинарный протокол В отличие от текстового HTTP/1.1, HTTP/2 использует бинарный формат, который упрощает и ускоряет его разбор. 🟠Мультиплексирование Одно соединение теперь может одновременно передавать несколько потоков данных, что устраняет проблему "заголовочного блока" и значительно повышает производительность. 🟠Управление потоками HTTP/2 позволяет приоритизировать запросы, что улучшает загрузку ресурсов на странице. 🟠Сжатие заголовков В HTTP/2 используется сжатие заголовков HPACK для уменьшения накладных расходов, связанных с метаданными HTTP. 🟠Server Push Серверы могут активно отправлять ресурсы клиенту до того, как клиент явно запросит их, что улучшает время загрузки страниц. Ставь 👍 и забирай 📚 Базу знаний

Почему бизнес выбирает Публичное облако РТК-ЦОД? Публичное облако 2.0 — надежная и технологичная облачная платформа с IaaS-,
Почему бизнес выбирает Публичное облако РТК-ЦОД? Публичное облако 2.0 — надежная и технологичная облачная платформа с IaaS-, PaaS- и SaaS-решениями для устойчивой цифровизации бизнеса. Ключевые особенности: ✅Решения для высоконагруженных систем, аналитики, Big Data и AI/ML — включая bare metal-серверы с GPU. ✅Высокие стандарты безопасности: соответствие требованиям ФЗ-152, PCI DSS и др. ✅Точки присутствия в пяти федеральных округах: Центральный, СЗФО, Урал, Сибирь, Дальний Восток. ✅ Экспертная команда: сопровождаем размещение и помогаем в эксплуатации информационных систем. Переход в облако - легко: Бесплатно, быстро и безопасно перенесем вашу инфраструктуру. Попробуйте – www.cloud.rt.ru Узнать больше #реклама 16+ cloud.rt.ru О рекламодателе

🤔 Что из себя представляет http-запрос? HTTP-запрос — это сообщение, которое клиент отправляет серверу для выполнения определённой операции, например получения данных (GET) или их отправки (POST). Запрос содержит метод, URL, заголовки и тело запроса (если необходимо). Ответ сервера включает статус выполнения, заголовки и данные (если применимо). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Почему вы не используете Битрикс24 CRM с AI? 1- не знал 2- забыл Рассказываем и напоминаем! ✅Битрикс24 CRM с AI помогает увел
+5
Почему вы не используете Битрикс24 CRM с AI? 1- не знал 2- забыл Рассказываем и напоминаем! ✅Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM. Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера. ⚡Не тратьте время на рутину. Узнать больше #реклама 16+ bitrix24.ru О рекламодателе

🤔 Как сделать так, чтобы сессии не хранились в файле? Для хранения сессий не в файлах в PHP, можно использовать другие механизмы хранения, такие как базы данных, кэш-сервисы (например, Redis или Memcached) или специализированные хранилища. 🚩Хранение сессий в базе данных 1⃣Создайте таблицу для хранения сессий:
CREATE TABLE sessions (
    id VARCHAR(255) PRIMARY KEY,
    data TEXT,
    last_access TIMESTAMP
);
2⃣Создайте обработчики сессий: Создайте класс для обработки сессий, реализующий интерфейс SessionHandlerInterface.
class DBSessionHandler implements SessionHandlerInterface {
    private $pdo;

    public function __construct(PDO $pdo) {
        $this->pdo = $pdo;
    }

    public function open($savePath, $sessionName) {
        return true;
    }

    public function close() {
        return true;
    }

    public function read($id) {
        $stmt = $this->pdo->prepare("SELECT data FROM sessions WHERE id = :id");
        $stmt->bindParam(':id', $id);
        $stmt->execute();
        $session = $stmt->fetch(PDO::FETCH_ASSOC);
        return $session ? $session['data'] : '';
    }

    public function write($id, $data) {
        $stmt = $this->pdo->prepare("REPLACE INTO sessions (id, data, last_access) VALUES (:id, :data, NOW())");
        $stmt->bindParam(':id', $id);
        $stmt->bindParam(':data', $data);
        return $stmt->execute();
    }

    public function destroy($id) {
        $stmt = $this->pdo->prepare("DELETE FROM sessions WHERE id = :id");
        $stmt->bindParam(':id', $id);
        return $stmt->execute();
    }

    public function gc($maxlifetime) {
        $stmt = $this->pdo->prepare("DELETE FROM sessions WHERE last_access < NOW() - INTERVAL :maxlifetime SECOND");
        $stmt->bindParam(':maxlifetime', $maxlifetime, PDO::PARAM_INT);
        return $stmt->execute();
    }
}
3⃣Инициализация сессий:
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
$handler = new DBSessionHandler($pdo);
session_set_save_handler($handler, true);
session_start();
🚩Хранение сессий в Redis 1⃣Установите расширение `phpredis`Для Ubuntu:
sudo apt-get install php-redis
2⃣Используйте Redis для хранения сессий: Настройте PHP для использования Redis в качестве хранилища сессий, добавив настройки в файл php.ini или в коде.
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
Ставь 👍 и забирай 📚 Базу знаний

Repost from Идущий к IT
Я смотрю на эту цифру и до сих пор не верю. Когда я запускал этот проект, мне реально было страшно. Страшно, что ничего не по
Я смотрю на эту цифру и до сих пор не верю. Когда я запускал этот проект, мне реально было страшно. Страшно, что ничего не получится. Что я и мой проект никому не нужен. Страшно, что все увидят, как я публично обосрался. Я ставил планку в 300т рублей. В самом позитивном сценарии 1млн. Но про 5 миллионов… даже мысли не было. Уже в первые часы стало понятно, что кампания идет не по плану. Сайт краудфандинга не выдержал нашей нагрузки и лег 😁 Особенно в последние три дня — просто какой-то разрыв! Я ощущал, как будто ловлю попутный ветер. В последний час не хватало 50к до 5 млн, и я уже думал сам их докинуть, чтобы красиво закрыть 😁 Но финальная сумма это не так важно. Самое главное это как мы её собрали. Это не инвестиции, не чьи-то деньги под условия и контроль, не кредит. Это вы поверили и поддержали меня напрямую. Вы дали мне возможность оставить за собой полный контроль над easyoffer. Я чувствую огромную ответственность и нервничаю из-за высоких ожиданий. А вдруг что-то пойдёт не так? А вдруг на релизе кому-то что-то не понравится? Именно поэтому я рад, что могу честно выйти на новый этап и без давления от левых инвесторов. В такие моменты вспоминаю, с чего всё начиналось. Как 2 года назад я писал свои первые посты на 500 человек о том, как учу программирование. Как записывал первое видео на YouTube про поиск работы. Как пилил первую версию easyoffer, вообще без понимания, что из этого выйдет. И сейчас я думаю — может, эта история вдохновит кого-то из вас. Может, кто-то запустит свой айтишный проект, найдёт поддержку и соберёт бабки на развитие. Было бы круто Спасибо за невероятную и колосальную поддержку ❤️ О такой аудитории как вы я не мог мечтать

ИИ + Тайм-менеджмент = Будущее продуктивности Хотите знать, как ИИ может оптимизировать работу вашей команды? В Таймлист ИИ мы делимся: ⚡ Свежими новостями из мира ИИ для бизнеса ⚡ Лайфхаками по тайм-менеджменту для команд 💻 Обновлениями и фичами Таймлист ИИ Управляйте временем с ИИ и увеличивайте эффективность! Подписаться #реклама 16+ tgryx.ru О рекламодателе

Repost from easyoffer
🚨 60 минут до финала Через час мы закроем краудфандинг easyoffer 2.0 Это последний шанс вписаться в самые выгодные условия.
🚨 60 минут до финала Через час мы закроем краудфандинг easyoffer 2.0 Это последний шанс вписаться в самые выгодные условия. 👉 https://planeta.ru/campaigns/easyoffer

Ищешь высокооплачиваемые проекты? Попробуй SkillStaff SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов,
Ищешь высокооплачиваемые проекты? Попробуй SkillStaff SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов, которым мало одного оклада. Здесь можно найти клиентов, выполнять их проекты и увеличивать свой доход. - Проекты с гибким графиком: part time, full time, удаленка и гибрид - Ставка за час работы — та, что ты сам выбрал - Клиенты — ведущие бренды, проверенные с юридической точки зрения при регистрации на платформе - Оплата поступает ежемесячно на расчетный счет исполнителя - Удобный личный кабинет и функционал, автоматизирующий документооборот Все, что нужно для работы — иметь статус самозанятого или ИП, а платформа поможет со всеми нюансами. Регистрируйся прямо сейчас Зарегистрироваться #реклама 16+ skillstaff.ru О рекламодателе

Repost from easyoffer
Финальный отсчёт: 3 часа до конца краудфандинга easyoffer 2.0! Это не просто скидка. Это шанс поддержать проект, который помо
Финальный отсчёт: 3 часа до конца краудфандинга easyoffer 2.0! Это не просто скидка. Это шанс поддержать проект, который поможет и вам и тысячам айтишников готовиться к собеседованиям быстрее, эффективнее и увереннее. За последние недели: 💥 Нас поддержали уже больше 1450 человек; 🔥 Вместе собрали больше 4,5 млн. рублей на запуск проекта; Но сейчас важнее другое. ⏳ Через 3 часа всё закончится. – Больше не будет подписки за 3 200 руб. на целый год! – Не будет шанса первыми воспользоваться EasyOffer 2.0 на бета-тестировании Если вы: + Планируете менять работу в этом или следующем году; + Хотите иметь под рукой 40,000+ вопросов собеседований с разборами, видео-ответами и тренажёрами; + Хотите зафиксировать лучшую цену на целый год… (потом будет в 12 раз дороже) 👉 Тогда просто переходите и поддержите нас сейчас: https://planeta.ru/campaigns/easyoffer 📢 Три часа — и всё. Не откладывайте на потом. Спасибо всем, кто уже с нами! 💙

🤔 Что такое замыкание? Это функция, которая «захватывает» переменные из внешней области видимости, в которой она была создана. 1. Оно позволяет использовать внешние переменные даже после завершения их контекста. 2. Замыкания полезны для сохранения состояния и создания функций с заранее заданными параметрами. 3. Пример: функция, возвращающая другую функцию, которая использует переменные из замыкающего контекста. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний