PHP | Вопросы собесов
الذهاب إلى القناة على Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
إظهار المزيد2 293
المشتركون
لا توجد بيانات24 ساعات
-67 أيام
-2530 أيام
جارٍ تحميل البيانات
القنوات المماثلة
سحابة العلامات
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
أكتوبر '26أكتوبر '26
أكتوبر '26
+14
في 0 قنوات
سبتمبر '26
+20
في 0 قنوات
Get PRO
أغسطس '26
+22
في 0 قنوات
Get PRO
يوليو '26
+38
في 0 قنوات
Get PRO
يونيو '26
+24
في 1 قنوات
Get PRO
مايو '26
+23
في 0 قنوات
Get PRO
أبريل '26
+21
في 0 قنوات
Get PRO
مارس '26
+27
في 0 قنوات
Get PRO
فبراير '26
+47
في 0 قنوات
Get PRO
يناير '26
+42
في 0 قنوات
Get PRO
ديسمبر '25
+33
في 0 قنوات
Get PRO
نوفمبر '25
+70
في 0 قنوات
Get PRO
أكتوبر '25
+44
في 0 قنوات
Get PRO
سبتمبر '25
+46
في 0 قنوات
Get PRO
أغسطس '25
+46
في 0 قنوات
Get PRO
يوليو '25
+52
في 0 قنوات
Get PRO
يونيو '25
+52
في 0 قنوات
Get PRO
مايو '25
+58
في 0 قنوات
Get PRO
أبريل '25
+82
في 0 قنوات
Get PRO
مارس '25
+132
في 3 قنوات
Get PRO
فبراير '25
+107
في 2 قنوات
Get PRO
يناير '25
+125
في 54 قنوات
Get PRO
ديسمبر '24
+56
في 1 قنوات
Get PRO
نوفمبر '24
+69
في 1 قنوات
Get PRO
أكتوبر '24
+186
في 45 قنوات
Get PRO
سبتمبر '24
+247
في 249 قنوات
Get PRO
أغسطس '24
+103
في 0 قنوات
Get PRO
يوليو '24
+200
في 54 قنوات
Get PRO
يونيو '24
+707
في 244 قنوات
Get PRO
مايو '24
+698
في 189 قنوات
Get PRO
أبريل '24
+471
في 23 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 26 أكتوبر | +1 | |||
| 25 أكتوبر | 0 | |||
| 24 أكتوبر | +1 | |||
| 23 أكتوبر | 0 | |||
| 22 أكتوبر | 0 | |||
| 21 أكتوبر | 0 | |||
| 20 أكتوبر | +3 | |||
| 19 أكتوبر | +1 | |||
| 18 أكتوبر | 0 | |||
| 17 أكتوبر | +1 | |||
| 16 أكتوبر | 0 | |||
| 15 أكتوبر | 0 | |||
| 14 أكتوبر | +1 | |||
| 13 أكتوبر | +1 | |||
| 12 أكتوبر | +1 | |||
| 11 أكتوبر | +2 | |||
| 10 أكتوبر | 0 | |||
| 09 أكتوبر | 0 | |||
| 08 أكتوبر | 0 | |||
| 07 أكتوبر | 0 | |||
| 06 أكتوبر | 0 | |||
| 05 أكتوبر | 0 | |||
| 04 أكتوبر | 0 | |||
| 03 أكتوبر | +1 | |||
| 02 أكتوبر | 0 | |||
| 01 أكتوبر | +1 |
منشورات القناة
🤔 Какими способами организовать порции?
Разделение данных на порции (batch processing) может быть организовано разными методами:
1. LIMIT и OFFSET – классический способ для пагинации в SQL.
2. Cursor-based pagination – используется в API, позволяет получать новые данные без смещения.
3. Частичная загрузка данных – загружать данные по мере необходимости (lazy loading).
4. Очереди (Message Queues) – например, RabbitMQ или Kafka для обработки данных в потоках.
5. Шардирование данных – разделение больших таблиц на более мелкие логические части.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
| 2 | 🤔 Какие есть виды join?
JOIN – это операция в SQL, которая позволяет объединять данные из двух или более таблиц на основе общего поля.
В SQL есть 5 основных видов JOIN
🟠`INNER JOIN`
пересечение двух таблиц (только совпадающие записи).
🟠`LEFT JOIN`
все записи из левой таблицы + совпадения из правой.
🟠`RIGHT JOIN`
все записи из правой таблицы + совпадения из левой.
🟠`FULL JOIN`
объединяет все записи из обеих таблиц.
🟠`CROSS JOIN`
декартово произведение (каждая строка первой таблицы соединяется с каждой строкой второй).
🚩`INNER JOIN` – только совпадения
Возвращает только те строки, у которых есть совпадения в обеих таблицах.
SELECT users.id, users.name, orders.amount
FROM users
INNER JOIN orders ON users.id = orders.user_id;
🚩`LEFT JOIN` – все из левой таблицы + совпадения
Возвращает все записи из левой таблицы, а если в правой нет совпадения – подставляет NULL.
SELECT users.id, users.name, orders.amount
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
Ставь 👍 и забирай 📚 Базу знаний | 149 |
| 3 | 🤔 Что известно про фабрики?
Это порождающий паттерн, создающий объекты без явного указания их класса.
1. Simple Factory: один метод создаёт разные объекты.
2. Factory Method: делегирует создание объектов подклассам.
3. Abstract Factory: создаёт семейства связанных объектов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 189 |
| 4 | 🤔 Что будет если мы цифру 3 int сложим плюсом со строкой 4 что будет?
Если в PHP выполнить операцию сложения (+) числа 3 (int) и строки "4" (string), то PHP автоматически приведёт строку "4" к числу, и произойдёт арифметическая операция:
$result = 3 + "4";
echo $result; // 7
🚩Как это работает?
PHP видит, что используется оператор +, который применяется только к числам.
"4" — это строка, но она содержит только число, поэтому PHP автоматически преобразует её в int.
Затем выполняется операция 3 + 4, и результатом будет 7.
🚩Что если строка не является числом?
Если строка не является корректным числом, PHP попробует взять из неё число с начала строки. Если в начале строки нет цифр, то строка будет воспринята как 0.
Примеры странных случаев
echo 3 + "4abc"; // 7 (строка "4abc" преобразуется в число 4)
echo 3 + "abc4"; // 3 (строка "abc4" преобразуется в 0, т.к. начинается не с цифры)
echo 3 + "0.5"; // 3.5 (строка "0.5" преобразуется в число 0.5)
echo 3 + " "; // 3 (пробелы преобразуются в 0)
🚩Что если использовать `.` вместо `+`?
Если вместо + использовать . (конкатенацию строк), то числа не складываются, а просто соединяются как строки
echo 3 . "4"; // "34" (строка)
Ставь 👍 и забирай 📚 Базу знаний | 199 |
| 5 | 🤔 Что такое списочный тип?
Это структура данных, представляющая упорядоченный набор элементов, где каждый элемент связан с предыдущим и следующим.
1. Пример — связанный список (linked list), где каждый узел содержит значение и ссылку на следующий узел.
2. Такие типы обеспечивают удобное добавление и удаление элементов, но имеют медленный доступ по индексу (O(n)).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 185 |
| 6 | 🤔 Зачем придумали анонимные классы?
Анонимные классы в PHP были введены в версии 7.0 и позволяют создавать одноразовые объекты без необходимости предварительного объявления класса. Они имеют несколько преимуществ и предназначены для решения ряда задач в программировании. Вот основные причины и случаи, для которых они были придуманы:
🚩Зачем придумали анонимные классы
🟠Упрощение кода
Анонимные классы позволяют создать класс на месте, в том же файле, где он используется, без необходимости его предварительного определения. Это упрощает и сокращает код, особенно для одноразовых задач.
$logger = new class {
public function log($message) {
echo $message;
}
};
$logger->log("Hello, World!"); // Выведет: Hello, World!
🟠Инкапсуляция и уменьшение загрязнения пространства имен
Поскольку анонимные классы не имеют имен, они не добавляют новых имен в глобальное пространство имен, что помогает избежать конфликтов имен и делает код более чистым.
🟠Использование одноразовых объектов
Анонимные классы удобны, когда нужно создать объект для одноразового использования, например, в тестах, или для передачи в функции или методы.
function handleRequest($handler) {
$handler->process();
}
handleRequest(new class {
public function process() {
echo "Processing request";
}
}); // Выведет: Processing request
🟠Более гибкая реализация интерфейсов и абстрактных классов:
Анонимные классы могут реализовывать интерфейсы или наследовать от абстрактных классов, предоставляя быстрый способ создать конкретные реализации на месте.
interface Logger {
public function log($message);
}
$logger = new class implements Logger {
public function log($message) {
echo $message;
}
};
$logger->log("Logging message"); // Выведет: Logging message
🟠Улучшение тестирования
В юнит-тестах анонимные классы позволяют быстро создавать мок-объекты (mock objects) для тестирования без необходимости создавать отдельные классы для каждой тестовой ситуации.
class Service {
private $logger;
public function __construct($logger) {
$this->logger = $logger;
}
public function execute() {
$this->logger->log("Service executed");
}
}
$mockLogger = new class {
public function log($message) {
echo "Mock: " . $message;
}
};
$service = new Service($mockLogger);
$service->execute(); // Выведет: Mock: Service executed
Ставь 👍 и забирай 📚 Базу знаний | 179 |
| 7 | 🤔 Что такое DP (Dynamic Programming)?
1. Динамическое программирование — это метод оптимизации, используемый для решения задач, разбиваемых на подзадачи.
2. Результаты подзадач сохраняются и переиспользуются, чтобы избежать повторных вычислений.
3. Используется для задач оптимизации, например, нахождение кратчайшего пути, задачи Фибоначчи или задач на разбиение.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 201 |
| 8 | 🤔 В чем ставится всегда цель теста?
Цель тестирования всегда заключается в том, чтобы выявить ошибки, дефекты и недостатки в программном обеспечении до того, как оно будет выпущено или внедрено. Тестирование помогает убедиться, что программа работает правильно, соответствует требованиям и ожиданиям пользователей, а также обеспечивает высокое качество и надежность продукта.
🚩Основные цели
🟠Выявление ошибок и дефектов
Найти и исправить ошибки, которые могли возникнуть в ходе разработки. Это помогает предотвратить сбои в работе программы.
🟠Подтверждение соответствия требованиям
Убедиться, что программное обеспечение соответствует заданным требованиям и спецификациям. Это включает проверку функциональности, производительности, безопасности и других аспектов.
🟠Повышение качества продукта
Тестирование помогает улучшить общее качество программного обеспечения, делая его более стабильным, надежным и удобным в использовании.
🟠Обеспечение пользовательского опыта
Убедиться, что конечные пользователи получат продукт, который удовлетворяет их потребности и ожидания, обеспечивая тем самым положительный пользовательский опыт.
🚩Типы
🟠Функциональное тестирование
Проверка того, что каждый компонент системы работает в соответствии с требованиями.
🟠Нефункциональное тестирование
Проверка аспектов, не связанных напрямую с функциональностью, таких как производительность, безопасность, удобство использования и т.д.
🟠Юнит-тестирование
Тестирование отдельных компонентов или модулей кода.
🟠Интеграционное тестирование
Проверка взаимодействия между различными модулями или компонентами системы.
🟠Системное тестирование
Полная проверка всей системы в целом.
🟠Приемочное тестирование
Проверка системы на соответствие бизнес-требованиям и готовность к использованию конечными пользователями.
use PHPUnit\Framework\TestCase;
class CalculatorTest extends TestCase {
public function testAdd() {
$calc = new Calculator();
$this->assertEquals(4, $calc->add(2, 2));
$this->assertEquals(0, $calc->add(-1, 1));
}
}
class Calculator {
public function add($a, $b) {
return $a + $b;
}
}
Ставь 👍 и забирай 📚 Базу знаний | 208 |
| 9 | 🤔 Зачем генераторы, если есть итераторы?
1. Генераторы упрощают создание итераторов, предоставляя возможность обхода коллекций без написания полноценного класса.
2. Они экономят память, поскольку возвращают значения по одному через yield, а не загружают всю коллекцию в память.
3. Итераторы требуют ручной реализации методов iter и next, тогда как генераторы используют стандартные функции.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 221 |
| 10 | 🤔 Что такое di container?
Это специальный инструмент или объект в программировании, который управляет созданием и внедрением зависимостей в объекты. Этот контейнер автоматически решает, какие зависимости требуются объекту, и предоставляет их при создании объекта, тем самым упрощая управление зависимостями в приложении.
🚩Зачем нужен DI-контейнер
🟠Автоматизация управления зависимостями
DI-контейнер автоматически создает и внедряет зависимости, избавляя от необходимости вручную передавать их в объекты.
🟠Гибкость и модульность
Позволяет легко заменять реализации зависимостей, не изменяя код, который их использует.
🟠Упрощение тестирования
Обеспечивает легкую замену зависимостей на моки или заглушки для тестирования.
🟠Улучшение структуры кода
Разделяет создание объектов и их использование, способствуя более чистой архитектуре.
🚩Как используется DI-контейнер
DI-контейнеры предоставляют различные методы для регистрации зависимостей и их последующего получения. Ниже приведен пример реализации простого DI-контейнера.
1⃣Создание интерфейсов и реализаций зависимостей
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Logging message to a file: $message";
}
}
interface PaymentProcessor {
public function processPayment($amount);
}
class StripePaymentProcessor implements PaymentProcessor {
public function processPayment($amount) {
echo "Processing payment of $amount through Stripe";
}
}
2⃣Реализация DI-контейнера
class DIContainer {
private $bindings = [];
public function bind($abstract, $concrete) {
$this->bindings[$abstract] = $concrete;
}
public function resolve($abstract) {
if (!isset($this->bindings[$abstract])) {
throw new Exception("No binding found for $abstract");
}
$concrete = $this->bindings[$abstract];
// Если $concrete является замыканием, вызываем его
if ($concrete instanceof Closure) {
return $concrete($this);
}
// Создаем новый объект конкретного класса
return new $concrete;
}
}
3⃣Регистрация зависимостей и их использование
$container = new DIContainer();
// Регистрация зависимостей
$container->bind(Logger::class, FileLogger::class);
$container->bind(PaymentProcessor::class, function($container) {
return new StripePaymentProcessor();
});
// Получение зависимостей
$logger = $container->resolve(Logger::class);
$logger->log("This is a log message."); // Вывод: Logging message to a file: This is a log message.
$paymentProcessor = $container->resolve(PaymentProcessor::class);
$paymentProcessor->processPayment(100); // Вывод: Processing payment of 100 through Stripe
🚩Плюсы и минусы
➕Автоматизация
Снижает необходимость ручного создания и передачи зависимостей.
➕Гибкость
Легко изменять конкретные реализации зависимостей.
➕Тестируемость
Упрощает замену зависимостей на моки для тестирования.
➕Чистота кода
Упрощает код, делая его более модульным и читаемым.
➖Сложность настройки
Могут потребоваться значительные усилия для первоначальной настройки DI-контейнера.
➖Производительность
В некоторых случаях может снижать производительность из-за необходимости разрешения зависимостей.
Ставь 👍 и забирай 📚 Базу знаний | 208 |
| 11 | 🤔 Как настроить autoload через Composer?
Composer предоставляет механизм автоматической загрузки классов (autoload), который позволяет не писать вручную require.
Основные шаги:
1. Использовать PSR-4 или PSR-0 – правила именования классов.
2. Настроить autoload в composer.json – указать, какие пространства имен использовать.
3. Выполнить composer dump-autoload – обновить автозагрузку после изменения файлов.
4. Использовать require 'vendor/autoload.php' – подключить автозагрузку в проекте.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 222 |
| 12 | 🤔 Что такое метрики?
Это количественные показатели, используемые для оценки, мониторинга и улучшения различных аспектов работы систем, процессов и проектов. Они предоставляют объективные данные, которые помогают принимать обоснованные решения и улучшать эффективность и качество работы.
🚩Зачем нужны метрики
🟠Измерение производительности
Метрики позволяют оценивать, насколько эффективно работают системы или процессы. Например, метрики производительности могут показать, сколько запросов обрабатывается сервером в секунду или как быстро выполняются алгоритмы.
🟠Мониторинг и контроль
Постоянный мониторинг метрик помогает выявлять проблемы на ранних стадиях. Например, мониторинг времени отклика сервера позволяет обнаружить ухудшение производительности до того, как это повлияет на пользователей.
🟠Принятие решений
Объективные данные, предоставляемые метриками, помогают принимать обоснованные решения по улучшению процессов, распределению ресурсов и планированию. Например, данные о загрузке серверов могут помочь определить, когда нужно добавить новые ресурсы.
🟠Улучшение качества
Метрики качества позволяют оценивать, насколько хорошо продукт или процесс соответствует установленным стандартам и требованиям. Например, метрики кода, такие как количество ошибок или покрытие тестами, помогают улучшать качество программного обеспечения.
🟠Управление проектами
В проектном управлении метрики помогают следить за прогрессом, оценивать риски и управлять ресурсами. Например, метрики времени и затрат помогают следить за выполнением проекта в рамках бюджета и сроков.
🚩Примеры метрик
🟠Метрики производительности
Время отклика (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, памяти, дискового пространства помогают поддерживать высокую производительность и доступность серверов.
Безопасность: Метрики инцидентов безопасности, обнаружения уязвимостей и реагирования на угрозы помогают обеспечивать защиту данных и систем.
Ставь 👍 и забирай 📚 Базу знаний | 193 |
| 13 | 🔥 Скрытые вакансии с удаленной работой для PHP разработчика, которые нигде больше не публикуются. Напрямую от компаний, с контактами рекрутеров.
🔹 PHP Jobs | Вакансии
🔸 Все каналы с вакансиями | 209 |
| 14 | 🤔 В чем заключается обработка ошибок и исключений?
Обработка ошибок в 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";
}
Ставь 👍 и забирай 📚 Базу знаний | 229 |
| 15 | 🤔 Зачем нужно ключевое слово final?
Ключевое слово final в PHP используется для того, чтобы запретить наследование классов или переопределение методов в дочерних классах. Это помогает защитить важные части кода от изменения и сохранять логику в неприкосновенности. Final используется для обеспечения предсказуемости поведения в классах.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 270 |
| 16 | Авторизованные курсы по оборудованию Eltex от дилера №1
Проводим учебные курсы, включающие практические занятия и лабораторные работы.
По итогу успешной сдачи экзаменов обучающемуся выдаётся официальный сертификат от завода Eltex.
⚡Обучение в офисе или онлайн
⚡Опытный преподавательский состав
⚡Лабораторные работы - 50% времени
⚡Обучение юридических и физических лиц
Записаться
#реклама 16+
eltexcm.ru
О рекламодателе | 208 |
| 17 | 🤔 Какой синтаксис у заголовков?
Заголовки в языках и разметки часто используются для указания ключевой информации, на которую стоит обратить внимание, и они различаются в зависимости от конкретного контекста и языка. Ниже приведены примеры синтаксиса заголовков в различных контекстах:
🚩Заголовки в 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
// ~~~~~~~~~~~~~~~~~
Ставь 👍 и забирай 📚 Базу знаний | 265 |
| 18 | 🤔 Что такое шифрование?
Это процесс преобразования данных в защищённый формат (шифртекст) с использованием алгоритмов и ключей. Оно защищает информацию от несанкционированного доступа.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 259 |
| 19 | 🤔 Зачем использовать Rest , если есть Soup?
SOAP (Simple Object Access Protocol) и REST (Representational State Transfer) – это два подхода для обмена данными между клиентом и сервером (API).
SOAP появился раньше, но REST стал более популярным, потому что он проще, быстрее и гибче.
🚩Почему REST лучше в большинстве случаев?
🟠REST проще и легче
SOAP использует сложные XML-сообщения с заголовками и схемами, что делает запросы более громоздкими.
REST использует JSON или XML, что делает его быстрее и удобнее.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getUser>
<id>123</id>
</getUser>
</soap:Body>
</soap:Envelope>
Пример запроса в REST (короче и проще)
GET /users/123 HTTP/1.1
Host: api.example.com
🟠REST быстрее и легче для веба
SOAP требует больше ресурсов, потому что использует XML + сложные заголовки.
REST работает по HTTP и использует JSON, который легче парсится в браузере и мобильных приложениях.
🟠REST лучше интегрируется с веб-технологиями
SOAP требует специальных библиотек (WSDL, WS-Security).
REST использует обычные HTTP-методы:
- GET – получить данные
- POST – создать
- PUT – обновить
- DELETE – удалить
🟠REST масштабируемый и кроссплатформенный
REST легко работает с JavaScript, мобильными приложениями (iOS, Android), браузерами и фронтендом.
SOAP чаще используется в корпоративных системах (банки, госструктуры), но хуже подходит для современных веб-приложений.
Ставь 👍 и забирай 📚 Базу знаний | 297 |
| 20 | 🤔 Какие типы БД бывают?
Базы данных делятся на реляционные (SQL) и нереляционные (NoSQL). Реляционные базы данных (например, MySQL, PostgreSQL) хранят данные в виде таблиц и используют SQL для запросов. Нереляционные базы данных (например, MongoDB) используют разные модели данных (документы, ключ-значение и т.д.), что делает их более гибкими для работы с большими объёмами данных и неструктурированной информацией.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 298 |
