Guia de entrevista · GraphQL

How can GraphQL resolvers cause N+1?

do caderno de estudos · atualizado em 2 de outubro de 2026
Para quem vai encarar entrevista de GraphQL2 min

Não decore palavra por palavra: entenda a estrutura da resposta e refaça com as suas palavras, em inglês.

A resposta, como você fala na entrevista

A naive orders resolver that queries separately for every parent produces 100 order queries for 100 users, in addition to the users query. Resolver invocation alone does not require a database query if data is already loaded.
Fix: DataLoader coalesces loads in a scheduling window and passes the keys to your batchLoadFn. YOU implement the batched backend lookup, such as WHERE user_id IN (...), and return results aligned with the requested keys. Its memoization cache belongs to the loader instance: create loaders per request to avoid sharing cached data across users.
Explain the query count before choosing DataLoader. A join or suitable eager-loading strategy can also solve the access pattern.

Ler é o primeiro passo. No app, essa pergunta vira flashcard com repetição espaçada, e o módulo tem quiz e simulado para testar o que ficou.

Treinar essa pergunta no app