en
Feedback
PHP задачи с собеседований

PHP задачи с собеседований

Open in Telegram

Задачи, тесты и теоретические вопросы по PHP. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny

Show more
2 907
Subscribers
+124 hours
No data7 days
-630 days
Posts Archive
💬 Обратная связь Какие темы освещать чаще? 🔥 — PHP Core 👍🏼 — Laravel / Symfony ❤️ — Паттерны и дизайн 😁 — Предложу в комменты

Что обеспечивает идемпотентность?
Anonymous voting

Локализация текстов в Symfony: от статических переводов к динамическим данным из базы. Бесплатный урок курса «Symfony Framewo
Локализация текстов в Symfony: от статических переводов к динамическим данным из базы. Бесплатный урок курса «Symfony Framework» Перевести интерфейс через файлы — это только начало. Настоящие сложности начинаются тогда, когда переводить нужно не статичные строки, а содержимое из базы данных, которое живёт в административной панели, меняется редакторами и должно оставаться управляемым с точки зрения архитектуры. 📅 На открытом уроке 15 апреля в 20:00: — Разберём реальный сценарий локализации в Symfony — от стандартного подхода со статическими переводами до более сложной работы с динамическими текстами из базы данных. — Покажем возможности компонента symfony/translation, разберём подходы к хранению переводов, варианты моделей данных и практическую реализацию получения локализованного содержимого через Doctrine.
Урок не для тех, кто хочет решить многоязычность «одной таблицей на всё», не думает о поддержке архитектуры и считает, что локализация заканчивается на переводе кнопок и заголовков.
👉 Записаться: https://clck.ru/3T2KwM Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

❓ Что такое событийно-ориентированная архитектура? Event-driven architecture — это когда компоненты общаются через события, не зная друг о друге напрямую. // Событие: class UserRegistered { public function __construct(public readonly User $user) {} } // Listener: class SendWelcomeEmail { public function handle(UserRegistered $event): void { $this->mailer->send($event->user->email, 'Welcome!'); } } // Диспетчер: $dispatcher->dispatch(new UserRegistered($user)); Зачем ✔️ Слабая связанность (UserService не знает о SendWelcomeEmail) ✔️ Легко добавить новый listener без изменения существующего кода (Open/Closed) ✔️ Можно делать асинхронные listeners (через очередь) В Laravel: Event / Listener, EventServiceProvider. В Symfony: EventDispatcher, декларация через атрибуты. Подводный камень: сложно трейсить цепочку — одно событие вызывает другое.

💬 Обратная связь Текущий уровень сложности задачек? 🔥 — Слишком просто, хочу сложнее 👍🏼 — В самый раз ❤️ — Иногда сложновато 😁 — Часто не понимаю

Используется Doctrine transport. Какая семантика доставки сообщений?
Anonymous voting

Какой признак характерен для архитектуры CQRS?
Anonymous voting

Что означает буква "D" в принципах SOLID?
Anonymous voting

😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности. Как адаптировать продукт и не исчезнуть из выдачи: — интегрировать MCP и A2A-взаимодействие, чтобы агенты могли вас читать; — научиться контролировать стоимость (лимиты, кэш, роутинг между моделями); — настроить AgentOps: трейсинг, логирование и отлов регрессий. Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов» (https://clc.to/YcZxWg). Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях. Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше. Зафиксировать цену и начать деплоить агентов без слива бюджета (https://clc.to/YcZxWg) 👈

Случайно сделал коммит с ошибкой. Как быстро исправить не создавая новый?
Anonymous voting

❓ Чем отличается Optimistic Lock от Pessimistic Lock? Pessimistic Lock — блокируем строку в БД на время транзакции. Никто другой не может её изменить до снятия блокировки. SELECT * FROM orders WHERE id = 1 FOR UPDATE; Применять когда: высокая вероятность конфликта, критичные финансовые операции, короткие транзакции. Минус: снижает throughput, риск дедлоков при блокировке нескольких строк в разном порядке. Optimistic Lock — блокировки нет. У записи есть поле version. При обновлении проверяем, что версия не изменилась: UPDATE orders SET status = 'paid', version = 6 WHERE id = 1 AND version = 5; Если affected_rows = 0 — кто-то успел раньше, делаем retry или возвращаем ошибку. Применять когда: конфликты редки, операции долгие (нельзя держать блокировку), высокий параллелизм. Минус: нужен retry-механизм, сложнее реализовать корректно.

Что выведет код?
Anonymous voting

Что выведет код?
Что выведет код?

💬 Обратная связь Как часто вы проходите собеседования? 🔥 — Сейчас активно ищу работу 👍🏼 — Раз в несколько месяцев ❤️ — Раз в полгода-год 😁 — Не прохожу, уже работаю/ещё учусь

Начать рассказывать интервьюеру, как вы ловко дёргаете ручки API через базовый LangChain. Звучит как отличный план, да? Нет, это мгновенный отказ. В свежем отчёте по рынку GPU говорится, что 54% компаний стопают ИИ-внедрения тупо из-за конских затрат на инфраструктуру. На серверах более 70% стоимости — это видеокарты. Поэтому на собесах сейчас спрашивают не про красивые промпты, а про жёсткую экономику агентов. По сути, от вас ждут понимания, как лимитировать ресурсы на лету, роутить запросы и дебажить отказы через механизм time-travel в LangGraph. Если вы до сих пор собираете ботов в ноутбуках, гляньте обновлённый курс «Разработка ИИ-агентов» (https://clc.to/2EtDKg) — фокус там смещён с игрушечных концепций на суровый энтерпрайз. Что требуют от мидлов и выше: — интеграция мультиагентных систем по стандарту MCP; — суровый AgentOps: метрики, трейсинг, защита от деградации пайплайнов; — локальный деплой Open Source под 152-ФЗ (без этого в финтех можно даже не стучаться). Прямо сейчас можно урвать курс с увесистой скидкой (49 000 ₽ 62 990 ₽ за базовый тариф и 99 000 ₽ 124 990 ₽ за продвинутый трек), но стоит поторопиться — на потоке осталось всего 5 мест. 👉 Подтянуть архитектуру до уровня прода (https://clc.to/2EtDKg)

Какая из следующих функций используется для выбора одного или нескольких случайных значений из массива PHP?
Anonymous voting

❓ Что такое Dependency Injection? DI — паттерн, при котором зависимости класса передаются извне, а не создаются внутри. // Плохо — жёсткая связанность: class OrderService { private $mailer; public function __construct() { $this->mailer = new SmtpMailer(); // зависимость зашита внутри } } // Хорошо — DI: class OrderService { public function __construct(private MailerInterface $mailer) {} } Зачем: ✔️ Легко подменить реализацию (например, для тестов — MockMailer) ✔️ Классы не знают о конкретных реализациях (зависимость от абстракции) ✔️ Код легче тестировать, поддерживать, расширять DI Container (Symfony, Laravel) автоматизирует создание объектов и внедрение зависимостей по всему приложению.

DDD — границы агрегатов. За соблюдение кредитного лимита клиента при создании заказа кто отвечает?
Anonymous voting

Что действительно ускоряет автозагрузку на проде?
Anonymous voting