jsFun(damentals) will focus on practicing complex problem solving and prototype methods.

As you are practicing, stay focused on breaking down and working through each problem step-by-step. You are defining a strong problem solving process that you will be able to apply to any code challenge placed in front of you, even if its unfamiliar.

There are two ways we’d like you to demonstrate mastery. Both are essential for technical job interviews.

  • Accurate implementation/problem-solving
  • Eloquent articulation of your thought process

Set Up

Fork this repo of practice exercises.

Watch this how-to video to get up and running.

The prototypes folder holds the practice exercises you will be using.

  • prototypes/datasets holds the datasets that correspond with each practice exercise
  • prototypes/index.js is where you will find the prompts for each exercise and where you will write your implementation code
  • The test folder holds the corresponding tests for each exercise. You can unskip the corresponding tests as you go. Note that, unlike mythicals, these tests are not particularly helpful in telling you what you are trying to do. They are simply there to allow you to confirm that you have successfully solved the prompt.


  • We strongly encourage consistent daily practice. These are not skills you can cram for before the assessment.
  • jsFun problems are not in order of difficulty. If one feels way too hard, try it but know when to stop and move onto a different problem. Come back to it as your skills and confidence improve.
  • Do not stress about completing all of the problems. Focus more on being able to thoroughly understand and articulate the process and solution to the problems you do make it through.
  • For each problem you solve, also add an annotation for how you would walk someone through arriving at that solution. It will help you more deeply understand your solution as well as help with your articulation piece during assessments.
  • We recommend spending some time solving the same problem using different iterators. For example, if you first solve a problem using a filter and map, try solving it again with a forEach and then again with a reduce. This way, you’ll get practice using many methods instead of becoming too attached to one.
  • jsFun problems practice the skills you need for your M2 assessment but they are not necessarily structured exactly like the assessments. You are honing these problem solving and technical skills so that you can be a strong developer, not just so that you can pass the M2 assessment.

Extra Practice

If you finish all of the practice in the repo, the Turing Staff created the following extra practice exercises:

A group of former students created this bank of practice exercises called iron-FE. Note that many students find these prompts very helpful but they are not managed by Turing instructors in any way.

Scope Folder

  • There is a folder called scope that contains exercises to help deepen your understanding of the M2 JS concept of…well, scope. Consider this as helpful but optional practice if you want to more deeply understand scope. These exercises are not essential practice for you to prepare for M2 assessments.

Lesson Search Results

Showing top 10 results