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 доклада сделать, репетиторов оплатить, на кружки отвезти. И не забыть повоевать с гаджетами, потому что все свободное время ребенок залипает в ленту.
Как вовлечь ребенка в учебу, чтобы забыть про его домашки и отдохнуть после работы?
Пройдите короткий тест и мы подберем для вашего ребенка бесплатный онлайн курс по программированию.
Пройти тест на сайте.
Перейти на сайт
#реклама 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-, 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, заголовки и тело запроса (если необходимо). Ответ сервера включает статус выполнения, заголовки и данные (если применимо).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+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
Это последний шанс вписаться в самые выгодные условия.
👉 https://planeta.ru/campaigns/easyoffer
Ищешь высокооплачиваемые проекты? Попробуй SkillStaff
SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов, которым мало одного оклада. Здесь можно найти клиентов, выполнять их проекты и увеличивать свой доход.
- Проекты с гибким графиком: part time, full time, удаленка и гибрид
- Ставка за час работы — та, что ты сам выбрал
- Клиенты — ведущие бренды, проверенные с юридической точки зрения при регистрации на платформе
- Оплата поступает ежемесячно на расчетный счет исполнителя
- Удобный личный кабинет и функционал, автоматизирующий документооборот
Все, что нужно для работы — иметь статус самозанятого или ИП, а платформа поможет со всеми нюансами.
Регистрируйся прямо сейчас
Зарегистрироваться
#реклама 16+
skillstaff.ru
О рекламодателе
Repost from easyoffer
Финальный отсчёт:
3 часа до конца краудфандинга easyoffer 2.0!
Это не просто скидка. Это шанс поддержать проект, который поможет и вам и тысячам айтишников готовиться к собеседованиям быстрее, эффективнее и увереннее.
За последние недели:
💥 Нас поддержали уже больше 1450 человек;
🔥 Вместе собрали больше 4,5 млн. рублей на запуск проекта;
Но сейчас важнее другое.
⏳ Через 3 часа всё закончится.
– Больше не будет подписки за 3 200 руб. на целый год!
– Не будет шанса первыми воспользоваться EasyOffer 2.0 на бета-тестировании
Если вы:
+ Планируете менять работу в этом или следующем году;
+ Хотите иметь под рукой 40,000+ вопросов собеседований с разборами, видео-ответами и тренажёрами;
+ Хотите зафиксировать лучшую цену на целый год… (потом будет в 12 раз дороже)
👉 Тогда просто переходите и поддержите нас сейчас:
https://planeta.ru/campaigns/easyoffer
📢 Три часа — и всё.
Не откладывайте на потом.
Спасибо всем, кто уже с нами! 💙
🤔 Что такое замыкание?
Это функция, которая «захватывает» переменные из внешней области видимости, в которой она была создана.
1. Оно позволяет использовать внешние переменные даже после завершения их контекста.
2. Замыкания полезны для сохранения состояния и создания функций с заранее заданными параметрами.
3. Пример: функция, возвращающая другую функцию, которая использует переменные из замыкающего контекста.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
