Пока нет отзывов. Будьте первым, кто поделится своим опытом!
Последние посты
PHP задачи с собеседований
29 апр. 2026 г., 12:21
[poll]
506
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
[poll]
463
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
[poll]
473
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
📷 Photo
454
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
📷 Photo
542
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
[poll]
556
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
💬 Обратная связь
Какие темы освещать чаще?
🔥 — PHP Core
👍🏼 — Laravel / Symfony
❤️ — Паттерны и дизайн
😁 — Предложу в комменты
512
26
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
📷 Photo
462
0
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
💬 Обратная связь
Текущий уровень сложности задачек?
🔥 — Слишком просто, хочу сложнее
👍🏼 — В самый раз
❤️ — Иногда сложновато
😁 — Часто не понимаю
558
4
0
PHP задачи с собеседований
29 апр. 2026 г., 12:21
❓ Что такое событийно-ориентированная архитектура?
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, декларация через атрибуты.
Подводный камень: сложно трейсить цепочку — одно событие вызывает другое.
626
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
[poll]
625
0
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
[poll]
695
0
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
[poll]
522
0
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать MCP и A2A-взаимодействие, чтобы агенты могли вас читать;
— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов» ( https://clc.to/YcZxWg). Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета ( https://clc.to/YcZxWg) 👈
578
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
[poll]
547
0
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
❓ Чем отличается 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-механизм, сложнее реализовать корректно.
580
3
PHP задачи с собеседований
16 апр. 2026 г., 08:45
[poll]
640
0
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
💬 Обратная связь
Как часто вы проходите собеседования?
🔥 — Сейчас активно ищу работу
👍🏼 — Раз в несколько месяцев
❤️ — Раз в полгода-год
😁 — Не прохожу, уже работаю/ещё учусь
572
3
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
📷 Photo
Что выведет код?
548
0
PHP задачи с собеседований
16 апр. 2026 г., 08:45
❓ Что такое 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) автоматизирует создание объектов и внедрение зависимостей по всему приложению.