
GraphQL con NestJS
Apollo Server, resolvers, schemas, queries, mutations, subscriptions, data loaders
1Cos'è GraphQL?
Cos'è GraphQL?
Risposta
GraphQL è un linguaggio di query per le API sviluppato da Facebook, che consente al client di richiedere esattamente i dati di cui ha bisogno. A differenza di REST, dove ogni endpoint restituisce una struttura fissa, GraphQL offre un unico punto di ingresso con uno schema fortemente tipizzato. Questo approccio riduce l'over-fetching e l'under-fetching dei dati migliorando al contempo le prestazioni delle applicazioni.
2Qual è il ruolo principale di uno schema GraphQL?
Qual è il ruolo principale di uno schema GraphQL?
Risposta
Lo schema GraphQL definisce la struttura completa dell'API specificando i tipi di dati disponibili, le query, le mutation e le relazioni tra le entità. Funge da contratto tra client e server, consentendo la validazione automatica delle query e il completamento automatico negli strumenti di sviluppo. Lo schema utilizza lo Schema Definition Language (SDL) per descrivere in modo dichiarativo i tipi e i loro campi.
3Qual è la differenza tra Query e Mutation?
Qual è la differenza tra Query e Mutation?
Risposta
Le query vengono utilizzate per leggere i dati senza modificare lo stato del server, mentre le mutation servono a creare, aggiornare o eliminare dati. Questa distinzione semantica aiuta a comprendere l'intento di un'operazione e consente al server di applicare ottimizzazioni specifiche. Per convenzione, le query possono essere eseguite in parallelo, mentre le mutation vengono eseguite in sequenza per garantire la coerenza dei dati.
Cos'è un resolver in GraphQL?
Quale decorator NestJS definisce una Query GraphQL?
+22 domande da colloquio
Altri argomenti di colloquio Node.js / NestJS
Fondamenti di Node.js
API Core di Node.js
Programmazione asincrona
Fondamenti di Express.js
Fondamenti di NestJS
Progettazione di API REST
Validazione e DTO
Documentazione API e contratti
Gestione degli errori
Test unitari
Pianificazione delle attività
Moduli e DI di NestJS
Configurazione e gestione degli ambienti
Autenticazione JWT
Autorizzazione e RBAC
Database con TypeORM
Prisma ORM
Middleware e Interceptor
Caricamento file
WebSockets
Test end-to-end
Caching con Redis
Code con Bull
DevOps, Logging e CI/CD
Docker e containerizzazione
Microservices
Migliori pratiche di sicurezza
Performance e deployment cloud
Padroneggia Node.js / NestJS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis