Django

Django & GraphQL

GraphQL com Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, autenticação, DataLoader, problema N+1

24 perguntas de entrevista·
Senior
1

O que é GraphQL e qual é a sua principal diferença em relação ao REST?

Resposta

GraphQL é uma linguagem de consulta para APIs desenvolvida pelo Facebook. Ao contrário do REST, que expõe múltiplos endpoints que retornam estruturas de dados fixas, o GraphQL usa um único endpoint que permite ao cliente especificar exatamente os dados de que precisa. Isso resolve os problemas de over-fetching (receber dados em excesso) e under-fetching (ter que fazer várias requisições) comuns no REST.

2

Quais são as duas principais bibliotecas GraphQL disponíveis para Django?

Resposta

Strawberry e Graphene-Django são as duas principais bibliotecas GraphQL para Django. O Graphene-Django é mais maduro e amplamente adotado, usando uma sintaxe baseada em classes. O Strawberry é mais moderno, usa type hints nativos do Python e oferece melhor integração com ferramentas de tipagem. O Strawberry é recomendado para novos projetos devido à sua sintaxe mais pythônica e ao suporte nativo a async.

3

Como definir um tipo GraphQL simples com Strawberry para representar um modelo User do Django?

Resposta

Com o Strawberry, o decorador @strawberry.type é usado em uma classe dataclass para definir um tipo GraphQL. Os campos são declarados com type hints padrão do Python (str, int, etc.). Essa abordagem aproveita o sistema de tipagem nativo do Python, tornando o código mais legível e permitindo melhor integração com IDEs e ferramentas de verificação de tipos como o mypy.

4

O que é um resolver no GraphQL e qual é o seu papel?

5

Qual é a diferença entre uma Query e uma Mutation no GraphQL?

+21 perguntas de entrevista

Domine Django para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis