The Essential Guide to Take-home Coding Challenges

Jane Philipps
Feb 27, 2018 · 21 min read

Introduction

Mistakes to avoid making when working on a take-home coding challenge

Get organized: how to plan before you write a line of code

- Understand requirements
- Choose technologies
- Brainstorm test plan
- Hello World app setup
- Build board with HTML/CSS
- Implement Tic Tac Toe gameplay with Javascript
- Add reset button
- Make board responsive
- Add ability to add additional boards
- Error handling & tests
- Code cleanup
- README
- Add a click handler to each square that logs a message
- Get click handler to add an X to the square that is clicked
- Get clicks to alternate between X and O
- Don’t allow a square to be clicked more than once
- Implement a function to find the winner and end the game
- Handle a tie game

3. Writing tests: just do it!

- Test that the initial state of the board is correct (i.e. board is
visible and empty)
- Test that a move can be played
- Test that moves alternate between X and O
- Test that a move can be played to a square only once
- Test that a winner can be found in a row
- Test that a winner can be found in a column
- Test that a winner can be found in a diagonal
- Test that a draw can be found

4. Make it work, then make it pretty, then make it fast

How to make your code shine

How to take your challenge to the next level

How to write an awesome README

Final steps before you hit send

Hi <NAME>,I hope you had a great week! I had fun diving back into React with this challenge. Here is my Github repo and I’ve included my README below. Please let me know if you have any questions.Just so you know, I’m interviewing with a few other companies and I just received an offer yesterday — I need to get back to them next week. Of course, I am excited about the opportunity at <COMPANY NAME>, so I’m looking forward to hearing from you!Thanks,
<NAME>

Conclusion

We’ve moved to freeCodeCamp.org/news

We’ve moved to https://freecodecamp.org/news and publish tons of tutorials each week. See you there.