Техническое интервью

Подготовка к собеседованию

Подготовка к собеседованию

Основные изменения в версии PHP 8.5

Pipe-оператор |>

В PHP 8.5 представлен новый pipe-оператор ( |> ), который упрощает работу с последовательными вызовами функций. Этот оператор передаёт результат выполнения одной функции в качестве аргумента следующей функции в цепочке.

Ранее для последовательной обработки данных использовались два подхода: либо вложенные вызовы функций (которые затрудняют чтение кода из-за обратного порядка выполнения), либо создание промежуточных...

Читать далее
1
134

NoSQL база данных Redis

Здесь собрана сборная информация по базе данных Redis, которая может понадобиться при работе с этим хранилищем данных или если вас спросят о ней на собеседовании:)

Redis — это система для хранения данных, которая использует пары "ключ — значение". Вместо таблиц, как в реляционных или документоориентированных базах данных, такой тип БД имеет только ключи и соответствующие им значения. Он может хранить огромное количество таких пар —...

Читать далее
1
540

Основные изменения в версиях PHP

В этом списке не ставится целью перечислить все изменения между версиями в PHP, для этого существует официальная документация, но можно попробовать охватить относительно значимые изменения, произошедшие от версии 5.4 до текущего состояния (на момент написания это ...

Читать далее
1
444

Индексы в SQL базах данных

Что такое индексы?

При вставке очередной строки в таблицу сервер вашей БД технически не размещает их в какой-либо таблице по порядку, вместо этого он просто помещает данные в следующее доступное место в файле по списку этих свободных мест. При запросе к таблице серверу приходится проверять каждую строку таблицы, чтобы ответить по условиям запроса. Например, чтобы найти пользователей, имя которых начинается с "F", сервер должен...

Читать далее
1
889

Транзакции в MySQL

Транзакция представляет собой группу операторов SQL, которые обрабатываются атомарно, то есть как цельная единица проведённой работы. Если механизм базы данных может применить всю группу операторов к базе данных, он делает это, но если какой-либо из операторов не может быть выполнен из-за сбоя или по другой причине, ни один из них не применяется.

Управление транзакциями

Управление транзакциями является важной частью работы базы...

Читать далее
1
1247
1
Публикуйте, отвечайте, комментируйте...
Вы еще не зарегистрировались?
Войти

Критерии ACID для транзакций в MySQL

ACID - это аббревиатура, обозначающая четыре ключевых свойства систем обработки транзакций: атомарность, согласованность, изолированность и долговечность. Эти характеристики являются основополагающими для обеспечения надежности и защиты данных в базах данных.

ACID

Атомарность. Транзакция воспринимается как единое целое, и ее выполнение подразумевает, что или все действия выполняются успешно, или не выполняется ни одно. Это...

Читать далее
1
476

Обработка ошибок и исключений в PHP

После выхода PHP 7 механизм встроенных ошибок был сильно изменён и теперь представляет собой разделение на классы Error (Фатальная ошибка) и Exception (Исключение). Первый содержит перечень унаследованных от него типизированных классов для фатальных ошибок PHP, а Exception должен содержать исключения с возможностью обработки, которые будут от него унаследованы. Вместе эти два основных класса объединены интерфейсом Throwable, соответственно и...

Читать далее
2
1936
fomiash fomiash
01 Ноября 2023

Использование замыканий в PHP

Замыкание в PHP - это способность анонимной функции взаимодействовать с её окружением. То есть переменные из контекста замыкания могут быть использованы внутри функции.

Анонимная функция - это обычная функция не имеющая названия. Может быть присвоена переменной и не только, также может быть возвращаемым результатом функции или метода, аналогично экземпляру внутреннего класса Closure, которым представлена.

Пример обычной...

Читать далее
2
1319
1

Какие процессы происходят после ввода URL в браузере

Когда пользователь вводит URL в браузере, происходит следующая последовательность процессов:

  1. Парсинг URL: Браузер анализирует введенный URL, чтобы выделить протокол, доменное имя и путь к ресурсу.

  2. DNS-поиск: Браузер отправляет запрос к DNS-серверу для получения IP-адреса, связанного с доменным именем. DNS-сервер возвращает IP-адрес браузеру.

  3. Установка TCP-соединения: Браузер устанавливает TCP-соединение с веб-сервером, используя...

Читать далее
3
896

Шпаргалка по REST - стиле разработки веб-сервисов

REST, или Representational State Transfer, это архитектурный стиль для разработки веб-сервисов. Он основан на нескольких принципах, что делает его простым, масштабируемым и гибким для создания и использования веб-сервисов.

REST использует стандартные HTTP-методы, такие как GET, POST, PUT и DELETE, для взаимодействия между клиентом и сервером. Каждая операция выполняется на определенном ресурсе, которому обычно соответствует определенный URL.

OPTIONS....

Читать далее
3
689

Для чего нужны атрибуты в PHP

Атрибуты вида #[CustomAttribute] добавлены в PHP 8.0 (RFC, Документация)

Атрибуты предоставляют возможность добавлять различную конфигурацию к конкретным классам, методам, константам класса и тд. При этом, пока вы не начнёте обращаться к этой конфигурации, выполнение PHP никак её не воспринимает, как и обычные комментарии. Через рефлексию можно запросить атрибут конкретного класса/метода и...

Читать далее
2
1083
1

Для чего нужен оператор yield в PHP

Оператор yield — основа генераторной функции. Отдалённо этот оператор похож на оператор return , так как тоже реализует возврат, только вместо того, чтобы останавливать выполнение текущей функции, yield предоставляет значение коду, зацикливающемуся на генераторе, и приостанавливает выполнение функции генератора.

Для понимания, что делает yield, необходимо понимать, что такое генераторы. Генераторам же предшествуют итераторы. Когда вы...

Читать далее
1
224

Движки для базы данных MySQL - InnoDB, MyISAM и Archive

InnoDB — многофункциональный движок, который поддерживает большинство функций: транзакции, все ограничения[1], внешние ключи[2], связи таблиц и другое, но не поддерживает полнотекстовый индекс. Данный движок в основном направлен на выборку данных, а не на вставку, следовательно, лучше использовать его там, где чаще всего нужно будет быстро что-то выбрать, а не вставить. Или там, где нужен какой-то функционал,...

Читать далее
1
1345
4

Паттерны проектирования

Что из себя представляет паттерн?

Паттерн проектирования — это распространённое решение конкретной проблемы при проектировании архитектуры программы.

Паттерны проектирования

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

Читать далее
2
332

SOLID - основные принципы проектирования в ООП

SOLID

SOLID

Это аббревиатура пяти основных принципов проектирования в объектно-ориентированном программировании

В большинстве случаев, если вы желаете добра себе и своим коллегам, а также "набили шишки" на неправильно спроектированных классах, и сделали из этого выводы, то будете и так пользоваться принципами, повторяющими SOLID, а также многими другими, что тоже немаловажно. Это к тому, что на знании...

Читать далее
1
589
2

Что такое трейты в PHP и как их использовать

Трейты в PHP

Трейты в PHP существуют с версии 5.4, то есть относительно давно, они добавляют возможность переиспользования кода без наследования, когда один и тот же код можно использовать в совершенно не связанных между собой классах. Факт использования трейтов во фреймворке Symfony, говорит о том, что они могут без проблем вписаться в современные архитектурные решения кода и ничуть не устарели. В целом, они...

Читать далее
2
767
1


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.