0
0
NestJSframework~20 mins

Code-first approach in NestJS - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
NestJS Code-First Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What is the output of this NestJS GraphQL code-first resolver?
Consider this NestJS GraphQL resolver using the code-first approach. What will be the GraphQL query response for hello()?
NestJS
import { Resolver, Query } from '@nestjs/graphql';

@Resolver()
export class HelloResolver {
  @Query(() => String)
  hello() {
    return 'Hello, NestJS!';
  }
}
A{ "data": { "hello": "Hello, NestJS!" } }
B{ "data": { "hello": "hello" } }
C{ "data": { "Hello": "Hello, NestJS!" } }
D{ "error": "Query not found" }
Attempts:
2 left
💡 Hint
Look at the method name and the returned string value.
📝 Syntax
intermediate
2:00remaining
Which option correctly defines a GraphQL ObjectType with a field in NestJS code-first?
You want to create a GraphQL ObjectType named Cat with a string field name. Which code snippet is correct?
A
import { ObjectType, Field } from '@nestjs/graphql';

@ObjectType()
export class Cat {
  name: string;
}
B
import { ObjectType, Field } from '@nestjs/graphql';

@ObjectType()
export class Cat {
  @Field()
  name: string;
}
C
import { ObjectType, Field } from '@nestjs/graphql';

@ObjectType
export class Cat {
  @Field(String)
  name: string;
}
D
import { ObjectType, Field } from '@nestjs/graphql';

@ObjectType()
export class Cat {
  @Field(() => Number)
  name: string;
}
Attempts:
2 left
💡 Hint
Remember the decorator syntax and type hints for fields.
state_output
advanced
2:00remaining
What is the output of this NestJS code-first mutation resolver?
Given this mutation resolver, what will be the GraphQL mutation response when calling incrementCounter twice?
NestJS
import { Resolver, Mutation } from '@nestjs/graphql';

@Resolver()
export class CounterResolver {
  private count = 0;

  @Mutation(() => Number)
  incrementCounter() {
    this.count += 1;
    return this.count;
  }
}
AFirst call: { "error": "Cannot read property 'count'" }
BFirst call: { "data": { "incrementCounter": 0 } }, Second call: { "data": { "incrementCounter": 0 } }
CFirst call: { "data": { "incrementCounter": 1 } }, Second call: { "data": { "incrementCounter": 2 } }
DFirst call: { "data": { "incrementCounter": 1 } }, Second call: { "data": { "incrementCounter": 1 } }
Attempts:
2 left
💡 Hint
Think about the private variable and how it changes with each call.
🔧 Debug
advanced
2:00remaining
What error does this NestJS code-first resolver produce?
Examine this resolver code. What error will occur when the GraphQL server starts?
NestJS
import { Resolver, Query } from '@nestjs/graphql';

@Resolver()
export class SampleResolver {
  @Query(() => String)
  greet() {
    return 123;
  }
}
ANo error, returns '123' as string
BRuntimeError: Resolver method missing return statement
CSyntaxError: Unexpected number literal
DTypeError: Query 'greet' must return a string, but returned a number
Attempts:
2 left
💡 Hint
Look at the return type declared and the actual returned value.
🧠 Conceptual
expert
2:00remaining
Why is the code-first approach beneficial in NestJS GraphQL development?
Choose the best explanation for the main advantage of using the code-first approach in NestJS GraphQL.
AIt allows defining GraphQL schema using TypeScript classes and decorators, enabling type safety and IDE support.
BIt automatically generates REST endpoints without extra configuration.
CIt requires writing GraphQL SDL files manually for better control.
DIt disables type checking to speed up development.
Attempts:
2 left
💡 Hint
Think about how code-first relates to TypeScript and schema generation.