Learn TDD in Java
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn TDD in Java to your Wishlist.

Add to Wishlist

Learn TDD in Java

Learn Test Driven Development through a concise programming interview question
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7 students enrolled
Created by Sam Atkinson
Last updated 3/2017
English
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
Includes:
  • 1 hour on-demand video
  • 4 Articles
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Write code, tests first
  • Use IDE shortcuts more proficiently
  • Understand what an interviewer is looking for in a pairing code interview
View Curriculum
Requirements
  • A good basic understanding of Java
  • IntelliJ IDE (available free from http://cjiq.co/intellij)
Description

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.

Who is the target audience?
  • Junior/Mid level Java developers who want to know about TDD
  • Anyone going for a Java coding interview
Curriculum For This Course
Expand All 22 Lectures Collapse All 22 Lectures 47:07
+
Introduction
5 Lectures 07:03
+
Learn TDD
17 Lectures 40:04

Do the simplest thing possible
01:24

A better test
03:38

Our first proper implementation
03:27

Iterating our test coverage
01:41

You must know how to operate your IDE
01:14

Improving our implementation
01:58

You don't need null checks
00:55

Refactoring our test for ease and beauty
01:47

The second requirement
01:21

Cut refactoring time down from 15 minutes to 15 seconds with this one shortcut
03:54

A harder requirement with edge cases
03:10

After Red and Green comes Refactor
01:58

Java 7 code solution
00:00

Moving the solution to Java 8
02:51

The big solution unveil
04:43

Final Solution Code
00:02
About the Instructor
Sam Atkinson
4.2 Average rating
21 Reviews
2,154 Students
2 Courses
Web, iOS and Java developer extraordinaire

I am a serial entrepreneur, web and mobile app developer, and founder of Oh Hai Yo web & iOS consultancy. I am a massive geek and can often be found at tech events around HK such as Angelhack and Startup Weekend and have been a guest panellist for General Assembly.

After working for a year in a small web firm I have spent the last 5 years in finance specialising in front to back Rich Internet Applications (RIAs) in Flex and HTML5 with a focus on java and node.js on the backend. I lead tech and programming sessions and organise speaker sessions to increase awareness of the latest web technologies and teach developers using practical examples.

You can find me on twitter at @ohhaiyodev and I will always reply as soon as possible.