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

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

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

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

نمایش بیشتر
2 343
مشترکین
-124 ساعت
-47 روز
-2430 روز
آرشیو پست ها
🤔 Какое ключевое слово используется для реализации интерфейсов в PHP?
Anonymous voting

🌊 Водоворот знаний в Кодовороте 🤿 Погружайся в мир лучших видео уроков по программированию. Каждый день на канале выходит п
🌊  Водоворот знаний в Кодовороте 🤿 Погружайся в мир лучших видео уроков по программированию. Каждый день на канале выходит полезный контент. Кодируй своё будущее вместе с нами!Подпишись

Что такое инкапсуляция ? Спросят с вероятностью 13% Инкапсуляция — это один из основных принципов ООП, который предполагает скрытие внутренней реализации объекта и предоставление доступа к данным и методам только через определённые интерфейсы. Помогает защитить данные объекта от некорректного использования и обеспечивает контроль над тем, как данные изменяются и используются. Основные аспекты 1️⃣Скрытие данных: ✅Внутренние данные объекта, называемые полями или свойствами, обычно объявляются как private или protected. Это означает, что они не могут быть напрямую изменены или прочитаны из вне класса. 2️⃣Интерфейс для доступа к данным: ✅Для взаимодействия с данными объекта используются специальные методы, называемые геттерами (getters) и сеттерами (setters). Они предоставляют контролируемый доступ к свойствам объекта. 3️⃣Контроль и валидация: ✅Методы геттеры и сеттеры могут включать логику для проверки корректности данных перед их установкой или возвратом. Это позволяет гарантировать целостность данных. Рассмотрим пример класса Person, в котором реализована инкапсуляция:
class Person {
    // Приватные свойства (скрытые данные)
    private $name;
    private $age;

    // Конструктор для инициализации объекта
    public function __construct($name, $age) {
        $this->setName($name);
        $this->setAge($age);
    }

    // Геттер для имени
    public function getName() {
        return $this->name;
    }

    // Сеттер для имени
    public function setName($name) {
        if (!is_string($name)) {
            throw new Exception("Name must be a string.");
        }
        $this->name = $name;
    }

    // Геттер для возраста
    public function getAge() {
        return $this->age;
    }

    // Сеттер для возраста
    public function setAge($age) {
        if (!is_int($age) || $age < 0) {
            throw new Exception("Age must be a non-negative integer.");
        }
        $this->age = $age;
    }
}

// Пример использования класса
$person = new Person("John", 30);
echo $person->getName(); // Вывод: John
echo $person->getAge();  // Вывод: 30

$person->setName("Jane");
$person->setAge(25);

echo $person->getName(); // Вывод: Jane
echo $person->getAge();  // Вывод: 25
Преимущества 1️⃣Защита данных: Ограничение прямого доступа к данным объекта предотвращает их случайное или некорректное изменение. 2️⃣Упрощение изменения кода: Внутренняя реализация класса может изменяться без влияния на внешний код, использующий этот класс. 3️⃣Читаемость и поддерживаемость: Код становится более структурированным и понятным, что облегчает его поддержку и развитие. Инкапсуляция — это скрытие внутренней реализации объекта и предоставление доступа к данным только через методы. Это защищает данные и улучшает управление ими. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🤔 Какую команду использовать для проверки пакетов на наличие уязвимостей?
Anonymous voting

👨‍💻 Чтобы стать более востребованным перцем в IT индустрии неплохо бы знать английский. Канал Hello Word в игровом стиле по
👨‍💻 Чтобы стать более востребованным перцем в IT индустрии неплохо бы знать английский. Канал Hello Word в игровом стиле поможет улучшить твой English skill. 🤓У нас ты найдешь: 🟡 Тесты с пропуском слов 🟡 Мемы на английском 🟡 Полезные шпаргалки для изучения 😎 Расширяй свои навыки и покоряй начинай покорять западную индустрию. Испытай свои знания и попробуй пройти тест.

Если в классе есть публичное свойство, означает ли это, что он иммутабельный ? Спросят с вероятностью 7% Наличие публичного свойства в классе не означает, что класс является иммутабельным. На самом деле, публичное свойство противоречит концепции иммутабельности, так как любое публичное свойство может быть изменено извне после создания объекта, что нарушает одно из основных правил иммутабельных объектов: их состояние не должно изменяться после инициализации. Основные причины, почему публичное свойство делает класс таким: 1️⃣Доступ к изменению: ✅Публичное свойство позволяет любому коду, имеющему доступ к экземпляру класса, изменять это свойство в любое время. Это означает, что состояние объекта может быть изменено после его создания. 2️⃣Нарушение инкапсуляции: ✅Иммутабельные объекты должны полностью контролировать своё состояние. Публичное свойство нарушает этот контроль, поскольку позволяет внешнему коду изменять внутреннее состояние объекта. Рассмотрим следующий пример:
class MyClass:
    def __init__(self, value):
        self.value = value  # Публичное свойство

obj = MyClass(10)
obj.value = 20  # Значение свойства изменено
В этом примере значение свойства value изменяется после создания объекта, что делает его неиммутабельным. Как сделать класс иммутабельным: Для создания такого класса необходимо: 1️⃣Сделать все свойства приватными (private). 2️⃣Объявить все свойства финальными (final) или установить их значение в конструкторе и не предоставлять сеттеров. 3️⃣Предоставить только геттеры для доступа к свойствам. Пример:
class ImmutableClass:
    def __init__(self, value):
        self._value = value  # Приватное свойство

    @property
    def value(self):
        return self._value

# Попытка изменения значения
obj = ImmutableClass(10)
print(obj.value)  # Выведет 10
# obj.value = 20  # AttributeError: can't set attribute
Пример:
public final class ImmutableClass {
    private final int value;

    public ImmutableClass(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

ImmutableClass obj = new ImmutableClass(10);
System.out.println(obj.getValue());  // Выведет 10
// obj.value = 20;  // Ошибка: значение не может быть изменено
Публичное свойство в классе не делает его иммутабельным. Для обеспечения иммутабельности все свойства должны быть приватными и неизменяемыми после инициализации. Это достигается путем использования приватных свойств и отсутствия сеттеров, позволяющих изменять состояние объекта после его создания. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🤔 Какой магический метод вызывается при попытке обращения к несуществующему свойству объекта?
Anonymous voting

💸 Работа для IT'шников Выбери своё направление ⤵ 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Science 6. DevOps 7. C# 8. С/C++ 9. Golang 10. PHP 11. Kotlin 12. Swift

Что изменилось в приведении типов в PHP 8 ? Спросят с вероятностью 13% В PHP 8 были введены важные изменения в приведении типов, которые влияют на поведение и строгую типизацию. Вот основные нововведения и их последствия: Основные изменения 1️⃣Строгая типизация (`strict_types`): ✅В PHP 7 можно было включить строгую типизацию на уровне файла с помощью директивы declare(strict_types=1);. Это требование сохраняется и в PHP 8, но типизация стала еще строже в некоторых аспектах. 2️⃣Улучшенная проверка типов при передаче аргументов и возврате значений: ✅Типы параметров и возвращаемых значений функций проверяются более строго. Если значение не соответствует указанному типу, будет выброшено исключение TypeError. 3️⃣Сопоставление с новыми типами: ✅Union Types: Добавляет поддержку объединенных типов (union types), которые позволяют указать несколько типов для одного параметра или возвращаемого значения.
      function foo(int|float $number): int|float {
       return $number;
   }
   
4️⃣Mixed type: ✅Тип теперь используется для обозначения переменной, которая может содержать значение любого типа. Этот тип включает в себя все возможные типы, включая null.
      function bar(mixed $value): mixed {
       return $value;
   }
   
5️⃣Строгая проверка при приведении строк к числам: ✅Изменил поведение при приведении строк к числам. Теперь строки, которые не могут быть интерпретированы как корректные числа, не будут автоматически приводиться к 0, и будет выбрасываться предупреждение.
      $result = (int) "123abc"; // В PHP 8 это вызовет предупреждение, так как "123abc" не является корректным числом.
   
6️⃣Строгая проверка при приведении `null`: ✅Также вводит более строгую проверку для приведения null. Например, вызов функции с параметром, который должен быть объектом, но которому передается null, вызовет ошибку. Union Types
function processNumber(int|float $number): int|float {
    return $number * 2;
}

echo processNumber(5);    // 10
echo processNumber(5.5);  // 11.0
Строгая проверка строк к числам
$number = "123abc";
$result = (int) $number; // В PHP 8 это вызовет предупреждение
Использование mixed типа
function getValue(mixed $input): mixed {
    if (is_array($input)) {
        return $input[0];
    } else {
        return $input;
    }
}

echo getValue([1, 2, 3]); // 1
echo getValue("string");  // string
В PHP 8 типизация стала строже: введены объединенные типы (union types), тип mixed, и улучшена проверка типов. Приведение строк к числам и передача null теперь проверяются тщательнее. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🤔 Какое свойство класса ReflectionParameter возвращает имя параметра?
Anonymous voting

Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Jav
Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Java 4. C# 5. Golang 6. C/C++ 7. PHP 8. Kotlin 9. Swift

Для каждого канала свой жпт есть?

🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Sci
🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Science 6. DevOps 7. C# 8. С/C++ 9. Golang 10. PHP 11. Kotlin 12. Swift

Repost from Идущий к IT
10$ за техническое собеседование на английском языке: 1. Отправьте запись технического собеседования на английском языке файл
10$ за техническое собеседование на английском языке: 1. Отправьте запись технического собеседования на английском языке файлом на этот аккаунт 2. Добавьте ссылку на вакансию или пришлите название компании и должность 3. Напишите номер кошелка USDT (Tether) на который отправить 10$ 🛡 Важно: – Запись будет использована только для сбора данных о вопросах – Вы останетесь анонимны – Запись нигде не будет опубликована 🤝 Условия: – Внятный звук, различимая речь – Допустимые профессии: • Любые программисты • DevOps • Тестировщики • Дата сайнтисты • Бизнес/Системные аналитики • Прожекты/Продукты • UX/UI и продукт дизайнеры

🤔 Какая функция используется для сортировки массива в порядке возрастания?
Anonymous voting

В чем разница между pull и fetch ? Спросят с вероятностью 13% В системе управления версиями Git команды pull и fetch используются для синхронизации локального репозитория с удаленным репозиторием, но делают они это по-разному. Основные различия между ними git fetch Что делает: Команда загружает изменения из удаленного репозитория в ваш локальный репозиторий, но не вносит их в текущую рабочую ветку. ✅Использование: Это полезно, когда вы хотите увидеть все изменения, которые произошли в удаленном репозитории, прежде чем интегрировать их в свою работу.
git fetch origin
Эта команда скачает все обновления из удаленного репозитория с именем origin, но ваша текущая ветка останется неизменной. После этого вы можете просмотреть изменения, используя команды, такие как git log или git diff. git pull Что делает: Команда выполняет git fetch и затем автоматически объединяет (merge) загруженные изменения с вашей текущей веткой. ✅Использование: Удобно, когда вы хотите сразу получить последние изменения и объединить их с вашей текущей работой.
git pull origin main
Эта команда сначала скачает изменения из удаленной ветки main репозитория origin, а затем попытается автоматически объединить эти изменения с вашей текущей веткой. Почему это важно ✅Контроль: Дает вам больше контроля над процессом интеграции изменений, так как позволяет сначала просмотреть изменения и решить, как их лучше внедрить. ✅Автоматизация: Удобен для быстрого обновления вашей работы, но автоматическое объединение может иногда привести к конфликтам, которые необходимо будет разрешать вручную. Использование git fetch 1️⃣Скачайте изменения из удаленного репозитория:
        git fetch origin
    
2️⃣Просмотрите изменения:
        git log origin/main
    
3️⃣Внесите изменения в свою ветку:
        git merge origin/main
    
Использование git pull 1️⃣Скачайте и объедините изменения в одну команду:
        git pull origin main
    
git fetch загружает изменения из удаленного репозитория без автоматического объединения с вашей текущей веткой, тогда как git pull делает это объединение автоматически после загрузки изменений. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🤔 Какой оператор используется для выполнения замены переменных в двойных кавычках в PHP?
Anonymous voting

Какие есть минусы у монолитов и микросервисов ? Спросят с вероятностью 13% Каждая архитектурная парадигма — монолитная и микросервисная — имеет свои плюсы и минусы. Понимание этих недостатков помогает выбрать подходящий подход для конкретного проекта. Монолитная архитектура Минусы: 1️⃣Сложность управления кодом: Со временем кодовая база может стать огромной и сложной, что затрудняет понимание и поддержку кода. 2️⃣Медленные релизы: Поскольку все части системы связаны между собой, изменения в одной части могут повлиять на всю систему, что требует тщательного тестирования перед выпуском. 3️⃣Слабая масштабируемость: Масштабирование монолитного приложения требует масштабирования всей системы, даже если только одна часть приложения испытывает высокую нагрузку. 4️⃣Ограниченная гибкость технологий: Трудно использовать разные технологии или языки программирования для различных частей системы, так как всё должно работать вместе в одном приложении. 5️⃣Долгий цикл развертывания: Обновление или развертывание приложения требует остановки и перезапуска всего приложения, что может привести к простою. Микросервисная архитектура Минусы: 1️⃣Сложность управления: Большое количество сервисов усложняет мониторинг, логирование и управление зависимостями между сервисами. 2️⃣Сетевая латентность: Взаимодействие между сервисами происходит через сеть, что может привести к задержкам и снижению производительности. 3️⃣Распределенные транзакции: Обеспечение согласованности данных между различными сервисами может быть сложным, особенно в контексте распределенных транзакций. 4️⃣Сложность в разработке и тестировании: Разработка и тестирование микросервисов требует дополнительных усилий для обеспечения совместимости и взаимодействия между сервисами. 5️⃣Обеспечение безопасности: Каждое взаимодействие между сервисами требует аутентификации и авторизации, что добавляет дополнительный уровень сложности. 6️⃣Управление конфигурациями: Разные сервисы могут иметь разные конфигурации, что усложняет управление ими и может привести к ошибкам. ✅Монолитная архитектура: Усложняет управление и масштабирование системы, ведет к долгим циклам развертывания и медленным релизам. ✅Микросервисная архитектура: Увеличивает сложность управления и взаимодействия между сервисами, может страдать от сетевой латентности и сложностей с обеспечением безопасности и согласованности данных. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

🤔 Какая функция используется для перезапуска сессии с новым идентификатором в PHP?
Anonymous voting

В чем ставится всегда цель теста ? Спросят с вероятностью 13% Цель тестирования, включая тестирование на языке PHP, всегда заключается в следующем: 1️⃣Обнаружение ошибок: Выявить баги или дефекты в коде, чтобы обеспечить его правильное функционирование. 2️⃣Проверка функциональности: Убедиться, что код выполняет все предусмотренные функции в соответствии с требованиями. 3️⃣Улучшение качества: Повысить качество кода, обеспечив его надежность, производительность и безопасность. 4️⃣Поддержка и рефакторинг: Упростить будущие изменения и поддержку кода, благодаря наличию тестов, которые подтверждают правильность работы после внесения изменений. Примеры и пояснения 1️⃣Обнаружение ошибок Когда вы пишете код, ошибки неизбежны. Тестирование помогает выявить эти ошибки до того, как программа будет использована пользователями. Например, вы можете написать юнит-тест для функции, которая складывает два числа:
function add($a, $b) {
    return $a + $b;
}

// Тест для функции add
class AddTest extends PHPUnit\Framework\TestCase {
    public function testAdd() {
        $this->assertEquals(4, add(2, 2));
        $this->assertEquals(0, add(-1, 1));
    }
}
2️⃣Проверка функциональности Важно убедиться, что программа работает так, как задумано. Например, если вы разрабатываете форму входа, вам нужно протестировать различные сценарии: правильные учетные данные, неправильные учетные данные и т. д. 3️⃣Улучшение качества Тестирование помогает сделать код более надежным. Например, интеграционные тесты могут проверять взаимодействие различных частей системы, гарантируя, что они работают вместе без проблем. 4️⃣Поддержка и рефакторинг При изменении кода важно быть уверенным, что изменения не нарушают существующий функционал. Автоматические тесты служат как документация и защита от регрессии. Пример: если вы рефакторите функцию add, тесты быстро покажут, если новая реализация неверна. Цель тестирования — найти ошибки, проверить, что код работает правильно, улучшить качество и облегчить поддержку кода в будущем. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 385 вопросов на PHP разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых