4.05 out of 5
4.05
190 reviews on Udemy

Learn TDD in Java

Learn Test Driven Development through a concise programming interview question
Instructor:
Sam Atkinson
975 students enrolled
English [Auto-generated]
Write code, tests first
Use IDE shortcuts more proficiently
Understand what an interviewer is looking for in a pairing code interview

This course teaches Test Driven Development from the ground up using an example paired programming interview question.  This interview question is taken from a real interview which I ran for several years and continues to be used in a number of institutions.

The interview is conducted as a TDD, pair-programming challenge. This is important to note. It was not the eventual solution that mattered so much as the journey there. Sometimes we would hire people who didn’t get the solution, and other times we wouldn’t hire people who did.

The Challenge

Implement a “movie store” (like blockbusters or Netflix). The store needs to hold a number of movies (let’s say a maximum of 100, but for our testing purposes 4 or 5 is sufficient). We need to be able to search the movie store for titles based on a number of different criteria.

Sounds pretty simple huh?

It’s amazing how many people it trips up though.

In the interview we would reveal each requirement one by one. As we’re doing TDD we’re building the requirements one at a time. Just like in the interview, I’ll reveal each requirement one at a time.

The goals

The solution should have beautiful, clean code, without repetition or hacks. It should be code that you would be proud to have in production.

It should be well tested.

You do not need to worry about databases, threading, user interfaces, API access or 3rd party libraries. This a pure Java question.

You should be mindful about performance, but it’s not a major concern.

You should not over engineer the solution.

The solution

Don’t worry if you’ve never done TDD- I even teach you how to do TDD from the start.

This course is approximately an hour long and comes with all the code available to download.

The training is about much more than just coming up with a solution- we discuss many of the areas that candidates fall down in interview and how to avoid them.

Introduction

1
What is TDD?
2
IntelliJ Cheat Sheets
3
Download IntelliJ
4
Project creation with IntelliJ and Maven
5
Project Overview

Learn TDD

1
The Does Nothing Test
2
Do the simplest thing possible
3
A better test
4
Our first proper implementation
5
Iterating our test coverage
6
You must know how to operate your IDE
7
Improving our implementation
8
You don't need null checks
9
Refactoring our test for ease and beauty
10
The second requirement
11
Cut refactoring time down from 15 minutes to 15 seconds with this one shortcut
12
A harder requirement with edge cases
13
After Red and Green comes Refactor
14
The big solution unveil
15
Java 7 code solution
16
Moving the solution to Java 8
17
Final Solution Code
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1
4.1 out of 5
190 Ratings

Detailed Rating

Stars 5
71
Stars 4
73
Stars 3
37
Stars 2
7
Stars 1
3
1d6c3119de27be0461e2e6d320909670
30-Day Money-Back Guarantee

Includes

1 hours on-demand video
4 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion