Scala & Functional Programming Interview Practice

Nail that Scala interview. Master data structures, algorithms and the pure functional programming mindset with Scala.


Become a master.

People taking the Scala Essentials course have been asking me for almost 2 years:

"Hey Daniel, nice Scala course! Where can I practice some Scala now?"

"Tail recursion seems pretty important. I'm playing with this sorting function but can't get it right. Can you help?"

"Daniel, can you give me some Scala projects or problems I can practice on?"

"Daniel, I really like your course. Where can I find some practice problems I could use to improve my functional programming? I'm looking for a new Scala position soon."
"Hey Daniel, tail recursion blew my mind! Can you do more exercises?"
"Daniel, I'm looking for a new Scala developer job and I'm having my interview in a few weeks, do you know of any place where I can prepare?"

Functional programming is not for everyone. It's hard to master, because it's hard to think code in a different way. In this course, you will become a functional programming guru. You will be writing 3300+ lines of purely functional Scala code, over 50+ practical problems, ranging from easy 1-2-liners to real beasts.

After you finish this course, your mind will change. You will dream in functional programming. If you're looking to internalize the functional programming mindset after learning Scala, this course is for you.

Let me tell you straight: you will practice the S[_] out of tail recursion. You will dream in tail recursion. EVERYTHING WE WRITE is tail-recursive. Here are some stats:

  • 15+ hours of professionally-recorded HD video
  • 50+ problems
  • 3300+ lines of code
  • 2 implicit niceties to impress your problem asker
  • everything @tailrec
  • 1 mindset changed (yours, I hope!)

Be pure.

Mutable data structures wreak havoc in multithreaded and distributed applications, make 20 lines of code take hours to read and understand (no joke) and make a snowflake look like Hulk when compared to your code. Not to mention the endless stack overflows caused by stack recursion.

We reject that right off the bat. We practice immutable data structures, tail-recursion and pure functional programming. That means no variables, no loops, no mutation, no setters, no i++.

This course will teach you to write code that's strong as a tank and pure like a baby.

Ace all the interviews.

If you're looking to get a software developer position in Scala, or looking to change jobs, this course will be your Cracking the Coding Interview.

All the problems are framed as exercises you need to complete in a time frame, just like a normal interview. At the end, I will guide you with a solution and in-depth explanations. I won't just tell you how it works, I will tell you how I got the idea, and how to approach the problems.

Take the proven path.

I've spent 8+ years writing thousands upon thousands of lines of Scala. I know what works, what doesn't and how to approach problems. Make no mistake, I know you already know the Scala syntax, but I hand-picked these problems to teach you how to _think_.

For this course, I have:

  • deconstructed the mental model so you don't have to bang your head against the wall
  • selected 50+ Google-style interview problems to showcase various approaches and techniques
  • sequenced them by difficulty so you can improve your level bit by bit
  • applied everything in 3300+ lines of code you will write with me

Course Overview

  First Section
Available in days
days after you enroll
Available in days
days after you enroll

Your Instructor

Daniel Ciocîrlan
Daniel Ciocîrlan

I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.

As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.


Get started now!


Risk-free: 100% money back guarantee.

If you're not happy with this course, I want you to have your money back. If that happens, email me at [email protected] with a copy of your welcome email and I will refund you the course.

Frequently Asked Questions

How long is the course? Will I have time for it?
The course is a full 15 hours in length, with lessons 10-30 minutes each. For best effectiveness, I recommend going through at least one problem, start to finish, in one go.
What's a typical lesson like?
Every lesson starts with a problem statement. After I explain what the problem does, I will ask you to pause the video and tell you how much time you should take to try solving the problem yourself. After the break, I will walk you through a solution, including WHY I picked it, how to test it, and how efficient it is.
Can I expense this at my company?
Most (wise) employers reimburse courses like this.
Is the course hard?
The problems range from very easy to very hard. Some problems will take 5 minutes and 2 lines of code, some problems might take hours to figure out by yourself.
What if I don't like the course?
In that case I want you to have your money back. Easy.
I really want to join but can't afford the course. What do I do?
For a while, I told everyone who could not afford the course to email me and I gave them discounts. But then I looked at the stats. Almost all the people who actually took the time and fully completed the course had paid for it in full. So I'm not offering discounts anymore. This is an investment in yourself, which will pay off 100x if you commit.