Подборка объединяет вопросы, отмеченные на этапах интервью в ООО Блэкмедиа. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: Symfony, php, symfony.
Индекс — дополнительная структура для ускорения поиска и некоторых сортировок или соединений. Он полезен, когда позволяет прочитать существенно меньше данных, чем полный просмотр таблицы.
Дедлок — цикл ожидания ресурсов: каждый участник держит ресурс, нужный другому, и ждёт освобождения следующего. В БД система обычно прерывает одну из транзакций, чтобы разорвать цикл.
Двоичный float не представляет многие десятичные дроби точно, поэтому накопление операций может дать нежелательные ошибки округления. Для денежных расчётов обычно выбирают целые минимальные единицы или decimal.
Запрос попадает во front controller и Kernel, затем HttpKernel организует выбор контроллера, разрешение аргументов и получение Response. По ходу вызываются события для расширения обработки.
Сначала уточните желаемый бизнес-результат, пользователей и ограничения. Затем согласуйте критерии готовности и предложите минимальный способ проверить решение.
Symfony Messenger — компонент для отправки сообщений через bus и обработки handlers. Сообщение может обрабатываться сразу или передаваться в transport для выполнения worker позднее.
Назовите конкретный навык или тип задач, где хотите стать сильнее, и покажите, как уже над этим работаете. Зона роста должна соотноситься с опытом, а не быть замаскированным комплиментом.
N+1 возникает, когда сначала загружается список из N объектов, а затем для каждого выполняется отдельный запрос к связанным данным. Вместо небольшого числа запросов получается 1 + N.
INNER JOIN возвращает только совпавшие пары строк, LEFT JOIN сохраняет все строки левой таблицы. Для левой строки без совпадения поля правой стороны заполняются NULL.