Quick answer: What GraphQL skills do jobs require, and what do interviews ask?
- Schema first — types, queries, mutations, input types, interfaces and unions.
- Resolvers — and the N+1 problem, solved with batching (DataLoader).
- Production — cursor pagination, errors, auth per field or object, depth and cost limits.
- At scale — schema evolution without versions, federation into a supergraph, persisted queries.
- Where it's used — product companies with many clients (web, iOS, Android) and complex data.
Key takeaways
- GraphQL shifts complexity from clients to the server — interviews test whether you can handle it.
- N+1 queries are the classic GraphQL performance bug; batching is the expected answer.
- Flexible queries need limits: depth, complexity and rate limiting protect the server.
- Good GraphQL schemas evolve by adding fields and deprecating, not versioning.
- GraphQL knowledge pairs well with React/Apollo or Relay on the client side.
Picture a GraphQL API at a food-delivery company. The home screen query asks for 20 restaurants, each with its rating, three popular dishes and delivery time. In development it's instant. In production, the database shows 81 queries for one screen — one for restaurants and four for each restaurant's fields — and the API slows under lunch-time traffic. The fix is batching: collect the restaurant IDs and load all ratings, dishes and times in a handful of queries. GraphQL interviews almost always reach this problem, because GraphQL's flexibility moves complexity to the server, and the server has to handle it well.

Where GraphQL is used, and why it's tested
GraphQL lets clients request exactly the data they need from a typed schema in one round trip.12 It's popular at product companies with several clients — web, Android, iOS — that need different shapes of the same data, and at companies stitching many services into one API layer. It's common in e-commerce, social, media and SaaS products.
Because GraphQL puts query flexibility in clients' hands, interviews focus on what servers must do in return: efficient resolvers, pagination, authorisation and limits. GraphQL usually sits inside back-end and full-stack roles; back-end developers in India typically earned ₹10.6–11.7 lakh on AmbitionBox in October 2026.6
- Fetches nested data for a whole screen
- 1 request
- The classic GraphQL performance bug
- N+1
- Typical back-end developer pay in India (AmbitionBox, Oct 2026)
- ₹10.6–11.7 lakh
- Good GraphQL schemas evolve by addition and deprecation
- 0 versions
How GraphQL is tested
| Format | Example | What they check |
|---|---|---|
| Schema design | "Design a schema for a ride-hailing app." | Types, relationships, inputs, naming |
| Query writing | Fragments, variables, aliases | Client-side fluency |
| Resolver/performance | "This query is slow — why?" | N+1, batching, caching |
| Security | "How do you stop abusive queries?" | Depth/complexity limits, auth |
| Senior design | Federation, schema evolution | Scaling GraphQL across teams |
Table: How GraphQL is tested (editorial summary)
What GraphQL skills cover

Schema design
Object types, scalars, enums, input types, interfaces and unions; nullability chosen deliberately.
Operations
Queries, mutations and subscriptions; fragments, variables and aliases.
Resolvers and batching
Thin resolvers, DataLoader-style batching and per-request caching.3
Pagination
Cursor-based connections with edges and pageInfo, as recommended by the GraphQL Foundation.5
Security and limits
Authentication, object/field authorisation, depth and complexity limits, rate limits, persisted queries.4
Evolution and federation
Adding fields, @deprecated, and composing services into a supergraph.
Worked example: fixing N+1 with a loader
// Without batching: one query per restaurant
const resolvers = {
Restaurant: {
rating: (r, _, { db }) => db.ratings.findOne({ restaurantId: r.id }),
},
};
// With batching: one query for all restaurants in the request
const ratingLoader = new DataLoader(async (ids) => {
const rows = await db.ratings.findMany({ restaurantId: { in: ids } });
const byId = new Map(rows.map((row) => [row.restaurantId, row]));
return ids.map((id) => byId.get(id) ?? null); // same order as ids
});
const batchedResolvers = {
Restaurant: { rating: (r) => ratingLoader.load(r.id) },
};
Explain: the loader collects every restaurant ID requested during one tick, fetches them in a single query and returns results in the same order as the keys. Create loaders per request so data isn't shared between users.
GraphQL interview questions, with how to answer them
"GraphQL vs REST?"
GraphQL: flexible queries, one endpoint, typed schema, fewer round trips — but harder HTTP caching and more server complexity. REST: simple, cacheable, widely understood.
"How do you paginate?"
Cursor-based connections: first/after arguments, edges with cursors and pageInfo with hasNextPage.
"How do you handle errors?"
Partial data with an errors array for field failures; typed error results (unions) for expected business errors such as "insufficient balance".
"How do you prevent expensive queries?"
Depth and complexity limits, pagination limits, timeouts, rate limiting and persisted queries for first-party clients.
"Where should authorisation happen?"
In the business layer the resolvers call, checked per object or field — not only at the gateway.
"How do you change a field's type safely?"
Add a new field, mark the old one @deprecated, migrate clients, then remove it after usage drops.
"What is federation?"
Composing several teams' GraphQL services into one supergraph, each owning part of the schema.
"How do you cache GraphQL?"
Client-side normalised caches, per-request DataLoader caching, response caching for persisted queries, and CDN caching with GET for public queries.
How GraphQL adoption has changed
| Period | What happened | What employers expected |
|---|---|---|
| 2012–2015 | Developed inside Facebook; open-sourced in 2015 | Early adopters |
| 2016–2019 | Apollo and Relay ecosystems grow | GraphQL for mobile and web clients |
| 2019–2022 | GraphQL Foundation; federation spreads | Schema governance at scale |
| 2023–2027 | Mixed REST/GraphQL estates; AI tools read schemas | Pragmatic use, security and performance |
Table: How GraphQL adoption has changed (editorial summary)
Practice tasks
- Build an API — A GraphQL server over a real database with three related types.
- Measure N+1 — Log queries, add a loader, compare counts.
- Paginate — Implement cursor-based connections.
- Add limits — Depth and complexity limits; test with an abusive query.
- Evolve the schema — Deprecate a field and migrate a client.
Where GraphQL skills take your career
| Role (India) | Typical pay | GraphQL's part |
|---|---|---|
| Back-end developer | ₹10.6–11.7 lakh | Building GraphQL servers |
| Full-stack developer | ₹9.2–10.2 lakh | Schemas and clients |
| React developer | ₹5.7–6.3 lakh | Apollo/Relay clients |
| Software architect | ₹32.1–35.5 lakh | API strategy and federation |

Table: Roles using GraphQL and typical pay in India (AmbitionBox, October 2026; indicative)
Could you pass the GraphQL Fundamentals Certification today?
Hiring managers test judgement with scenarios like this one. Answer it before you open the explanation — the test has 15 of them, 15 minutes, 70% to pass.
How many endpoints does a typical GraphQL API expose?
- One
- One per type
- One per field
- One per user
Show the answer
A. One — A single endpoint receives all operations.
- 01Schema and queries
- 02Servers in production
- 03Schema design and federation
Free, no sign-up. Pass and you become a GraphQL Fundamentals, with a credential ID employers can verify. Every answer is explained either way.
A four-week plan

- Week 1: Basics — Schema, queries, mutations, fragments; the official Learn pages.
- Week 2: Server — Resolvers over a database; DataLoader; errors.
- Week 3: Production — Pagination, auth, limits; read OWASP's GraphQL cheat sheet.
- Week 4: Prove it — Take the GraphQL Fundamentals Certification.
Related: API Design and Integration and Back-End Development.
What GraphQL work looks like day to day
- Schema reviews — discussing new types and fields with front-end and mobile teams before anyone writes a resolver.
- Resolver performance — reading query logs, adding loaders and fixing slow fields that one screen depends on.
- Client collaboration — helping app developers write efficient queries and fragments, and spotting over-fetching.
- Deprecations — tracking which clients still use old fields and planning their removal.
- Security limits — tuning depth and complexity limits after a client ships an expensive query.
- Federation work — coordinating schema ownership with other teams in a shared supergraph.
Questions to ask in your interview
- Do you use GraphQL alongside REST, and how do you decide which to use?
- How is the schema governed — who approves changes?
- How do you monitor resolver performance and expensive queries?
- Are you federated, and which team owns which part of the graph?
- How do mobile clients handle schema changes between app versions?
More questions interviewers ask
"What are fragments?"
Reusable sets of fields that components declare and compose into queries, keeping data requirements next to the UI that needs them.
"Queries vs mutations vs subscriptions?"
Queries read data, mutations change it (executed in order), and subscriptions push updates to clients over a long-lived connection.
"How do you handle file uploads?"
Usually outside GraphQL: upload to object storage with a signed URL, then pass the file reference in a mutation.
"How do you test a GraphQL API?"
Unit-test resolvers and business logic, run integration tests against the schema with real queries, and check performance with query-count assertions.
GraphQL or REST: when each wins
Interviewers often ask candidates to choose, and the best answers are specific about context rather than loyal to a technology.
GraphQL tends to win when many clients — a web app, an Android app, an iOS app, a partner integration — need different slices of the same rich data, when screens combine data from several services, and when a team wants a single typed contract that front-end developers can explore. It also helps mobile apps on slow networks by avoiding several round trips per screen.
REST tends to win for simple resource APIs, public APIs where HTTP caching and familiar semantics matter, file transfers, webhooks, and teams without the capacity to run a GraphQL layer well. Many organisations run both: REST for public and service-to-service APIs, GraphQL as a backend-for-frontend that aggregates them for their own apps.
Whichever you choose, the same disciplines apply: clear naming, consistent errors, pagination, authorisation on every object, observability and careful evolution.
Mistakes that cost candidates
- Ignoring N+1.
- Unlimited query depth.
- Authorisation only at the gateway.
- Offset pagination on large lists.
- Versioning the schema instead of evolving it.
How we know
Technical references are the GraphQL Foundation's Learn pages and specification, the DataLoader project and OWASP's GraphQL cheat sheet; pay from AmbitionBox (read October 2026). Test formats and the history table are editorial summaries. Science of Apps publishes the free certification linked here. Last reviewed October 2026.
Key terms, defined
- Schema — the typed description of everything a GraphQL API offers.
- Resolver — a function that returns the data for a field.
- N+1 problem — one query for a list plus one per item.
- DataLoader — a utility that batches and caches loads within a request.
- Federation — composing multiple GraphQL services into one graph.
Frequently asked questions
What is GraphQL?
GraphQL is a query language and runtime for APIs. Clients ask for exactly the fields they need in a single request, and a typed schema describes everything the API offers. It's popular when many clients need different views of the same complex data.
GraphQL vs REST: which is better?
Neither universally. GraphQL suits many clients with different data needs and nested data; REST suits simple resources, public APIs and HTTP caching. Many companies use both, sometimes with GraphQL as a layer over REST or microservices.
What is the N+1 problem in GraphQL?
When a query fetches a list and then a related field for each item, naive resolvers run one database query per item — N+1 queries. Batching with a DataLoader collects the keys and fetches them in one query per request, fixing it.
How do you secure a GraphQL API?
Authenticate requests, authorise per object or field, limit query depth and complexity, apply rate limits, disable introspection in production if appropriate, use persisted queries for trusted clients, and validate inputs. OWASP's GraphQL cheat sheet covers these.
What GraphQL interview questions are common?
Schema design for a scenario, queries vs mutations vs subscriptions, fragments and variables, resolver structure, the N+1 problem, cursor pagination (connections), error handling, caching, security limits, and schema evolution or federation for senior roles.
Do I need GraphQL for a job?
It's not required for most roles but is a valuable plus at product companies with multiple clients and in teams using Apollo, Relay or similar tools. Learn REST first, then GraphQL.
Sources
- GraphQL Foundation — Learn GraphQL
- GraphQL Specification
- GraphQL — DataLoader (GitHub)
- OWASP Cheat Sheet Series — GraphQL
- GraphQL Foundation — Pagination
- AmbitionBox — Backend Developer salaries in India (updated 25 Oct 2026)
- Checked October 28, 2026. Figures that change — fees, salaries, prices — are reviewed every six months; if something is out of date, tell us.
Certifications to take next
- 20 AI skills for software engineers — copy-paste prompts for this job, one tap into ChatGPT or Claude
- GraphQL Fundamentals Certification — the free 15-minute test on schemas, servers in production and federation
- API design skills for developer jobs — REST and integration patterns alongside GraphQL
- How to get a back-end developer job — the role GraphQL usually sits in
- Free skill test · 15 minNode.js Development CertificationTests Node.js — the event loop, async patterns, modules, npm and package security, building HTTP APIs, streams, error handling and running Node in production.
- Free skill test · 15 minREST API Testing CertificationTests how to test REST APIs — functional and negative tests, status codes, schema and contract testing, authentication, data setup, automation in CI and API security checks.
- Free skill test · 15 minC# and .NET Development CertificationTests C# and modern .NET — types and nullable references, LINQ, async/await, dependency injection, ASP.NET Core APIs, Entity Framework Core and testing.
- Free skill test · 15 minBack-End Development CertificationTests server-side fundamentals — HTTP and REST, databases and transactions, authentication, caching, queues, scalability, logging and secure back-end design.
- Free skill test · 15 minAPI Design and Integration CertificationTests how to design and integrate APIs — REST resource design, status codes, versioning, pagination, authentication with OAuth 2.0, webhooks, rate limits and OpenAPI documentation.
- Free skill test · 15 minVue.js Developer AssessmentTests Vue 3 — the Composition API, reactivity with ref and reactive, computed and watch, components and props, single-file components, Pinia and routing.
Career guides for related roles
- Career guidesAPI design and integration skills for developer jobs in 2027: what interviews test and what good APIs look likeAPI design and integration skills for developer jobs in 2027: resources, errors, pagination, versioning, OAuth, webhooks and idempotency.
- Career guidesHow to get a full-stack developer job in 2027: what "full stack" really means to employers, and how to prove itHow to get a full-stack developer job in 2027: front-end, back-end and deployment skills employers test, the interview loop, pay and a plan.
- Career guidesHow to get a back-end developer job in 2027: APIs, databases and the design round that decides itHow to get a back-end developer job in 2027: the API, database, security and system-design skills employers test, the interview loop, pay in India and a plan.
- Career guidesHow to get a Node.js developer job in 2027: the event loop, async patterns and the back-end skills employers testHow to get a Node.js developer job in 2027: the event loop, async patterns, APIs, security and testing skills employers test, pay and a plan.
- Career guidesHow to get a front-end developer job in 2027: the skills, projects and interview rounds that decide itHow to get a front-end developer job in 2027: JavaScript, React, accessibility and performance skills employers test, the interview loop, pay and a plan.
- Career guidesHow to get an API testing or SDET job in 2027: automation, contract tests and the skills that double QA payHow to get an API testing or SDET job in 2027: test design, automation frameworks, contract and load testing, CI, pay in India and a plan.
Get the ideas, not the noise.
Sign up with Google and we’ll send you short UX psychology tips by email — why people tap, stall and leave, and what to do about it. Unsubscribe anytime. Prefer something to keep? Get the free Laws of UX guide as a PDF.
You've read the playbook. Now prove it.
Take the free GraphQL Fundamentals Certification and earn GraphQL Fundamentals (SOA-GQL). Free, test-based certifications graded on our server. Pass and you get a founder-signed certificate with a credential ID and QR code employers can verify.






