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

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

前往频道在 Telegram

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

显示更多
2 345
订阅者
+124 小时
-47
-2630
帖子存档
🤔 Какое отличие у протоколов tcp и udp? Это два основных транспортных протокола в интернете. Они имеют разные характеристики и используются для различных целей. 🚩Основные отличия 🟠Надежность TCP: Обеспечивает надежную передачу данных. Он использует механизмы установления соединения, подтверждение получения (ACK), контроль потерь пакетов, повторную передачу потерянных пакетов и контроль потока. Это гарантирует, что данные будут доставлены корректно и в правильном порядке. UDP: Не обеспечивает надежную передачу данных. Нет подтверждений получения, нет повторной передачи потерянных пакетов и нет контроля потока. Это делает передачу менее надежной, но более быстрой и с меньшими накладными расходами. 🟠Установление соединения TCP: Перед началом передачи данных устанавливается соединение с помощью процедуры "трехстороннего рукопожатия" (three-way handshake). Это означает, что обе стороны сначала обмениваются сигналами SYN и ACK для установления соединения. UDP: Не требует установления соединения. Пакеты (датаграммы) просто отправляются к получателю без предварительного установления соединения. 🟠Порядок доставки TCP: Обеспечивает доставку данных в правильном порядке. Если пакеты приходят в неправильном порядке, TCP собирает их в правильном порядке перед передачей приложению. UDP: Не гарантирует порядок доставки. Пакеты могут приходить в произвольном порядке, и приложение должно обрабатывать их соответствующим образом, если это необходимо. 🟠Пропускная способность и задержки TCP: Из-за механизмов контроля потока и подтверждений имеет большие накладные расходы и, следовательно, может быть медленнее. Это особенно заметно на сетях с высокой задержкой или потерей пакетов. UDP: Из-за отсутствия контроля потока и подтверждений имеет меньшие накладные расходы, что может привести к меньшим задержкам и большей пропускной способности. Подходит для приложений, где важна скорость, а не надежность. 🟠Применение TCP: Используется для приложений, где важна надежность и порядок передачи данных, таких как веб-браузеры (HTTP/HTTPS), электронная почта (SMTP, IMAP, POP3), файловые передачи (FTP), удаленный доступ (SSH). UDP: Используется для приложений, где важна скорость и где потеря некоторых пакетов не критична, таких как потоковое видео и аудио (VoIP, IPTV), онлайн-игры, службы доменных имен (DNS). 🚩Примеры использования TCP
HTTP/HTTPS: Веб-серфинг
SMTP: Отправка электронной почты
IMAP/POP3: Получение электронной почты
FTP: Передача файлов
SSH: Безопасный удаленный доступ
UDP
DNS: Запросы доменных имен
VoIP: Передача голоса через IP
IPTV: Потоковое видео
Онлайн-игры: Быстрая передача данных игровой логики
NTP: Синхронизация времени
Ставь 👍 и забирай 📚 Базу знаний

Современное образование в Moscow Business School Moscow Business School — это учебный центр, в котором каждый может повысить профессиональные навыки. С 2007 года мы обучаем по авторским курсам и программам МВА, создаем тренинги и проводим тимбилдинги ⚡ О НАС:⚡ --> Ведущая бизнес-школа России с более чем 15-летним опытом --> Источник новых знаний, смыслов и компетенций --> 800+ образовательных программ обучения --> Современные онлайн и оффлайн курсы --> Команда из 700+ управленцев, менеджеров, тренеров и практиков --> 40+ программ MBA и Executive MBA с уникальной российской экспертизой --> ТОПовые направления повышения квалификации --> 20 000 слушателей ежегодно Узнать больше #реклама mbschool.ru О рекламодателе

🤔 Что такое ООП? Объектно-ориентированное программирование (ООП) — это парадигма программирования, основанная на концепции классов и объектов. Основные принципы ООП включают инкапсуляцию (скрытие деталей реализации), наследование (передача поведения от одного класса к другому), полиморфизм (способность методов работать с разными типами объектов) и абстракцию (выделение важной функциональности). ООП помогает организовывать код в удобные для понимания и поддерживаемые структуры. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

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

🤔 Что такое ключи в БД? Это специальные поля или комбинации полей, которые используются для идентификации записей и установления связей между таблицами. Ключи играют важную роль в обеспечении целостности и эффективности базы данных. 🚩Виды ключей 🟠Первичный ключ (Primary Key) Это одно или несколько полей, которые однозначно идентифицируют каждую запись в таблице. Он должен быть уникальным и не содержать NULL-значений.
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT
);
🟠Внешний ключ (Foreign Key) Это поле или набор полей в одной таблице, которое указывает на первичный ключ в другой таблице. Внешние ключи используются для установления и обеспечения целостности ссылок между таблицами.
CREATE TABLE courses (
    course_id INT PRIMARY KEY,
    course_name VARCHAR(100)
);

CREATE TABLE enrollments (
    enrollment_id INT PRIMARY KEY,
    student_id INT,
    course_id INT,
    FOREIGN KEY (student_id) REFERENCES students(student_id),
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
🟠Кандидатный ключ (Candidate Key) Это поле или комбинация полей, которое может служить уникальным идентификатором для записи в таблице. Таблица может иметь несколько кандидатных ключей, из которых один выбирается как первичный ключ.
CREATE TABLE users (
    user_id INT,
    email VARCHAR(100),
    phone VARCHAR(20),
    PRIMARY KEY (user_id),
    UNIQUE (email),
    UNIQUE (phone)
);
🟠Альтернативный ключ (Alternate Key) Это любой кандидатный ключ, который не выбран в качестве первичного ключа. В примере выше email и phone являются альтернативными ключами, так как user_id выбран как первичный ключ. 🟠Составной ключ (Composite Key) Это ключ, состоящий из двух или более полей, которые вместе уникально идентифицируют запись.
CREATE TABLE order_items (
    order_id INT,
    product_id INT,
    quantity INT,
    PRIMARY KEY (order_id, product_id)
);
🟠Суррогатный ключ (Surrogate Key) Это искусственно созданный ключ, который обычно представляет собой уникальный идентификатор, не имеющий смысла вне контекста базы данных.
CREATE TABLE employees (
    employee_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    department VARCHAR(100)
);
Ставь 👍 и забирай 📚 Базу знаний

Регистрируйтесь на вебинар SIEM UserGate 💻Расскажет о том, как экосистема и SIEM UserGate помогает бороться с фишинговыми атаками в рамках демонстрации конкретного кейса. На вебинаре будет: - Вступительное слово - Экспертиза UserGate и сценарий конкретного кейса - Демонстрация кейса защиты от фишинговой атаки - Ответы на вопросы 👌Расскажем, как защитить вашу компанию. Регистрируйтесь — будет интересно! Зарегистрироваться #реклама 16+ webinar.usergate.com О рекламодателе

🤔 В каких случаях используют индексы? Индексы в базах данных используются для ускорения операций поиска и сортировки данных. Они создаются на столбцах, по которым часто выполняются запросы, такие как `SELECT`, `WHERE` или `ORDER BY`. Индексы позволяют базе данных быстро находить нужные записи без необходимости сканировать всю таблицу. Однако индексы занимают дополнительное место и могут замедлять операции вставки и обновления данных, поэтому их следует использовать с осторожностью. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 В чем разница между фабрикой и фабричным методом? Это два разных паттерна проектирования, которые используются для создания объектов. Они решают схожие задачи, но делают это разными способами и имеют свои особенности. 🚩Фабрика (Factory) Это паттерн проектирования, который создает объекты без необходимости явно указывать точный класс создаваемого объекта. Это делается через центральный объект, который управляет созданием других объектов.
<?php
class Car {
    public function drive() {
        echo "Driving a car";
    }
}

class Bike {
    public function ride() {
        echo "Riding a bike";
    }
}

class VehicleFactory {
    public function createVehicle($type) {
        if ($type === 'car') {
            return new Car();
        } elseif ($type === 'bike') {
            return new Bike();
        } else {
            throw new Exception("Vehicle type not supported");
        }
    }
}

$factory = new VehicleFactory();
$vehicle = $factory->createVehicle('car');
$vehicle->drive(); // Выведет "Driving a car"
?>
🚩Фабричный метод (Factory Method) Это паттерн проектирования, который определяет интерфейс для создания объектов, но позволяет подклассам изменять тип создаваемых объектов. Это достигается путем делегирования создания объектов подклассам.
<?php
abstract class VehicleFactory {
    abstract public function createVehicle();

    public function deliver() {
        $vehicle = $this->createVehicle();
        $vehicle->drive();
    }
}

class Car {
    public function drive() {
        echo "Driving a car";
    }
}

class Bike {
    public function ride() {
        echo "Riding a bike";
    }
}

class CarFactory extends VehicleFactory {
    public function createVehicle() {
        return new Car();
    }
}

class BikeFactory extends VehicleFactory {
    public function createVehicle() {
        return new Bike();
    }
}

$carFactory = new CarFactory();
$carFactory->deliver(); // Выведет "Driving a car"

$bikeFactory = new BikeFactory();
$bikeFactory->deliver(); // Выведет "Riding a bike"
?>
Ставь 👍 и забирай 📚 Базу знаний

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

🤔 Какими способами организовать порции? Разделение данных на порции (batch processing) может быть организовано разными методами: 1. LIMIT и OFFSET – классический способ для пагинации в SQL. 2. Cursor-based pagination – используется в API, позволяет получать новые данные без смещения. 3. Частичная загрузка данных – загружать данные по мере необходимости (lazy loading). 4. Очереди (Message Queues) – например, RabbitMQ или Kafka для обработки данных в потоках. 5. Шардирование данных – разделение больших таблиц на более мелкие логические части. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Repost from Backend
Привет ребят! Мне в последнее время пишет очень много начинающих предпринимателей оценить их бизнес со стороны. Я как человек с 10 годами опыта в создании стартапов, как успеших так и абсолютно убыточных могу дать свою оценку. Я продавал свой бизнес в прибыль, и я также в убыток продовал несколько своих проектов. Готов с вами обсудить ваши идеи, но только сейчас, пока я пьян и на веселе. Напишите @kivaiko и мы созвонимся, чтобы я трезво оценивал ваши шансы и дал экспертные рекомендации.

Получи грант на обучение в Центральном университете Центральный университет выдает гранты на 4 года обучения в бакалавриате. Грант покрывает до 100% стоимости обучения. Участвуй в отборе, чтобы получить грант. Получи доступ к уникальным активностям для абитуриентов. Для выпускников 10-х, 11-х классов и колледжей. Подать заявку #реклама apply.centraluniversity.ru О рекламодателе

🤔 Какое отличие у протоколов tcp и udp? Это два основных транспортных протокола в интернете. Они имеют разные характеристики и используются для различных целей. 🚩Основные отличия 🟠Надежность TCP: Обеспечивает надежную передачу данных. Он использует механизмы установления соединения, подтверждение получения (ACK), контроль потерь пакетов, повторную передачу потерянных пакетов и контроль потока. Это гарантирует, что данные будут доставлены корректно и в правильном порядке. UDP: Не обеспечивает надежную передачу данных. Нет подтверждений получения, нет повторной передачи потерянных пакетов и нет контроля потока. Это делает передачу менее надежной, но более быстрой и с меньшими накладными расходами. 🟠Установление соединения TCP: Перед началом передачи данных устанавливается соединение с помощью процедуры "трехстороннего рукопожатия" (three-way handshake). Это означает, что обе стороны сначала обмениваются сигналами SYN и ACK для установления соединения. UDP: Не требует установления соединения. Пакеты (датаграммы) просто отправляются к получателю без предварительного установления соединения. 🟠Порядок доставки TCP: Обеспечивает доставку данных в правильном порядке. Если пакеты приходят в неправильном порядке, TCP собирает их в правильном порядке перед передачей приложению. UDP: Не гарантирует порядок доставки. Пакеты могут приходить в произвольном порядке, и приложение должно обрабатывать их соответствующим образом, если это необходимо. 🟠Пропускная способность и задержки TCP: Из-за механизмов контроля потока и подтверждений имеет большие накладные расходы и, следовательно, может быть медленнее. Это особенно заметно на сетях с высокой задержкой или потерей пакетов. UDP: Из-за отсутствия контроля потока и подтверждений имеет меньшие накладные расходы, что может привести к меньшим задержкам и большей пропускной способности. Подходит для приложений, где важна скорость, а не надежность. 🟠Применение TCP: Используется для приложений, где важна надежность и порядок передачи данных, таких как веб-браузеры (HTTP/HTTPS), электронная почта (SMTP, IMAP, POP3), файловые передачи (FTP), удаленный доступ (SSH). UDP: Используется для приложений, где важна скорость и где потеря некоторых пакетов не критична, таких как потоковое видео и аудио (VoIP, IPTV), онлайн-игры, службы доменных имен (DNS). 🚩Примеры использования TCP
HTTP/HTTPS: Веб-серфинг
SMTP: Отправка электронной почты
IMAP/POP3: Получение электронной почты
FTP: Передача файлов
SSH: Безопасный удаленный доступ
UDP
DNS: Запросы доменных имен
VoIP: Передача голоса через IP
IPTV: Потоковое видео
Онлайн-игры: Быстрая передача данных игровой логики
NTP: Синхронизация времени
Ставь 👍 и забирай 📚 Базу знаний

Современная магистратура от Центрального университета Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практ
Современная магистратура от Центрального университета Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практикой? Поступай в магистратуру Центрального университета! - 4 офлайн программы по востребованным направлениям ИТ - Онлайн-программа по машинному обучению - 300 мест с грантами до 1,2 млн руб. - Вечерние занятия и учеба по выходным — удобно совмещать с работой - Обучение по модели STEM-образования: на стыке науки, технологий и бизнеса - Возможность стажировок и трудоустройства в ведущих компаниях - Государственный диплом за 2 года Магистратура в Центральном университете — это современный подход к образованию, сильный преподавательский состав и актуальные кейсы от индустрии. Оставляй заявку на грант уже сейчас! Подать заявку #реклама 16+ apply.centraluniversity.ru О рекламодателе

🤔 В чём преимущество hash-индекса и btree-индекса? 1. Hash-индекс: • Быстрый доступ для равенств (=) и точных запросов. • Не подходит для диапазонных запросов. 2. B-Tree индекс: • Оптимален для диапазонных запросов и сортировки. • Поддерживает равенства и сравнения (<, >). • Медленнее hash-индекса для точного поиска. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Профессия «Аналитик данных» - начни учиться бесплатно! Освойте высокооплачиваемую IT-профессию с нуля за 6 месяцев. Выдаём ди
Профессия «Аналитик данных» - начни учиться бесплатно! Освойте высокооплачиваемую IT-профессию с нуля за 6 месяцев. Выдаём диплом, помогаем с трудоустройством. Excel, SQL, PowerBI, Python. Преимущества обучения в Академии Eduson: 🎓 можно начать учиться бесплатно, если не понравится — не платите 🎓 официальный государственный диплом 🎓 рассрочка 0% на 24 мес. 🎓 бессрочный доступ к лекциям и материалам, которые регулярно обновляются 🎓 личный куратор с Вами на связи Начните обучаться онлайн и получать стабильный доход уже во время обучения! Подать заявку #реклама 16+ eduson.academy О рекламодателе

🤔 Какие уровни изоляции ты знаешь? Уровни изоляции в системах управления базами данных (СУБД) определяют, как операции транзакций видят и взаимодействуют с изменениями, внесенными другими параллельно выполняющимися транзакциями. Эти уровни изоляции помогают контролировать различные виды аномалий, таких как грязное чтение, неповторяющееся чтение и фантомные чтения. В стандарте SQL существует четыре основных уровня изоляции: 🚩Read Uncommitted (чтение незафиксированных данных) Этот уровень изоляции позволяет транзакциям видеть изменения других транзакций, даже если эти изменения еще не зафиксированы. Наименее строгий уровень изоляции, с наибольшей вероятностью возникновения аномалий. Аномалии: Грязное чтение (Dirty Read): Транзакция может прочитать данные, которые были изменены другой транзакцией, но еще не зафиксированы.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
🚩Read Committed (чтение зафиксированных данных) Транзакция может видеть только те изменения, которые были зафиксированы другими транзакциями. Средний уровень изоляции, который предотвращает грязные чтения, но допускает другие аномалии. Аномалии: Неповторяющееся чтение (Non-repeatable Read): Транзакция может дважды прочитать одно и то же значение и получить разные результаты, если другая транзакция изменила данные и зафиксировала изменения между двумя чтениями.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
🚩Repeatable Read (повторяемое чтение) Транзакция гарантирует, что если она читает данные, они останутся неизменными до завершения транзакции. Более строгий уровень изоляции, который предотвращает грязные и неповторяющиеся чтения, но не предотвращает фантомные чтения. Аномалии: Фантомное чтение (Phantom Read): Транзакция может получить разные результаты при выполнении одного и того же запроса, если другая транзакция добавляет или удаляет строки, которые соответствуют условиям запроса.
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
🚩Serializable (сериабельность) Самый строгий уровень изоляции, который эмулирует последовательное выполнение транзакций. Полностью предотвращает грязные чтения, неповторяющиеся чтения и фантомные чтения. Аномалии: Никаких аномалий. Все транзакции выполняются так, как если бы они были выполнены последовательно.
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Ставь 👍 и забирай 📚 Базу знаний

🖼️ Ищем PHP разработчиков. Релокейт, удалёнка, платим много! Специально для Вас, собираем лучшие вакансии по PHP с прямыми к
🖼️ Ищем PHP разработчиков. Релокейт, удалёнка, платим много! Специально для Вас, собираем лучшие вакансии по PHP с прямыми контактами в Telegram на канале @it_match_php. Подпишись чтобы не упустить свой шанс получить лучший оффер! 🔗 Посмотреть вакансии

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

🤔 Зачем нужен Git? 1. Контроль версий – отслеживание изменений в коде и возможность отката. 2. Совместная работа – позволяет нескольким разработчикам работать над одним проектом без конфликтов. 3. Безопасность кода – сохраняет историю изменений, предотвращая потерю данных. 4. Быстрая разработка – поддерживает ветки (branches) для параллельной работы над фичами. 5. Интеграция с CI/CD – автоматизирует тестирование и деплой. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний