Scala & Functional Programming Interview Practice

Scala & Functional Programming Interview Practice

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 60 Lessons (15h 00m) | 2.30 GB

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

Become a master.

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.

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.

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.

Table of Contents

1 0-1 welcome
2 Scala Recap
3 Lists Intro
4 Get K-th element (easy)
5 Length (easy)
6 Reverse (easy)
7 Concatenation (easy)
8 Remove K-th element (easy)
9 The big 3: map, flatMap, filter (easy)
10 Run-length Encoding (medium)
11 Duplicate Elements (medium)
12 Rotate List (medium)
13 Random Samples (medium)
14 An Improved flatMap (medium)
15 Insertion Sort (hard)
16 Merge Sort (hard)
17 Quick Sort (hard)
18 Prime check (easy)
19 Decompose into Primes (easy)
20 (bonus) Enhancing Numbers
21 Approximating Pi (medium)
22 Recurring Decimals (hard)
23 Largest Number (easy)
24 Reverse Integer (easy)
25 Parse Integer (medium)
26 Ugly Number (medium)
27 Duplicates (medium)
28 Count Chars (easy)
29 Anagram Check (medium)
30 Valid Parentheses (easy)
31 Generate Valid Parentheses (medium)
32 Justify (hard)
33 Ransom Note (easy)
34 Compare Version Numbers (medium)
35 Multiply Strings (hard)
36 Reorganize Strings (medium)
37 Reverse Words (easy)
38 Trees Intro
39 Check Leaves (easy)
40 Size (easy)
41 Collect Nodes at Level (medium)
42 Mirroring a Tree (medium)
43 Shape of you? (medium)
44 ToList (medium)
45 Path Sum (medium)
46 Path Sum 2 (hard)
47 Surveillance Cameras (hard)
48 Graphs Intro and Degrees
49 Path Check (medium)
50 Find Path (medium)
51 Make Undirected (medium)
52 Graph Coloring (hard)
53 Find Town Judge (easy)
54 University Courses (easy)
55 University Courses 2 (medium)
56 Computer Network Delay (hard)
57 ASCII Fractals with Sierpinski (medium)
58 N-Queens (hard)
59 Pocket Calculator (hard)
60 You ROCK!