---
title: "TypeScript Advanced: Types, Generics, Utility Types"
lang: "en"
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/post/typescript-advanced-quiz
---

[Home](/)›[Quizzes](/quizzes)›[All Categories](/quizzes/categories)›[Programming](/quizzes/categories/programming)

Quizzes

[Prev in ProgrammingRust: Ownership, Borrowing & Memory Safety](/quizzes/post/rust-fundamentals-quiz)[Next in ProgrammingTypeScript: Typed JavaScript Fundamentals](/quizzes/post/typescript-fundamentals-quiz)

[Programming](/quizzes/categories/programming)[Frontend](/quizzes/categories/frontend)

# TypeScript Advanced: Types, Generics, Utility Types

[Mohammad Abu Mattar](/authors/mohammad-abu-mattar)20 QuestionsAdvancedPublished: 22 Mar 2026

[Markdown for AI(opens in a new tab)](/post/typescript-advanced-quiz/index.md "Open the plain-Markdown version of this page, for pasting into an AI tool")

Series

[Programming Languages](/series/programming-languages)2/4

[PreviousWebAssembly (WASM): Performance & Interoperability](/quizzes/post/webassembly-wasm-quiz)[NextRust: Ownership, Borrowing & Memory Safety](/quizzes/post/rust-fundamentals-quiz)

All posts in this series (4)

Quizzes4

1.  [WebAssembly (WASM): Performance & Interoperability](/quizzes/post/webassembly-wasm-quiz)
2.  [TypeScript Advanced: Types, Generics, Utility TypesYou are here](/quizzes/post/typescript-advanced-quiz)
3.  [Rust: Ownership, Borrowing & Memory Safety](/quizzes/post/rust-fundamentals-quiz)
4.  [Java: Core Language & JVM Fundamentals](/quizzes/post/java-fundamentals-quiz)

## TypeScript Advanced: Types, Generics, Utility Types

Up to 20 questions, shuffled on every run

Quiz Configuration

Enterto start

Welcome to the TypeScript Advanced Quiz! Test your knowledge on advanced types, generics, utility types, and more. Each question has a hint and explanations for all options. Good luck!

Answer key and explanations20 questions

The quiz above draws 20 questions at random from these 30, so a second attempt will not be the same run. Everything in the pool is listed here.

1.  What is an interface in TypeScript?
    
    AnswerA syntax to define the shape of an object, including properties and methods
    
2.  What is a union type?
    
    AnswerA type allowing a variable to hold values from one of several distinct types
    
3.  What is an intersection type?
    
    AnswerA type that combines multiple existing types into one, requiring all properties
    
4.  What is a generic in TypeScript?
    
    AnswerA way to create reusable components that work with a variety of types
    
5.  What is a generic constraint?
    
    AnswerA rule using the "extends" keyword to limit the types a generic can accept
    
6.  What is a conditional type?
    
    AnswerA type that selects one of two types based on a ternary-like condition
    
7.  What is a mapped type?
    
    AnswerA way to create a new type by iterating through the keys of an existing type
    
8.  What is the Partial utility type?
    
    AnswerA utility that constructs a type with all properties of T set to optional
    
9.  What is the Readonly utility type?
    
    AnswerA utility that constructs a type with all properties of T set to readonly
    
10.  What is the Pick utility type?
     
     AnswerA utility that creates a type by selecting a specific set of keys from T
     
11.  What is the Omit utility type?
     
     AnswerA utility that creates a type by picking all properties from T and then removing K
     
12.  What is the Record utility type?
     
     AnswerA utility used to construct an object type with specific keys and a specific value type
     
13.  What is the typeof operator in TypeScript?
     
     AnswerAn operator used in a type context to extract the type of a variable or property
     
14.  What is the keyof operator in TypeScript?
     
     AnswerAn operator that produces a union of string or numeric literal keys from an object
     
15.  What is the Exclude utility type?
     
     AnswerA utility that removes types from a union that are assignable to a second type
     
16.  What is the Extract utility type?
     
     AnswerA utility that selects members of a union that are assignable to a second type
     
17.  What is the NonNullable utility type?
     
     AnswerA utility that constructs a type by excluding null and undefined from T
     
18.  What is the Parameters utility type?
     
     AnswerA utility that extracts the types of arguments from a function type as a tuple
     
19.  What is the ReturnType utility type?
     
     AnswerA utility that extracts the return type of a function type T
     
20.  What is the InstanceType utility type?
     
     AnswerA utility that extracts the instance type from a constructor function type
     
21.  What is the infer keyword in TypeScript?
     
     AnswerA keyword used within a conditional type to declare a type variable to be extracted
     
22.  What is a template literal type?
     
     AnswerA type that uses template literal syntax to build new string types
     
23.  What is a const assertion (as const)?
     
     AnswerA suffix that tells the compiler to treat a literal as its most specific type
     
24.  What is the satisfies operator in TypeScript?
     
     AnswerAn operator used to validate a value matches a type while preserving its narrowest type
     
25.  What are recursive types in TypeScript?
     
     AnswerTypes that refer to themselves in their own definition to describe nested structures
     
26.  What is a discriminated union?
     
     AnswerA union of types that share a common literal property used for narrowing
     
27.  What is a user-defined type guard?
     
     AnswerA function that uses a type predicate to narrow a type within a conditional block
     
28.  What is declaration merging in TypeScript?
     
     AnswerThe ability for the compiler to join multiple declarations with the same name
     
29.  What is module augmentation?
     
     AnswerA way to add new type definitions to an existing external module
     
30.  What is the Awaited utility type?
     
     AnswerA utility that recursively unwraps a type to retrieve the non-promise result
     

## Tags

[#TypeScript](/quizzes/tags/typescript)[#Types](/quizzes/tags/types)[#Advanced](/quizzes/tags/advanced)

## Share

[Facebook](https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz "Share on Facebook")[Twitter](https://twitter.com/intent/tweet/?text=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types&url=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz "Share on Twitter")[LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz&title=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types&summary=Master%20TypeScript%3A%20advanced%20types%2C%20generics%2C%20utility%20types%2C%20decorators%2C%20and%20type-safe%20patterns%20for%20scalable%20codebases.&source=https://mkabumattar.com "Share on LinkedIn")[WhatsApp](https://wa.me/?text=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types%20https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz "Share on WhatsApp")[Telegram](https://t.me/share/url?url=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz&text=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types "Share on Telegram")[Reddit](https://www.reddit.com/submit?url=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz&title=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types "Share on Reddit")[Hacker News](http://news.ycombinator.com/submitlink?u=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz&t=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types "Share on Hacker News")[Pinterest](https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz&media=&description=Master%20TypeScript%3A%20advanced%20types%2C%20generics%2C%20utility%20types%2C%20decorators%2C%20and%20type-safe%20patterns%20for%20scalable%20codebases. "Share on Pinterest")[Email](<mailto:?subject=TypeScript%20Advanced%3A%20Types%2C%20Generics%2C%20Utility%20Types&body=Check out this article: https%3A%2F%2Fmkabumattar.com%2Fquizzes%2Fpost%2Ftypescript-advanced-quiz>)

## Comments

Was this useful?

## You might also enjoy

More posts on similar topics

[![Rust: Ownership, Borrowing & Memory Safety](/_astro/hero.D5y5Mms9_1OrNm1.webp)](/quizzes/post/rust-fundamentals-quiz)

## [Rust: Ownership, Borrowing & Memory Safety](/quizzes/post/rust-fundamentals-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Rust](/quizzes/categories/rust)
-   [Systems Programming](/quizzes/categories/systems-programming)
-   [Programming](/quizzes/categories/programming)

This quiz tests your grip on the parts of Rust that trip up newcomers and pay off later: ownership and moves, borrowing and lifetimes, traits and generics, pattern matching, error handling with \`Resul

[#Rust](/quizzes/tags/rust)[#Ownership](/quizzes/tags/ownership)[#Borrow Checker](/quizzes/tags/borrow-checker)+3 tags

[read more](/quizzes/post/rust-fundamentals-quiz)

[![Java: Core Language & JVM Fundamentals](/_astro/hero.MRO-sQtF_2x4c20.webp)](/quizzes/post/java-fundamentals-quiz)

## [Java: Core Language & JVM Fundamentals](/quizzes/post/java-fundamentals-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Java](/quizzes/categories/java)
-   [JVM](/quizzes/categories/jvm)
-   [Programming](/quizzes/categories/programming)

Java has quietly powered banks, Android, and countless backend systems for decades, and the language keeps evolving with records, sealed classes, and virtual threads. This quiz walks through the core

[#Java](/quizzes/tags/java)[#JVM](/quizzes/tags/jvm)[#OOP](/quizzes/tags/oop)+3 tags

[read more](/quizzes/post/java-fundamentals-quiz)

[![WebAssembly (WASM): Performance & Interoperability](/_astro/hero.B3yb0KBI_Z22NlSJ.webp)](/quizzes/post/webassembly-wasm-quiz)

## [WebAssembly (WASM): Performance & Interoperability](/quizzes/post/webassembly-wasm-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Emerging Tech](/quizzes/categories/emerging-tech)
-   [Performance](/quizzes/categories/performance)

Welcome to the WebAssembly (WASM) Quiz! This quiz will test your knowledge of WebAssembly concepts, performance benefits, and practical use cases. Each question is designed to challenge your understan

[#WebAssembly](/quizzes/tags/webassembly)[#Performance](/quizzes/tags/performance)[#Emerging](/quizzes/tags/emerging)

[read more](/quizzes/post/webassembly-wasm-quiz)

[![TypeScript: Typed JavaScript Fundamentals](/_astro/hero.BXknL-oV_plxRs.webp)](/quizzes/post/typescript-fundamentals-quiz)

## [TypeScript: Typed JavaScript Fundamentals](/quizzes/post/typescript-fundamentals-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [TypeScript](/quizzes/categories/typescript)
-   [Programming](/quizzes/categories/programming)
-   [Web Development](/quizzes/categories/web-development)
-   [Frontend](/quizzes/categories/frontend)

Welcome to the TypeScript Basics Quiz! This quiz covers fundamental TypeScript concepts, static typing, and type-safe programming best practices. Each question is multiple-choice, and you'll find hint

[#TypeScript](/quizzes/tags/typescript)[#Static Typing](/quizzes/tags/static-typing)[#Interfaces](/quizzes/tags/interfaces)+6 tags

[read more](/quizzes/post/typescript-fundamentals-quiz)

[![JavaScript: Language Fundamentals & Modern Features](/_astro/hero.CPnUQqYa_cqDLj.webp)](/quizzes/post/javascript-fundamentals-quiz)

## [JavaScript: Language Fundamentals & Modern Features](/quizzes/post/javascript-fundamentals-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [JavaScript](/quizzes/categories/javascript)
-   [Programming](/quizzes/categories/programming)
-   [Web Development](/quizzes/categories/web-development)
-   [Frontend](/quizzes/categories/frontend)

Welcome to the JavaScript Basics Quiz! This quiz tests your understanding of fundamental JavaScript concepts, syntax, and modern programming best practices. Each question is multiple-choice, and you'l

[#JavaScript](/quizzes/tags/javascript)[#ES6](/quizzes/tags/es6)[#Arrow Functions](/quizzes/tags/arrow-functions)+6 tags

[read more](/quizzes/post/javascript-fundamentals-quiz)

[![Advanced Frontend Patterns: State Management & Performance](/_astro/hero.SWD1oABZ_ZdB6Yy.webp)](/quizzes/post/advanced-frontend-patterns-quiz)

## [Advanced Frontend Patterns: State Management & Performance](/quizzes/post/advanced-frontend-patterns-quiz)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Frontend](/quizzes/categories/frontend)
-   [Performance](/quizzes/categories/performance)

Master advanced frontend architecture: state management (Redux, Zustand), performance optimization, code splitting, lazy loading, and responsive design patterns.

[#Frontend](/quizzes/tags/frontend)[#Performance](/quizzes/tags/performance)[#Architecture](/quizzes/tags/architecture)

[read more](/quizzes/post/advanced-frontend-patterns-quiz)

6 related posts
