# Laravel Distributed Systems (Laravel) > Comunicação baseada em queue, events, outbox pattern, idempotência, retries, circuit breaker, contratos de API, versionamento, fundamentos de Saga - 22 perguntas de entrevista - Senior - [Perguntas de entrevista: Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista.md) ## 1. O que é o outbox pattern em sistemas distribuídos do Laravel? **Resposta** O outbox pattern armazena os messages/events em uma tabela da database durante a mesma transação que os dados de negócio e, em seguida, os envia de forma assíncrona em um processo separado. Isso garante que os messages sejam sempre enviados mesmo que o sistema caia após o commit da DB. O ShouldQueueAfterCommit do Laravel é uma implementação parcial desse pattern, pois despacha o job somente após o commit da transação, evitando race conditions em que o job é executado antes de os dados estarem disponíveis. ## 2. Qual é a principal diferença entre ShouldQueue e ShouldQueueAfterCommit? **Resposta** ShouldQueue despacha o job imediatamente para a queue, mesmo que a transação DB ainda não tenha sido commitada, o que pode causar race conditions. ShouldQueueAfterCommit espera que todas as transações DB sejam commitadas antes de despachar o job, garantindo que os dados estejam disponíveis quando o job é executado. Use ShouldQueueAfterCommit para jobs que dependem de dados recém-criados ou modificados em uma transação, por exemplo um job de envio de email após a criação de um pedido. ## 3. O que é idempotência no contexto de sistemas distribuídos do Laravel? **Resposta** A idempotência significa que uma operação pode ser executada várias vezes sem alterar o resultado além da primeira execução. No Laravel, isso evita efeitos colaterais indesejados durante os retries de jobs ou messages duplicados. Por exemplo, um job idempotente de criação de pedido verifica se o pedido já existe antes de criá-lo, evitando duplicatas se o job for retentado após um timeout. Use ShouldBeUnique, WithoutOverlapping ou deduplicationId para garantir a idempotência. ## Mais 19 perguntas disponiveis - Qual é a principal vantagem de usar events em vez do dispatch direto de jobs para a comunicação entre serviços? - Em qual contexto ShouldBeEncrypted deve ser usado para queued jobs? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Laravel - [Fundamentos de PHP](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/php-basics.md): 25 perguntas, Junior - [Fundamentos de POO em PHP](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/php-oop-essentials.md): 20 perguntas, Junior - [Composer & Autoloading](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/composer-autoloading.md): 18 perguntas, Junior - [Fundamentos do Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-fundamentals.md): 20 perguntas, Junior - [Routing do Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-routing.md): 20 perguntas, Junior - [Blade Templates](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/blade-templates.md): 18 perguntas, Junior - [Request & Response](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/request-response.md): 20 perguntas, Junior - [Fundamentos do Eloquent ORM](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-orm-basics.md): 22 perguntas, Junior - [Eloquent Relationships](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-relationships.md): 25 perguntas, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/database-migrations.md): 20 perguntas, Mid-Level - [Validação e formulários](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/validation-forms.md): 22 perguntas, Mid-Level - [Autenticação](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/authentication.md): 20 perguntas, Mid-Level - [Autorização e Policies](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/authorization-policies.md): 18 perguntas, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/api-resources-authentication.md): 26 perguntas, Mid-Level - [Middleware](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/middleware.md): 18 perguntas, Mid-Level - [Service Container & DI](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/service-container-di.md): 20 perguntas, Mid-Level - [Queues & Jobs](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/queues-jobs.md): 22 perguntas, Mid-Level - [Events & Listeners](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/events-listeners.md): 18 perguntas, Mid-Level - [Notificações & Mail](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/notifications-mail.md): 20 perguntas, Mid-Level - [File Storage](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/file-storage.md): 18 perguntas, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/testing-phpunit.md): 24 perguntas, Mid-Level - [Caching](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/caching.md): 18 perguntas, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/livewire-inertia.md): 20 perguntas, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-advanced.md): 24 perguntas, Senior - [Repository Pattern](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/repository-pattern.md): 20 perguntas, Senior - [Laravel Packages](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-packages.md): 20 perguntas, Senior - [Performance Optimization](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Security Best Practices](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/security-best-practices.md): 22 perguntas, Senior - [Laravel Octane](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-octane.md): 18 perguntas, Senior - [Observability & Monitoring](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/observability-monitoring.md): 20 perguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/deployment-devops.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-distributed-systems