Ruby on Rails

GraphQL con Rails

gem graphql-ruby, types, queries, mutations, resolvers, N+1 queries, batching

20 domande da colloquio·
Senior
1

Quale gem è la più utilizzata per implementare GraphQL in un'applicazione Rails?

Risposta

La gem graphql-ruby (spesso chiamata semplicemente graphql) è la soluzione di riferimento per implementare GraphQL in Rails. Offre un DSL Ruby espressivo per definire types, queries e mutations, oltre a un'integrazione nativa con Rails tramite routes e controllers. Mantenuta attivamente da Robert Mosolgo, è utilizzata da aziende come GitHub e Shopify in produzione.

2

Come definire un type Object in graphql-ruby per rappresentare un modello User?

Risposta

Un type Object in graphql-ruby eredita da Types::BaseObject ed espone i campi tramite il metodo field. Ogni campo specifica il proprio nome, il tipo GraphQL (String, Int, ID, ecc.) e la sua nullabilità. Questo approccio dichiarativo consente di controllare con precisione quali dati del modello vengono esposti tramite l'API GraphQL, garantendo una netta separazione tra il modello ActiveRecord e la sua rappresentazione GraphQL.

3

Qual è la differenza principale tra una Query e una Mutation in GraphQL?

Risposta

Le Queries vengono utilizzate per leggere dati (operazioni GET) mentre le Mutations vengono utilizzate per modificare dati (creazione, aggiornamento, eliminazione). Per convenzione GraphQL, le queries sono idempotenti e possono essere eseguite in parallelo, mentre le mutations vengono eseguite in sequenza per garantire l'ordine degli effetti collaterali. Questa distinzione è fondamentale per un'API GraphQL ben progettata.

4

Come dichiarare un campo con argomenti in un type Query di graphql-ruby?

5

Quale grave problema di prestazioni si verifica frequentemente con GraphQL e le associazioni ActiveRecord?

+17 domande da colloquio

Padroneggia Ruby on Rails per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis