Courseiva

200-901 Software Development and Design Practice Question

A Python developer is working on a microservices project where one service needs to communicate with another service that exposes a GraphQL API. Which THREE statements about GraphQL compared to REST are accurate? (Choose three.)

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

GraphQL allows clients to request exactly the fields they need.

Option A is correct because GraphQL's core advantage over REST is that the client specifies the exact fields it wants in a single query, avoiding over-fetching and under-fetching of data. Option C is correct because a GraphQL API is defined by a strongly typed schema (SDL) that declares types, queries, mutations, and subscriptions, enabling validation and introspection. Option E is correct because GraphQL operations (queries and mutations) are typically sent as a single HTTP POST request to one endpoint with a JSON body containing the query string. Option B is incorrect because GraphQL is an API query language and runtime, not a database query language like SQL; it is datastore-agnostic. Option D is incorrect because GraphQL normally exposes a single endpoint (e.g., /graphql) rather than multiple resource-specific endpoints as REST does.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    GraphQL allows clients to request exactly the fields they need.

    Why this is correct

    GraphQL queries declare precisely the fields required, so the server returns only those fields, eliminating the over-fetching inherent in REST's fixed resource representations. This satisfies the microservice's need to minimise payload size when calling the GraphQL API.

  • ✗

    GraphQL is a database query language.

    Why it's wrong here

    GraphQL is an API query language and runtime, not a database query language; it sits above data sources and never talks to storage directly. It is tempting because its query syntax resembles SQL, but SQL is the database query language, whereas GraphQL queries an API schema.

  • ✓

    GraphQL has a strongly typed schema that defines the API.

    Why this is correct

    GraphQL exposes a strongly typed schema defining types, fields and operations, enabling validation and introspection. This contrasts with REST, where no formal contract is mandated, and satisfies the stem's comparison by describing GraphQL's inherent type system.

  • ✗

    GraphQL typically uses multiple endpoints for different resources.

    Why it's wrong here

    GraphQL exposes a single endpoint where clients query the schema, unlike REST's resource-based multiple endpoints. It is tempting because REST's endpoint-per-resource model is familiar, and that description would be accurate for REST, but it inverts GraphQL's defining single-endpoint design.

  • ✓

    GraphQL uses HTTP POST for queries and mutations.

    Why this is correct

    GraphQL transmits queries and mutations as HTTP POST requests to a single endpoint, with the operation carried in the request body. This differs from REST's verb-and-URL resource model and accurately describes how the microservice would invoke the GraphQL API.

About these practice questions

One of 975 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.