Scala Online Test

TestDome skill assessments are used by more than 11,000 companies and 1,030,000 test takers.

For Jobseekers

Practice your skills and earn a certificate of achievement when you score in the top 25%.

Take a Practice Test

For Companies

Test candidates with real-world problems and interview the best ones.

Sign Up to Offer this Test

About the test

The Scala online test assesses knowledge of programming in the Scala language and commonly used parts of the Scala and Java frameworks' class library. This test requires solving live coding problems in Scala.

The assessment includes work-sample tasks such as:

  • Using OOP principles in Scala to write reusable code.
  • Working with proper immutable collections to improve code maintainability.
  • Handling exceptions in the Scala way.

A good Scala developer needs a solid understanding of the Scala programming language and the ability to take advantage of the functionality provided by Scala and the framework’s class library to write robust and maintainable code.

Sample public questions

10 min
Higher Order Function

As part of a data processing pipeline, complete the implementation of the makePipeline function:

  • The makePipeline function should accept a variable number of functions, and it should return a new function that accepts one parameter arg.
  • The returned function should call the first function in makePipeline with the parameter arg, and call the second function with the result of the first function.
  • The returned function should continue calling each function in makePipeline in order, following the same pattern, and return the value from the last function.

For example, calling makePipeline((x: Int) => x * 3, (x: Int) => x + 1, (x: Int) => x / 2), and then calling the returned function with 3 should return 5.

15 min
Bug Fixing
Immutable Vector

The code for the PlayerInventory class is not working. When a user starts a new account, PlayerInventory is initialized with basic items. It should also be possible to add and drop items from the inventory, with duplicate items added and removed separately.

For example, if "lumber" was added to the inventory and "stone" was removed, getItems() should return a Vector containing "lumber", "magic potion", and "lumber", in any order.

Fix the bugs.

For jobseekers: get certified

Earn a free certificate by achieving top 25% on the Scala test with public questions.

Take a Certification Test

Sample silver certificate

Sunshine Caprio

Java and SQL
TestDome logo icon

For companies: premium questions

Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.

Sign Up to Offer this Test

5 more premium Scala questions

Weighted Average, Read First Line, Prefix, Language Teaching, Numbers To Text.

Skills and topics tested

  • Scala
  • Arithmetic
  • Bug Fixing
  • Exceptions
  • Lazy Evaluation
  • LazyList
  • Inheritance
  • OOP
  • Strings

For job roles

  • Back-End Developer
  • Scala Developer
  • Web Developer

Sample candidate report

What others say

Decorative quote

Simple, straight-forward technical testing

TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.

Jan Opperman, Grindrod Bank

Product reviews

G2 - Crowd Badge
G2 - High Performer (2022)
Capterra - 4.5 Stars
Capterra - Shortlist (2023)

Used by

Solve all your skill testing needs

150+ Pre-made tests

From web development and database administration to project management and customer support. See all pre-made tests.

90+ skills

From JavaScript and SQL to English and customer support. See all questions to filter by skill.

Multi-skills Test

Mix questions for different skills or even custom questions in one test. See an example.

How TestDome works


Choose a pre-made test
or create a custom test


Invite candidates via
email, URL, or your ATS


Candidates take
a test remotely


Sort candidates and
get individual reports

Want to know more?