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:
"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?"
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!)
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++.
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.
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
StartLists Intro (19:04)
StartGet K-th element (easy) (10:57)
StartLength (easy) (7:45)
PreviewReverse (easy) (11:36)
StartConcatenation (easy) (10:31)
StartRemove K-th element (easy) (10:15)
StartThe big 3: map, flatMap, filter (easy) (24:28)
PreviewRun-length Encoding (medium) (15:20)
StartDuplicate Elements (medium) (10:35)
StartRotate List (medium) (12:18)
StartRandom Samples (medium) (10:59)
StartAn Improved flatMap (medium) (15:24)
PreviewInsertion Sort (hard) (15:24)
StartMerge Sort (hard) (20:06)
StartQuick Sort (hard) (20:10)
StartPrime check (easy) (10:12)
StartDecompose into Primes (easy) (13:07)
Start(bonus) Enhancing Numbers (6:00)
StartApproximating Pi (medium) (8:53)
StartRecurring Decimals (hard) (26:30)
StartLargest Number (easy) (13:19)
StartReverse Integer (easy) (11:45)
StartParse Integer (medium) (17:17)
StartUgly Number (medium) (17:42)
StartDuplicates (medium) (20:08)
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 June 2021, I've taught Java, Scala and related tech (e.g. Akka, Cats, Spark) to 41000+ students at various levels and I've held live trainings 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 20000 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.