# Laravel Distributed Systems (Laravel) > Комунікація на основі queue, events, outbox pattern, ідемпотентність, retries, circuit breaker, контракти API, версіонування, основи Saga - 22 питань зі співбесід - Senior - [Питання зі співбесід: Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy.md) ## 1. Що таке outbox pattern у розподілених системах Laravel? **Відповідь** outbox pattern зберігає messages/events у таблиці database в межах тієї самої транзакції, що й бізнес-дані, а потім надсилає їх асинхронно в окремому процесі. Це гарантує, що messages завжди будуть надіслані, навіть якщо система впаде після commit DB. ShouldQueueAfterCommit у Laravel є частковою реалізацією цього pattern, оскільки він dispatch job лише після commit транзакції, уникаючи race condition, коли job виконується до того, як дані стануть доступними. ## 2. Яка основна різниця між ShouldQueue та ShouldQueueAfterCommit? **Відповідь** ShouldQueue dispatch job одразу в queue, навіть якщо транзакція DB ще не закомічена, що може спричинити race condition. ShouldQueueAfterCommit чекає, поки всі транзакції DB будуть закомічені, перш ніж dispatch job, гарантуючи, що дані доступні під час виконання job. Використовуйте ShouldQueueAfterCommit для job, які залежать від щойно створених або змінених у транзакції даних, наприклад job надсилання email після створення замовлення. ## 3. Що таке ідемпотентність у контексті розподілених систем Laravel? **Відповідь** Ідемпотентність означає, що операцію можна виконувати кілька разів без зміни результату після першого виконання. У Laravel це запобігає небажаним побічним ефектам під час retries job або дубльованих messages. Наприклад, ідемпотентний job створення замовлення перевіряє, чи замовлення вже існує, перш ніж створити його, уникаючи дублікатів, якщо job повторюється після timeout. Використовуйте ShouldBeUnique, WithoutOverlapping або deduplicationId, щоб забезпечити ідемпотентність. ## Ще 19 доступних питань - Яка основна перевага використання events замість прямого dispatch jobs для комунікації між сервісами? - У якому контексті слід використовувати ShouldBeEncrypted для queued jobs? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід Laravel - [Основи PHP](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/php-basics.md): 25 запитань, Junior - [Основи ООП у PHP](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/php-oop-essentials.md): 20 запитань, Junior - [Composer & Autoloading](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/composer-autoloading.md): 18 запитань, Junior - [Основи Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-fundamentals.md): 20 запитань, Junior - [Маршрутизація в Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-routing.md): 20 запитань, Junior - [Blade Templates](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/blade-templates.md): 18 запитань, Junior - [Request & Response](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/request-response.md): 20 запитань, Junior - [Основи Eloquent ORM](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-orm-basics.md): 22 запитань, Junior - [Eloquent Relationships](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-relationships.md): 25 запитань, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/database-migrations.md): 20 запитань, Mid-Level - [Валідація та форми](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/validation-forms.md): 22 запитань, Mid-Level - [Автентифікація](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/authentication.md): 20 запитань, Mid-Level - [Авторизація та Policies](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/authorization-policies.md): 18 запитань, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/api-resources-authentication.md): 26 запитань, Mid-Level - [Middleware](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/middleware.md): 18 запитань, Mid-Level - [Service Container & DI](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/service-container-di.md): 20 запитань, Mid-Level - [Queues & Jobs](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/queues-jobs.md): 22 запитань, Mid-Level - [Events & Listeners](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/events-listeners.md): 18 запитань, Mid-Level - [Сповіщення та Mail](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/notifications-mail.md): 20 запитань, Mid-Level - [File Storage](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/file-storage.md): 18 запитань, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/testing-phpunit.md): 24 запитань, Mid-Level - [Caching](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/caching.md): 18 запитань, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/livewire-inertia.md): 20 запитань, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-advanced.md): 24 запитань, Senior - [Repository Pattern](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/repository-pattern.md): 20 запитань, Senior - [Laravel Packages](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-packages.md): 20 запитань, Senior - [Performance Optimization](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Security Best Practices](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/security-best-practices.md): 22 запитань, Senior - [Laravel Octane](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-octane.md): 18 запитань, Senior - [Observability & Monitoring](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/observability-monitoring.md): 20 запитань, Senior - [Deployment & DevOps](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/deployment-devops.md): 20 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-distributed-systems