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

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

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

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

نمایش بیشتر
2 343
مشترکین
-324 ساعت
-77 روز
-2830 روز
آرشیو پست ها
🤔 Какие типы ORM есть? Основные подходы к ORM (Object-Relational Mapping): 1. Active Record - Модель = объект + логика работы с БД. - Пример: Laravel Eloquent, Ruby on Rails. 2. Data Mapper - Объекты и бизнес-логика отделены от работы с БД. - Пример: Doctrine (Symfony), Hibernate (Java). 3. Query Builder / Fluent ORM - Менее формальный ORM, без полной объектной обвязки. - Пример: Laravel Query Builder, Knex.js. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Гайд по эффективным онлайн-встречам для корп. тренеров Как корпоративным тренерам и методистам повышать вовлеченность и резул
Гайд по эффективным онлайн-встречам для корп. тренеров Как корпоративным тренерам и методистам повышать вовлеченность и результативность обучения сотрудников? Гайд МТС Линк — чек-листы, кейсы и подходы для улучшения корпоративного обучения с помощью онлайн-встреч и интерактивных досок. ✅ В гайде: - Как создать постоянную ссылку на синки и тренинги с коллегами и подключаться в 2 клика; - Как повысить процент успешно завершивших обучение с помощью онлайн-досок; - Как вовлекать в обучение даже самых пассивных коллег; - Как автоматизировать проверку знаний после курса; - Как организовать тренинг так, чтобы участники действительно подключились и дошли до финального модуля. Бонус внутри: 5 способов не выгореть от бесконечных синков. ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе

🤔 Что такое метрики? Это количественные показатели, используемые для оценки, мониторинга и улучшения различных аспектов работы систем, процессов и проектов. Они предоставляют объективные данные, которые помогают принимать обоснованные решения и улучшать эффективность и качество работы. 🚩Зачем нужны метрики 🟠Измерение производительности Метрики позволяют оценивать, насколько эффективно работают системы или процессы. Например, метрики производительности могут показать, сколько запросов обрабатывается сервером в секунду или как быстро выполняются алгоритмы. 🟠Мониторинг и контроль Постоянный мониторинг метрик помогает выявлять проблемы на ранних стадиях. Например, мониторинг времени отклика сервера позволяет обнаружить ухудшение производительности до того, как это повлияет на пользователей. 🟠Принятие решений Объективные данные, предоставляемые метриками, помогают принимать обоснованные решения по улучшению процессов, распределению ресурсов и планированию. Например, данные о загрузке серверов могут помочь определить, когда нужно добавить новые ресурсы. 🟠Улучшение качества Метрики качества позволяют оценивать, насколько хорошо продукт или процесс соответствует установленным стандартам и требованиям. Например, метрики кода, такие как количество ошибок или покрытие тестами, помогают улучшать качество программного обеспечения. 🟠Управление проектами В проектном управлении метрики помогают следить за прогрессом, оценивать риски и управлять ресурсами. Например, метрики времени и затрат помогают следить за выполнением проекта в рамках бюджета и сроков. 🚩Примеры метрик 🟠Метрики производительности Время отклика (Response Time): Время, за которое система обрабатывает запрос. Пропускная способность (Throughput): Количество запросов, обработанных системой за единицу времени. Время простоя (Downtime): Время, в течение которого система недоступна. 🟠Метрики качества программного обеспечения Покрытие тестами (Test Coverage): Процент кода, покрытого автоматизированными тестами. Количество ошибок (Bug Count): Количество ошибок, обнаруженных в программном обеспечении. Плотность дефектов (Defect Density): Количество ошибок на единицу кода (например, на 1000 строк кода). 🟠Метрики управления проектами Завершение задач (Task Completion): Процент выполненных задач от общего количества задач в проекте. Отклонение от плана (Schedule Variance): Разница между планируемым и фактическим временем выполнения задач. Затраты (Cost): Фактические затраты по сравнению с запланированными затратами. 🚩Применение метрик 🟠В разработке программного обеспечения CI/CD: Метрики сборок и развертываний помогают отслеживать стабильность и скорость релизов. Анализ кода: Метрики сложности кода, дублирования и покрытия тестами помогают улучшать качество и поддерживаемость кода. 🟠В бизнесе и управлении KPI (Key Performance Indicators): Ключевые показатели эффективности помогают оценивать успехи бизнеса или отдельных процессов. OKR (Objectives and Key Results): Цели и ключевые результаты помогают ставить и достигать стратегические цели. 🟠В IT-инфраструктуре Мониторинг серверов: Метрики использования CPU, памяти, дискового пространства помогают поддерживать высокую производительность и доступность серверов. Безопасность: Метрики инцидентов безопасности, обнаружения уязвимостей и реагирования на угрозы помогают обеспечивать защиту данных и систем. Ставь 👍 и забирай 📚 Базу знаний

Repost from easyoffer
🎉 easyoffer 2.0 — релиз уже в этом месяце! Вас ждут новые фичи, о которых мы ранее даже не упоминали. Они сделают путь к офф
🎉 easyoffer 2.0 — релиз уже в этом месяце! Вас ждут новые фичи, о которых мы ранее даже не упоминали. Они сделают путь к офферам ещё быстрее и эффективнее. Расскажу о них чуть позже 👀 В честь запуска мы готовим ограниченную акцию: Первые 500 покупателей получат: 🚀 PRO тариф на 1 год с 50% скидкой Что нужно сделать: 🔔 Подпишитесь на этот Telegram-канал, чтобы первыми узнать о старте релиза. Сообщение появится в нем раньше, чем где-либо еще — вы успеете попасть в число первых 500 и получить максимальную выгоду. 🎁 А еще только для подписчиков канала ценный бонус в подарок к PRO тарифу. 📅 Официальный запуск — уже совсем скоро. Следите за новостями и не пропустите старт!

🤔 Сколькими способами можно создать ветку в Git? Создать ветку в Git можно: 1. Командой git branch <имя> – создаст новую ветку. 2. git checkout -b <имя> – создаст и сразу переключится. 3. git switch -c <имя> – альтернатива checkout. 4. В графических интерфейсах (GitKraken, SourceTree) – создание через UI. 5. В удаленном репозитории (GitHub, GitLab) – через web-интерфейс Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 По чему WHERE AVG считает в среднем? В SQL, когда мы используем AVG(), мы рассчитываем среднее значение по множеству строк. Но WHERE фильтрует отдельные строки, а не группы данных. Проблема
SELECT * FROM products WHERE AVG(price) > 100; -- ❌ Ошибка!
🚩Как правильно использовать `AVG()` в фильтрах? Использовать HAVING вместо WHERE (если есть GROUP BY)
SELECT category, AVG(price) as avg_price 
FROM products 
GROUP BY category 
HAVING AVG(price) > 100;
Использовать подзапрос (SUBQUERY) в WHERE
SELECT * FROM products 
WHERE price > (SELECT AVG(price) FROM products);
Ставь 👍 и забирай 📚 Базу знаний

ИИ помогает продавать больше Битрикс24 CRM с искусственным интеллектом упрощает работу отдела продаж. ИИ расшифровывает запис
ИИ помогает продавать больше Битрикс24 CRM с искусственным интеллектом упрощает работу отдела продаж. ИИ расшифровывает записи звонков клиентам и сам заполняет карточку сделки. Менеджер в это время уже звонит следующему клиенту. Попробуйте умную CRM Попробовать #реклама 16+ bitrix24.ru О рекламодателе

🤔 Имеет ли значение регистр заголовка? Нет, не имеет. В HTTP заголовки регистронезависимы. Например, Content-Type, content-type, CONTENT-TYPE — это одно и то же. Но значения заголовков могут быть чувствительны к регистру — зависит от конкретного поля. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Получи грант до 1,2 млн руб. на обучение в магистратуре 4 офлайн программы, онлайн-магистратура по ML. Гранты до 1,2 млн руб.
Получи грант до 1,2 млн руб. на обучение в магистратуре 4 офлайн программы, онлайн-магистратура по ML. Гранты до 1,2 млн руб. Стажировки, диплом гос. образца и фокус на твоей карьере в ЦУ Подать заявку #реклама 16+ apply.centraluniversity.ru О рекламодателе

🤔 Что такое вертикальное и масштабирование в БД? Это два метода повышения производительности и пропускной способности баз данных. 🚩Вертикальное масштабирование (Vertical Scaling) Вертикальное масштабирование, также известное как масштабирование "вверх" (scale up), предполагает улучшение производительности базы данных за счет увеличения ресурсов на одном сервере. Это может включать: Добавление большего объема оперативной памяти (RAM), Увеличение мощности процессора (CPU), Увеличение объема хранилища (SSD или HDD), Использование более быстрого сетевого оборудования 🟠Плюсы и минусыПростота реализации Легко выполнить, поскольку не требует изменения архитектуры приложения. ➕Единая точка управления Администрирование базы данных проще, так как все данные находятся на одном сервере. ➖Ограничения оборудования Есть пределы, до которых можно увеличивать ресурсы на одном сервере. ➖Единая точка отказа Если сервер выходит из строя, вся база данных становится недоступной. 🟠Пример Допустим, у вас есть сервер с 16 ГБ оперативной памяти и 4-ядерным процессором. Вертикальное масштабирование может включать замену его на сервер с 64 ГБ оперативной памяти и 16-ядерным процессором. Ставь 👍 и забирай 📚 Базу знаний

Открыт прием документов в магистратуру ЕУСПб Можно подать документы на одно или несколько направлений: - антропологию - историю - историю искусств - музейное дело - социологию - филологию - философию - экономику - прикладную информатику Горячая линия для абитуриентов 8 804 700 64 94 Ждем в Европейском❤️ Узнать больше #реклама 16+ priem.eusp.org О рекламодателе

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

Онлайн-магистратура с IT специальностями от Яндекса Совместно с ИТМО, МИФИ, МФТИ. Онлайн-магистратура с актуальными программами и гибким графиком обучения. Получите высокооплачиваемую IT профессию, официальный диплом и практические знания. Господдержка оплаты. Совмещение с работой! Подать заявку #реклама 16+ practicum.yandex.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 Серверы могут активно отправлять ресурсы клиенту до того, как клиент явно запросит их, что улучшает время загрузки страниц. Ставь 👍 и забирай 📚 Базу знаний

Салон подержанных авто в Томске, 3000 моделей в наличии! Автомобили с пробегом по специальной цене со скидкой до 150 000₽. Ку
Салон подержанных авто в Томске, 3000 моделей в наличии! Автомобили с пробегом по специальной цене со скидкой до 150 000₽. Купите машину в кредит на выгодных условиях и получите шины в подарок!👍 Надежный автоцентр. Огромный выбор Б/У авто под любой бюджет. Бонусы при покупке: — Льготные программы — Техническая гарантия 1 год — Сервисное обслуживание — Одобрение автокредита за 1 час — Кредит до 7 лет без переплат ⚡ Первоначальный взнос от 10%. 14 банков - партнёров. Низкая ставка. Нужны только паспорт и водительское удостоверение. Подберите свой автомобиль на сайте уже сегодня! Перейти на сайт Изучите все условия кредита (займа) на сайте в соответствующем разделе. Оценивайте свои финансовые возможности и риски. Финансовые услуги оказывает: АО "Альфа-Банк". #реклама tomsk.autocred1.ru О рекламодателе

🤔 Что известно про фабрики? Это порождающий паттерн, создающий объекты без явного указания их класса. 1. Simple Factory: один метод создаёт разные объекты. 2. Factory Method: делегирует создание объектов подклассам. 3. Abstract Factory: создаёт семейства связанных объектов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 В чем заключается обработка ошибок и исключений? Обработка ошибок в PHP – это механизм, который помогает находить, интерпретировать и корректно реагировать на ошибки во время выполнения программы. Для этого в PHP используются два подхода: Традиционные ошибки (error_reporting, set_error_handler) *Исключения (try-catch, throw) 🟠Традиционная обработка ошибок PHP изначально использовал механизм ошибок, которые делятся на несколько типов: E_ERROR – фатальная ошибка, завершает выполнение скрипта. E_WARNING – предупреждение, но скрипт продолжает выполняться. E_NOTICE – уведомление о потенциальной проблеме.
echo $undefined_var; // E_NOTICE: Undefined variable
🚩Способы обработки ошибок 🟠error_reporting() – управление уровнем ошибок Функция error_reporting() позволяет включать или выключать определённые типы ошибок.
error_reporting(E_ALL & ~E_NOTICE); // Показывать все ошибки, кроме E_NOTICE
🟠set_error_handler() – создание пользовательского обработчика ошибок Можно задать свою функцию, которая будет реагировать на ошибки.
function myErrorHandler($errno, $errstr, $errfile, $errline) {
    echo "Ошибка [$errno]: $errstr в файле $errfile на строке $errline";
}
set_error_handler("myErrorHandler");

// Вызовем ошибку
echo 10 / 0; // Division by zero (E_WARNING)
🟠error_log() – запись ошибок в файл Ошибки можно не выводить на экран, а записывать в файл.
error_log("Ошибка: что-то пошло не так!", 3, "errors.log");
🚩Исключения (`try-catch`) С версии PHP 5 появился механизм исключений, который более удобен и структурирован. Исключения позволяют: Перехватывать ошибки и управлять их обработкой. Использовать вложенные блоки try-catch для детальной обработки. Создавать собственные классы исключений.
try {
    if (!file_exists("somefile.txt")) {
        throw new Exception("Файл не найден");
    }
} catch (Exception $e) {
    echo "Ошибка: " . $e->getMessage();
}
🟠Классы исключений PHP позволяет использовать предопределённый класс Exception, а также создавать свои.
class MyException extends Exception {}

try {
    throw new MyException("Это моя ошибка");
} catch (MyException $e) {
    echo "Поймано исключение: " . $e->getMessage();
}
🟠Блок `finally` Используется для выполнения кода в любом случае – независимо от того, было исключение или нет.
try {
    echo "Попытка выполнить код\n";
} catch (Exception $e) {
    echo "Ошибка поймана\n";
} finally {
    echo "Этот код выполнится в любом случае\n";
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что известно о MVC? Это архитектурный шаблон, который разделяет приложение на три компонента: 1. Model: управляет данными и бизнес-логикой. 2. View: отвечает за отображение данных пользователю. 3. Controller: обрабатывает пользовательский ввод, связывает Model и View. Это разделение упрощает разработку, тестирование и поддержку приложения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Для чего важна передача данных в РНР? Передача данных в PHP играет ключевую роль, потому что большинство веб-приложений работают с вводом и выводом данных. 🚩Основные способы передачи данных в PHP 🟠Передача данных через `GET` (в URL) Когда использовать: когда данные не секретные и нужно поделиться ссылкой.
// URL: example.com/page.php?name=Alice&age=25
echo $_GET['name']; // Alice
echo $_GET['age'];  // 25
🟠Передача данных через `POST` (скрыто, чаще через формы) Когда использовать: если данные конфиденциальные или большие (файлы, формы).
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    echo $_POST['username'];
}
🟠Передача данных через `SESSION` (сохраняются между страницами) Когда использовать: если нужно запомнить данные пользователя между запросами.
session_start();
$_SESSION['user'] = "Alice"; // Сохраняем данные

echo $_SESSION['user']; // Alice
🟠Передача данных через `COOKIE` (сохраняются в браузере) Когда использовать: если данные должны храниться даже после закрытия браузера.
setcookie("user", "Alice", time() + 3600); // Кука на 1 час
echo $_COOKIE['user']; // Alice
🟠Передача данных в API (JSON, `php://input`) Когда использовать: если PHP получает данные от другого сервиса (например, мобильного приложения или JavaScript).
$data = json_decode(file_get_contents("php://input"), true);
echo $data['name'];
Ставь 👍 и забирай 📚 Базу знаний