Search test library by skills or roles
⌘ K

About the test:

The RxJS Test evaluates a candidate's knowledge and understanding of Reactive programming concepts, including observables, operators, subjects, transformation and combination operators, error handling, backpressure and testing.

Covered skills:

  • Reactive programming
  • Operators
  • Transformation operators
  • Error handling
  • Testing with RxJS
  • Observables
  • Subject
  • Combination operators
  • Backpressure
  • JavaScript Coding

9 reasons why
9 reasons why

Adaface RxJS Assessment Test is the most accurate way to shortlist Software Developers

Reason #1

Tests for on-the-job skills

The RxJS Test helps recruiters and hiring managers identify qualified candidates from a pool of resumes, and helps in taking objective hiring decisions. It reduces the administrative overhead of interviewing too many candidates and saves time by filtering out unqualified candidates at the first step of the hiring process.

The test screens for the following skills that hiring managers look for in candidates:

  • Able to understand and use reactive programming concepts effectively
  • Able to work with observables and perform operations on them
  • Able to use various operators in RxJS for data transformation
  • Able to work with subjects to handle multiple subscribers
  • Able to apply transformation operators on observables
  • Able to combine observables using combination operators
  • Able to handle errors effectively in RxJS
  • Able to deal with backpressure in reactive streams
  • Able to write tests using RxJS for reactive code
  • Able to write JavaScript code using RxJS library
Reason #2

No trick questions

no trick questions

Traditional assessment tools use trick questions and puzzles for the screening, which creates a lot of frustration among candidates about having to go through irrelevant screening assessments.

View sample questions

The main reason we started Adaface is that traditional pre-employment assessment platforms are not a fair way for companies to evaluate candidates. At Adaface, our mission is to help companies find great candidates by assessing on-the-job skills required for a role.

Why we started Adaface
Reason #3

Non-googleable questions

We have a very high focus on the quality of questions that test for on-the-job skills. Every question is non-googleable and we have a very high bar for the level of subject matter experts we onboard to create these questions. We have crawlers to check if any of the questions are leaked online. If/ when a question gets leaked, we get an alert. We change the question for you & let you know.

How we design questions

These are just a small sample from our library of 10,000+ questions. The actual questions on this RxJS Test will be non-googleable.

🧐 Question


Async Await Promises
What will the following code output?
A: 24 after 5 seconds and after another 5 seconds, another 24
B: 24 followed by another 24 immediately
C: 24 immediately and another 24 after 5 seconds
D: After 5 seconds, 24 and 24
E: Undefined
F: NaN
G: None of these


Bitcoin prices
Review the following JavaScript code and pick the correct options: 
Assume that the API returns a successful 200 response code and a JSON object as the response body. What would the value of ‘a’ be after the code is executed?


My Module
What will the output of the following JavaScript code be?


Promise Resolve
What does the following code output? 


Throw, Try, Async
What does the following JS code output?
🧐 Question🔧 Skill


Async Await Promises

2 mins



Bitcoin prices

2 mins



My Module

2 mins



Promise Resolve

2 mins



Throw, Try, Async

2 mins

🧐 Question🔧 Skill💪 Difficulty⌛ Time
Async Await Promises
Medium2 mins
Bitcoin prices
Medium2 mins
My Module
Medium2 mins
Promise Resolve
Medium2 mins
Throw, Try, Async
Easy2 mins
Reason #4

1200+ customers in 75 countries

customers in 75 countries

With Adaface, we were able to optimise our initial screening process by upwards of 75%, freeing up precious time for both hiring managers and our talent acquisition team alike!

Brandon Lee, Head of People, Love, Bonito

Reason #5

Designed for elimination, not selection

The most important thing while implementing the pre-employment RxJS Test in your hiring process is that it is an elimination tool, not a selection tool. In other words: you want to use the test to eliminate the candidates who do poorly on the test, not to select the candidates who come out at the top. While they are super valuable, pre-employment tests do not paint the entire picture of a candidate’s abilities, knowledge, and motivations. Multiple easy questions are more predictive of a candidate's ability than fewer hard questions. Harder questions are often "trick" based questions, which do not provide any meaningful signal about the candidate's skillset.

Science behind Adaface tests
Reason #6

1 click candidate invites

Email invites: You can send candidates an email invite to the RxJS Test from your dashboard by entering their email address.

Public link: You can create a public link for each test that you can share with candidates.

API or integrations: You can invite candidates directly from your ATS by using our pre-built integrations with popular ATS systems or building a custom integration with your in-house ATS.

invite candidates
Reason #7

Detailed scorecards & benchmarks

Reason #8

High completion rate

Adaface tests are conversational, low-stress, and take just 25-40 mins to complete.

This is why Adaface has the highest test-completion rate (86%), which is more than 2x better than traditional assessments.

test completion rate
Reason #9

Advanced Proctoring

Learn more

About the RxJS Online Test

Why you should use Pre-employment RxJS Test?

The RxJS Test makes use of scenario-based questions to test for on-the-job skills as opposed to theoretical knowledge, ensuring that candidates who do well on this screening test have the relavant skills. The questions are designed to covered following on-the-job aspects:

  • Ability to use Reactive programming concepts in real-world scenarios
  • Understanding of Observables, how they work and how to create them
  • Experience with various Operators and their use cases in RxJS
  • Working knowledge of Subject and its role in event handling
  • Proficiency in Transformation operators and their applications
  • Familiarity with Combination operators and their usage in complex scenarios
  • Ability to handle errors and exceptions in RxJS
  • Understanding of backpressure and its impact on data flow
  • Expertise in testing applications using RxJS
  • Strong coding skills in JavaScript, including the use of RxJS

Once the test is sent to a candidate, the candidate receives a link in email to take the test. For each candidate, you will receive a detailed report with skills breakdown and benchmarks to shortlist the top candidates from your pool.

What topics are covered in the RxJS Test?

  • Reactive programming:

    Reactive programming is a programming paradigm that allows developers to build systems that react and respond to changes in the environment. It involves using asynchronous data streams, called observables, and manipulating them using operators to perform various operations. Measurement of this skill in the test helps assess a candidate's ability to work with reactive programming concepts and apply them effectively in their code.

  • Observables:

    Observables are a fundamental concept in reactive programming. They represent streams of data that can be observed over time. By subscribing to observables, developers can react to changes in the stream and perform actions accordingly. Measuring this skill in the test helps evaluate a candidate's understanding of observables and their ability to work with them to handle asynchronous events and data.

  • Operators:

    Operators in reactive programming are functions that manipulate observable streams and produce new desired output streams. They enable developers to transform, filter, combine, and perform various other operations on observables. Measurement of this skill in the test helps assess a candidate's proficiency in using different operators and their understanding of how to apply them to solve real-world problems effectively.

  • Subject:

    A subject is a special type of observable that allows both the emission and consumption of values. It acts as both an observer and an observable, providing a bridge between different parts of an application. Measurement of this skill in the test helps evaluate a candidate's comprehension of subjects and their ability to use them for communication between components or different parts of a system.

  • Transformation operators:

    Transformation operators in RxJS enable developers to transform the data emitted by an observable stream into a different format or structure. They help simplify data manipulation and enable logical transformations before consuming the data. Measurement of this skill in the test helps assess a candidate's capability to use transformation operators effectively and understand their diverse range of applications.

  • Combination operators:

    Combination operators in RxJS allow developers to combine multiple observables into a single observable stream. They provide various strategies for combining and merging data from multiple sources, enabling powerful composition and coordination of async operations. Measurement of this skill in the test helps evaluate a candidate's ability to work with combination operators and effectively manage complex data flows and dependencies.

  • Error handling:

    Error handling in RxJS involves dealing with errors that may occur during asynchronous operations. It includes error propagation, catching, and handling mechanisms to ensure graceful handling of errors and prevent disruptions in the data stream. Measurement of this skill in the test helps gauge a candidate's knowledge and proficiency in implementing error handling techniques in RxJS, ensuring robustness and reliability in their code.

  • Backpressure:

    Backpressure is a flow control mechanism in RxJS that allows consumers to control the rate at which they receive data from a producer, preventing overwhelm or resource exhaustion. It ensures that data is consumed at a pace that can be handled effectively. Measurement of this skill in the test helps assess a candidate's understanding of backpressure concepts and their ability to implement appropriate strategies for managing data flow and preventing bottlenecks.

  • Testing with RxJS:

    Testing with RxJS involves writing tests for code that utilizes reactive programming and observables. It includes mocking observables, simulating events, and verifying expected behavior. Effective testing helps ensure the correctness and reliability of reactive code. Measurement of this skill in the test helps evaluate a candidate's proficiency in testing RxJS code and their ability to write comprehensive and reliable test cases for reactive applications.

  • JavaScript Coding:

    JavaScript coding refers to the ability to write clean, efficient, and maintainable JavaScript code. It involves applying best practices, utilizing language features effectively, and following coding standards. Measurement of this skill in the test helps assess a candidate's JavaScript coding skills and their ability to write high-quality code that is readable, performant, and scalable.

  • Full list of covered topics

    The actual topics of the questions in the final test will depend on your job description and requirements. However, here's a list of topics you can expect the questions for RxJS Test to be based on.

    Reactive programming
    Transformation operators
    Combination operators
    Error handling
    Testing with RxJS
    JavaScript Coding
    Creation operators
    Filtering operators
    Hot and cold observables
    Multicasting operators
    Retries and retriesWhen
    Time-based operators
    Higher-order observables
    Buffering operators
    Error handling operators
    Conditional operators
    Delaying emissions
    Distinct operators
    Join operators
    Partitioning operators
    Reducing operators
    Scan operator
    Serialization operators
    Skip and skipLast operators
    Take and takeLast operators
    Throttle and debounce operators
    Windowing operators
    Concatenation operators
    ForkJoin operator
    Merge operator
    Race operator
    Zip operator
    Retry operator
    Catch operator
    CombineLatest operator
    Switch operator
    Testing marble diagrams
    Asserting operators
    Hot and cold observables in testing
    Marble testing
    Marble diagrams
    RxJS operators
    ES6 syntax
    Arrow functions
    Spread and rest operators
    Promise.all and Promise.race
    Iterator and generators
    Classes and inheritance
    Modules and import/export
    Prototype and prototypal inheritance
    High order functions
    Functional programming
    Event Loop
    DOM manipulation
    AJAX and fetch API
    Error handling in JavaScript
    Debugging techniques
    Web storage
    Regular expressions
    Data types
    Scope and hoisting

What roles can I use the RxJS Test for?

  • Software Developer
  • Frontend Developer
  • Full Stack Developer
  • Web Developer
  • Angular Developer
  • UI Developer
  • JavaScript Developer
  • Typescript Developer
  • RxJS Developer
  • JavaScript Engineer

How is the RxJS Test customized for senior candidates?

For intermediate/ experienced candidates, we customize the assessment questions to include advanced topics and increase the difficulty level of the questions. This might include adding questions on topics like

  • Ability to apply RxJS concepts to enhance application performance
  • Experience with handling async operations using Observables
  • Knowledge of hot and cold observables and their differences
  • Understanding of multicasting and the role of Subjects in it
  • Proficiency in using operators like map, filter, and reduce
  • Familiarity with error handling and retrying mechanisms in RxJS
  • Ability to implement custom operators and pipelines in RxJS
  • Expertise in optimizing performance and memory management in RxJS
  • Knowledge of testing frameworks and methodologies for RxJS
  • Understanding of JavaScript coding best practices and standards
Singapore government logo

The hiring managers felt that through the technical questions that they asked during the panel interviews, they were able to tell which candidates had better scores, and differentiated with those who did not score as well. They are highly satisfied with the quality of candidates shortlisted with the Adaface screening.

reduction in screening time

RxJS Hiring Test FAQs

Can I combine multiple skills into one custom assessment?

Yes, absolutely. Custom assessments are set up based on your job description, and will include questions on all must-have skills you specify. Here's a quick guide on how you can request a custom test.

Do you have any anti-cheating or proctoring features in place?

We have the following anti-cheating features in place:

  • Non-googleable questions
  • IP proctoring
  • Screen proctoring
  • Web proctoring
  • Webcam proctoring
  • Plagiarism detection
  • Secure browser
  • Copy paste protection

Read more about the proctoring features.

How do I interpret test scores?

The primary thing to keep in mind is that an assessment is an elimination tool, not a selection tool. A skills assessment is optimized to help you eliminate candidates who are not technically qualified for the role, it is not optimized to help you find the best candidate for the role. So the ideal way to use an assessment is to decide a threshold score (typically 55%, we help you benchmark) and invite all candidates who score above the threshold for the next rounds of interview.

What experience level can I use this test for?

Each Adaface assessment is customized to your job description/ ideal candidate persona (our subject matter experts will pick the right questions for your assessment from our library of 10000+ questions). This assessment can be customized for any experience level.

Does every candidate get the same questions?

Yes, it makes it much easier for you to compare candidates. Options for MCQ questions and the order of questions are randomized. We have anti-cheating/ proctoring features in place. In our enterprise plan, we also have the option to create multiple versions of the same assessment with questions of similar difficulty levels.

I'm a candidate. Can I try a practice test?

No. Unfortunately, we do not support practice tests at the moment. However, you can use our sample questions for practice.

What is the cost of using this test?

You can check out our pricing plans.

Can I get a free trial?

Yes, you can sign up for free and preview this test.

I just moved to a paid plan. How can I request a custom assessment?

Here is a quick guide on how to request a custom assessment on Adaface.

customers across world
Join 1200+ companies in 75+ countries.
Try the most candidate friendly skills assessment tool today.
g2 badges
Ready to use the Adaface RxJS Test?
Ready to use the Adaface RxJS Test?
40 min tests.
No trick questions.
Accurate shortlisting.
Terms Privacy Trust Guide

🌎 Pick your language

English Norsk Dansk Deutsche Nederlands Svenska Français Español Chinese (简体中文) Italiano Japanese (日本語) Polskie Português Russian (русский)
● Online
Score: NA