PHP | Вопросы собесов
Відкрити в Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv
Показати більше2 345
Підписники
+124 години
-47 днів
-2630 день
Архів дописів
Высшее образование дистанционно в Московском ВУЗе
Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низкие баллы? У нас есть решение для вас!
Институт Международных Экономических Связей предлагает дистанционное обучение , которое позволяет получать качественные знания из любой точки мира по 10+ направлениям обучения.
✅ Государственный диплом без отметки о дистанте
✅ Удобный личный кабинет студента
✅ Поддержка кураторов на каждом этапе обучения
✅ Можно поступить без ЕГЭ
Узнать больше
#реклама 16+
imes.su
О рекламодателе
🤔 Для чего используется индексация и что это такое?
Индексация — это механизм в базах данных, который ускоряет поиск данных в таблицах. Индекс работает как оглавление книги: вместо того чтобы просматривать всю таблицу, база находит нужные данные по индексу.
🚩Зачем нужна индексация?
Ускоряет поиск (
SELECT) – база данных быстрее находит нужные строки.
Ускоряет сортировку (ORDER BY) – индексы помогают быстрее упорядочивать данные.
Оптимизирует соединения таблиц (JOIN).
Замедляют операции INSERT, UPDATE, DELETE (так как индекс тоже нужно обновлять).
Индексы занимают дополнительное место в памяти.
🚩Пример индекса в SQL
1⃣Создание индекса
CREATE INDEX idx_users_name ON users(name);
Теперь поиск по name будет быстрее
SELECT * FROM users WHERE name = 'Alice';
🚩Типы индексов
🟠Обычный (B-Tree) индекс
Основной вид индекса, который ускоряет поиск по WHERE.
CREATE INDEX idx_name ON users(name);
🟠UNIQUE-индекс
Гарантирует, что значения в колонке не будут повторяться.
CREATE UNIQUE INDEX idx_email ON users(email);
🟠FULLTEXT-индекс
Используется для быстрого поиска по тексту.
CREATE FULLTEXT INDEX idx_text ON articles(content);
🟠Composite (Составной) индекс
Индекс сразу на несколько колонок (например, name + age).
CREATE INDEX idx_name_age ON users(name, age);
Ставь 👍 и забирай 📚 Базу знанийПолучи грант до 1,2 млн руб. на обучение в магистратуре
Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практикой?
Поступай в магистратуру Центрального университета!
- 4 офлайн программы по востребованным направлениям ИТ
- Онлайн-программа по машинному обучению
- 300 мест с грантами до 1,2 млн руб.
- Вечерние занятия и учеба по выходным — удобно совмещать с работой
- Обучение по модели STEM-образования: на стыке науки, технологий и бизнеса
- Возможность стажировок и трудоустройства в ведущих компаниях
- Государственный диплом за 2 года
Магистратура в Центральном университете — это современный подход к образованию, сильный преподавательский состав и актуальные кейсы от индустрии.
Оставляй заявку на грант уже сейчас!
Подать заявку
#реклама 16+
apply.centraluniversity.ru
О рекламодателе
🤔 Что такое middleware?
Middleware в PHP — это компонент, который обрабатывает HTTP-запросы и ответы на пути между сервером и конечной точкой. Каждый middleware может модифицировать запрос, ответ или остановить выполнение цепочки, отправив ответ напрямую. Они используются для выполнения задач, таких как аутентификация, логирование, обработка ошибок и кэширование. Middleware широко применяется в современных фреймворках, таких как Laravel, для разделения логики обработки запросов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+5
Почему вы не используете Битрикс24 CRM с AI?
1- не знал
2- забыл
Рассказываем и напоминаем!
✅Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM.
Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера.
⚡Не тратьте время на рутину.
Узнать больше
#реклама 16+
bitrix24.ru
О рекламодателе
🤔 Какие могут быть проблемы от Join'а?
Использование
JOIN в SQL может привести к нескольким проблемам, особенно при работе с большими таблицами. Рассмотрим основные из них.
🟠Производительность (нагрузка на БД)
Чем больше данных соединяется, тем больше ресурсов требуется.
Проблема: JOIN создаёт временную таблицу в памяти, что замедляет запрос. Если нет индексов, соединение идёт через полный перебор (Nested Loop Join), что очень медленно.
Решение:
Добавить индексы на поля, по которым идёт соединение.
Использовать EXPLAIN для анализа запроса.
EXPLAIN SELECT * FROM users JOIN orders ON users.id = orders.user_id;
🟠Дублирование строк (Картезианское произведение)
Если используется JOIN, но нет условия соединения (ON), запрос создаст все возможные комбинации строк.
Проблема:
SELECT * FROM users, orders;
Решение
Всегда указывать ON или USING:
SELECT * FROM users JOIN orders ON users.id = orders.user_id;
🟠Потеря данных при `INNER JOIN`
INNER JOIN возвращает только совпадающие строки, из-за чего можно потерять данные.
Проблема
SELECT users.id, users.name, orders.id AS order_id
FROM users
INNER JOIN orders ON users.id = orders.user_id;
Решение: Использовать LEFT JOIN, если нужны все пользователи, даже без заказов:
SELECT users.id, users.name, orders.id AS order_id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
🟠Медленный `JOIN` на `TEXT` или `VARCHAR`
JOIN по строковым полям (VARCHAR, TEXT) работает медленнее, чем по числовым (INT).
Проблема
SELECT * FROM users JOIN orders ON users.email = orders.email;
🟠Несовместимость типов данных
Если соединяются таблицы с разными типами данных (INT vs VARCHAR), может быть скрытое приведение типов, которое замедляет запрос.
Проблема
SELECT * FROM users
JOIN orders ON users.id = orders.user_id;
Решение
- Убедиться, что типы данных совпадают (INT = INT).
- Привести к нужному типу:
SELECT * FROM users
JOIN orders ON users.id = CAST(orders.user_id AS INT);
Ставь 👍 и забирай 📚 Базу знанийДарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте бесплатно❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
🤔 Какие типы БД бывают?
Базы данных делятся на реляционные (SQL) и нереляционные (NoSQL). Реляционные базы данных (например, MySQL, PostgreSQL) хранят данные в виде таблиц и используют SQL для запросов. Нереляционные базы данных (например, MongoDB) используют разные модели данных (документы, ключ-значение и т.д.), что делает их более гибкими для работы с большими объёмами данных и неструктурированной информацией.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
🤔 Что такое статическое связывание?
Статическое связывание также играет важную роль, особенно когда дело доходит до разрешения вызовов методов в контексте наследования классов. Использует позднее статическое связывание для предоставления контекста вызова в статических методах, что позволяет переопределять статические методы в дочерних классах. Рассмотрим это на примере.
class BaseClass {
public static function who() {
echo "Я BaseClass\n";
}
public static function test() {
self::who(); // Здесь используется статическое связывание
}
}
class ChildClass extends BaseClass {
public static function who() {
echo "Я ChildClass\n";
}
}
BaseClass::test(); // Вывод: Я BaseClass
ChildClass::test(); // Вывод: Я BaseClass
Предоставляет ключевое слово static::, которое позволяет переопределять статические методы в контексте наследования, используя так называемое "позднее статическое связывание".
class BaseClass {
public static function who() {
echo "Я BaseClass\n";
}
public static function test() {
static::who(); // Используется позднее статическое связывание
}
}
class ChildClass extends BaseClass {
public static function who() {
echo "Я ChildClass\n";
}
}
BaseClass::test(); // Вывод: Я BaseClass
ChildClass::test(); // Вывод: Я ChildClass
Ставь 👍 и забирай 📚 Базу знанийСовременное образование в Moscow Business School
Moscow Business School — это учебный центр, в котором каждый может повысить профессиональные навыки. С 2007 года мы обучаем по авторским курсам и программам МВА, создаем тренинги и проводим тимбилдинги
⚡ О НАС:⚡
--> Ведущая бизнес-школа России с более чем 15-летним опытом
--> Источник новых знаний, смыслов и компетенций
--> 800+ образовательных программ обучения
--> Современные онлайн и оффлайн курсы
--> Команда из 700+ управленцев, менеджеров, тренеров и практиков
--> 40+ программ MBA и Executive MBA с уникальной российской экспертизой
--> ТОПовые направления повышения квалификации
--> 20 000 слушателей ежегодно
Узнать больше
#реклама
mbschool.ru
О рекламодателе
🤔 Что такое Factory?
Это паттерн проектирования, который предоставляет способ создания объектов без указания точного класса.
• Фабрика скрывает детали создания объектов, предоставляя интерфейс для их создания.
• Пример: ShapeFactory может возвращать объекты разных классов (Circle, Square) на основе входных параметров.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Освойте профессию Системный аналитик с нуля за 7 месяцев
Освойте высокооплачиваемую IT-профессию без программирования. Выдаём диплом, помогаем с трудоустройством.
Excel, BPMN, UML, Python, SQL, API
Преимущества обучения в Академии Eduson:
🎓 22 реальных бизнес-кейса
🎓 официальный государственный диплом
🎓 рассрочка 0% на 24 мес.
🎓 бессрочный доступ к лекциям и материалам, которые регулярно обновляются
🎓 личный куратор с Вами на связи
Начните обучаться онлайн и получать доход уже во время обучения!
Получить скидку
#реклама 16+
mrqz.me
О рекламодателе
🤔 Какой синтаксис у заголовков?
Заголовки в языках и разметки часто используются для указания ключевой информации, на которую стоит обратить внимание, и они различаются в зависимости от конкретного контекста и языка. Ниже приведены примеры синтаксиса заголовков в различных контекстах:
🚩Заголовки в HTML
Поддерживает шесть уровней заголовков, от
<h1> до <h6>, где <h1> представляет самый важный заголовок, а <h6> — наименее важный.
<h1>Заголовок уровня 1</h1>
<h2>Заголовок уровня 2</h2>
<h3>Заголовок уровня 3</h3>
<h4>Заголовок уровня 4</h4>
<h5>Заголовок уровня 5</h5>
<h6>Заголовок уровня 6</h6>
🚩Заголовки в Markdown
Это язык разметки, который упрощает форматирование текста, особенно для написания документации. Заголовки создаются с помощью символа # перед текстом заголовка. Количество символов # определяет уровень заголовка.
# Заголовок уровня 1
## Заголовок уровня 2
### Заголовок уровня 3
#### Заголовок уровня 4
##### Заголовок уровня 5
###### Заголовок уровня 6
🚩Заголовки в LaTeX
Это система подготовки документов, широко используемая для научных и технических документов. В LaTeX заголовки создаются с помощью команд \section, \subsection, \subsubsection и так далее.
\section{Заголовок уровня 1}
\subsection{Заголовок уровня 2}
\subsubsection{Заголовок уровня 3}
\paragraph{Заголовок уровня 4}
\subparagraph{Заголовок уровня 5}
🚩Заголовки в Языке разметки Wiki
Многие вики-движки (например, MediaWiki) используют свои синтаксисы для создания заголовков. В MediaWiki заголовки создаются с помощью равно (=) вокруг текста заголовка.
= Заголовок уровня 1 =
== Заголовок уровня 2 ==
=== Заголовок уровня 3 ===
==== Заголовок уровня 4 ====
===== Заголовок уровня 5 =====
====== Заголовок уровня 6 ======
🚩Заголовки в языках
Часто не используются так же, как в разметке, но комментарии могут выполнять схожую роль для организации и документирования кода. Примеры синтаксиса для комментариев-заголовков:
Python
# Заголовок уровня 1
## Заголовок уровня 2
### Заголовок уровня 3
JavaScript
// Заголовок уровня 1
// =================
// Заголовок уровня 2
// -----------------
// Заголовок уровня 3
// ~~~~~~~~~~~~~~~~~
Ставь 👍 и забирай 📚 Базу знанийБесплатный курс по 3D-моделированию с нуля
Начни карьеру в дизайне и получи первую зарплату!
Вас ждет реальный рабочий процесс:
✅ разные задачи по 3D Blander
✅ опыт общения с клиентами
✅ оплата за проект
Освойте Blender и создайте работу для портфолио
Обучение полностью бесплатное для первых 70 участников.
Осталось 28 мест.
В конце курса мы откроем для вас доступ к звездной распродаже
Там вы сможете обменять звездочки на ценные бонусы:
1. Гайд по выходу на биржу UpWork
2. Курс «Заработок на дизайне»
3. Анимированный концепт Samsung True для портфолио
4. Бессрочный грант на обучение: 15 000 ₽
5. Гайд «Горячие клавиши в Blender»
Записывайтесь сейчас!
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
🤔 Зачем генераторы, если есть итераторы?
1. Генераторы упрощают создание итераторов, предоставляя возможность обхода коллекций без написания полноценного класса.
2. Они экономят память, поскольку возвращают значения по одному через yield, а не загружают всю коллекцию в память.
3. Итераторы требуют ручной реализации методов iter и next, тогда как генераторы используют стандартные функции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
📺 Уникальная база IT собеседований
456+ реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы.
Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д.
🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!
🤔 Какими способами организовать порции?
В PHP можно организовать обработку данных порциями разными способами, в зависимости от того, с чем именно мы работаем: с базой данных, файлами или массивами. Основные методы:
SQL-запрос с
LIMIT и OFFSET
Чтение файла построчно (fgets(), SplFileObject)
Итерация по массиву с array_chunk()
Использование генераторов (yield)
🟠Постраничная выборка в SQL (`LIMIT` + `OFFSET`)
При работе с базой данных мы можем загружать данные порциями с помощью LIMIT и OFFSET
$limit = 10; // Количество записей на страницу
$offset = 0; // Смещение (номер страницы * $limit)
$sql = "SELECT * FROM users ORDER BY id LIMIT $limit OFFSET $offset";
$result = $pdo->query($sql)->fetchAll();
Альтернативный вариант – постраничная выборка без OFFSET
$last_id = 0;
$sql = "SELECT * FROM users WHERE id > $last_id ORDER BY id LIMIT $limit";
🟠Чтение файла порциями (`fgets()`, `SplFileObject`)
При работе с большими файлами можно читать их построчно, а не загружать в память целиком.fgets() – чтение построчно
$handle = fopen("large_file.txt", "r");
while (($line = fgets($handle)) !== false) {
echo $line;
}
fclose($handle);
SplFileObject – более удобный способ
$file = new SplFileObject("large_file.txt");
while (!$file->eof()) {
echo $file->fgets();
}
🟠Разделение массива на порции (`array_chunk()`)
Если у нас массив данных, можно разбить его на части
$data = range(1, 100);
$chunks = array_chunk($data, 10);
foreach ($chunks as $chunk) {
print_r($chunk); // Выведет массивы по 10 элементов
}
🟠Генераторы (`yield`) – ленивый способ
Генераторы позволяют возвращать элементы по одному, не загружая всё в память сразу.
function getData() {
for ($i = 1; $i <= 100; $i++) {
yield $i; // Возвращает по одному значению
}
}
foreach (getData() as $num) {
echo $num . "\n";
}
Ставь 👍 и забирай 📚 Базу знанийКурсы JAVA-разработки Гарантия ЗП от 120 000р в договоре
Jаvа — это язык, на котором строятся банковские системы, мобильные приложения, крупные веб-сервисы и многое другое, а спрос на Jаvа-разработчиков стабильно высок. Благодаря кроссплатформенности и надежности, ты сможешь работать в любой сфере IТ — от финансов до Коммерческой отрасли.📊💰
Почему это работает?✨
- Минимальные вложения.
- Тысячи человек уже в IТ. Наши выпускники работают в крутых компаниях: от стартапов до международных корпораций.
- Наши менторы — это опытные разработчики, которые ежедневно работают в IТ и готовы делиться актуальными знаниями.
P.S. Если всё ещё сомневаешься и думаешь что будет сложно — просто попробуй.😊
Мы берем на себя все риски: ты оплачиваешь основную стоимость обучения только после успешного трудоустройства — это закреплено в договоре.
Подать заявку
#реклама 16+
kata.academy
О рекламодателе
🤔 Как реализуется полиморфизм ?
1. Полиморфизм реализуется через наследование, интерфейсы и абстрактные классы.
2. Родительский класс или интерфейс может быть заменён его наследником, сохраняя единообразие вызовов.
3. Пример: использование одного метода render() для вывода разного контента в зависимости от конкретного класса.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
