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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
2 343
Obunachilar
-424 soatlar
-97 kunlar
-230 kunlar
Postlar arxiv
Регистрируйтесь на вебинар 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 – автоматизирует тестирование и деплой. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Приведи друга и получи 30 000 ₽ Приведите друга на вакансию программист 1С — получите 30 000 ₽. Сообщите нам о потенциальном
Приведи друга и получи 30 000 ₽ Приведите друга на вакансию программист 1С — получите 30 000 ₽. Сообщите нам о потенциальном кандидате. Когда кандидат будет трудоустроен, мы выплатим вам вознаграждение. Опыт от 3-х лет на full-time. Аккредитованная IT-компания. Удалённая работа. ДМО. Оформление по ТК РФ. Зарплата до 250 000 ₽. Помощь в развитии. Оставьте заявку на сайте Перейти на сайт #реклама career.programstore.ru О рекламодателе

🤔 Что есть иммутабельный объект? Это объект, состояние которого нельзя изменить после его создания. Это означает, что ни одно из свойств объекта не может быть изменено после того, как он был инициализирован. Всякий раз, когда необходимо изменить состояние иммутабельного объекта, вместо изменения текущего объекта создается новый объект с новым состоянием. 🚩ПлюсыБезопасность и предсказуемость Иммутабельные объекты безопасны для использования в многопоточных средах, так как их состояние не может быть изменено после создания, что предотвращает состояние гонки и другие проблемы, связанные с конкурентным доступом. ➕Простота понимания и отладки Так как состояние иммутабельного объекта не изменяется, код, использующий такие объекты, становится более предсказуемым и легче в отладке. ➕Облегчение управления состоянием Иммутабельные объекты упрощают управление состоянием в приложениях, так как можно быть уверенным, что состояние объекта не изменится неожиданным образом. ➕Безопасность при передаче данных Иммутабельные объекты могут безопасно передаваться между различными частями программы или даже между разными системами, так как нет риска, что их состояние будет изменено в процессе передачи.
# Строки являются иммутабельными
s = "hello"
# Любая операция, изменяющая строку, создает новую строку
s = s.upper()
print(s)  # Выведет "HELLO"

# Кортежи также являются иммутабельными
t = (1, 2, 3)
# Попытка изменить элемент кортежа вызовет ошибку
# t[0] = 0  # TypeError: 'tuple' object does not support item assignment
Класс String является иммутабельным. Всякий раз, когда выполняется операция, изменяющая строку, создается новый объект строки.
String s = "hello";
s = s.toUpperCase();
System.out.println(s);  // Выведет "HELLO"
🚩Для создания своих иммутабельных классов в Java можно сделать следующее Сделать класс финальным, чтобы предотвратить наследование. Все поля объявить приватными и финальными. Не предоставлять методов для изменения состояния (сеттеров). Обеспечить, чтобы изменяемые объекты, передаваемые в конструктор, были скопированы.
public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}
🚩Для создания иммутабельных объектов необходимо соблюдать несколько правил: 🟠Приватные и финальные поля Все поля объекта должны быть объявлены как private и final. 🟠Отсутствие сеттеров Не должны быть предоставлены методы, которые позволяют изменять состояние объекта. 🟠Конструкторы Конструкторы должны устанавливать все поля объекта, инициализируя их значениями, которые не могут быть изменены после создания объекта. 🟠Защита изменяемых объектов Если объект содержит изменяемые поля, такие как массивы или коллекции, они должны быть скопированы или защищены от изменения извне. Ставь 👍 и забирай 📚 Базу знаний

Высшее образование дистанционно от 6700 ₽/мес. Поступи в Московский технологический институт в мае! — Высшее образование в мо
Высшее образование дистанционно от 6700 ₽/мес. Поступи в Московский технологический институт в мае! — Высшее образование в московском вузе без выезда на сессии. — Полностью дистанционный онлайн-формат. — Обучайся дома, на работе, в путешествии. — Диплом государственного образца. — 73 направления и программы обучения. — Программа колледж + вуз без ЕГЭ. Скидка 10% на платное обучение при оплате за год. Подать заявку #реклама 16+ mti-vuz.ru О рекламодателе

🤔 Разница между pull и fetch? git pull выполняет fetch (загружает изменения из удалённого репозитория) и автоматически сливает их с локальной веткой. git fetch только загружает изменения, не изменяя локальные файлы, что позволяет вручную контролировать слияние. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

EVOLUT в Москве - бизнес-сообщество для роста и решений Объединяем тех, кто готов к совместным проектам, открыт к обмену опыт
EVOLUT в Москве - бизнес-сообщество для роста и решений Объединяем тех, кто готов к совместным проектам, открыт к обмену опытом и ценит деловое партнерство. 5-этапный отбор кандидатов. Для каждого резидента 3-месячный мастермайнд, форум-группы, разборы с основателем. Развивайте свой бизнес с EVOLUT, сохраняя личное время и энергию. Станьте резидентом! Перейти на сайт #реклама evolutclub.com О рекламодателе