My Complete Study Guide for the JavaScript 109 Written & Interview Assessment

Svetlana Brennan
Launch School
Published in
10 min readMay 21, 2020

You truly won’t know what to expect from a Launch School assessment until you go through one yourself. But there are things you can do to prepare for it as much as you can so you can confidently take the assessment.

When I was preparing for my JavaScript 109 assessment, I read through about 10–12 articles from other Launch School students on their assessment prep tips and experience, and then created my own “complete” study plan.

My study plan might be a bit of an overkill but I think over-preparing for your first Launch School assessment is good strategy. I would rather spend a bit more time studying than not do so well on the assessment and wish I had studied more. So if you feel like some of these tips are not for you — skip them!

Since I’m completely brand new to programming, I took the slow and steady study approach to make sure I learned the JavaScript fundamentals and felt comfortable answering questions about them.

My study plan covers 3 things:

  1. How to prepare for the written assessment
  2. How to prepare for the interview assessment
  3. How to handle the mental stress of taking the assessment

You’ve probably read a few articles from other students on their assessment feedback and you just want to get to the taken away points of my feedback, so I’ll get straight to it.

How to prepare for the written assessment:

  1. Don’t think about or worry about the “interview” part of the assessment yet.

Tackle one thing at a time here. If you think too much about the interview assessment, then it’ll just distract you from the written test. Focus your efforts.

2. Attend at least one JS109 study group.

This will give you an example of some written test questions and you can practice answering them. It’ll help you determine where you’re at with your understanding of some topics and what you should study.

Also, you’ll meet other students preparing for the JavaScript 109 assessment so you can ask them if they want to study with you (either for the written test or interview or both).

  • Tip: Try not to stress out if you “feel” behind after a study group session. After my first study group, I felt behind some of the other students and I started stressing out because I wasn’t where I thought I was with my knowledge of the fundamentals. After a moment of stress, I realized that stressing out about this was not helping and that I should just create a plan on how to improve. So I created a study plan (that’s the next action item).

3. Create a study plan.

What you think you know: Go through each specific topic of interest from Launch School’s study guide and in a separate markdown file (ex. call it js109_notes.md) write out your own explanation to each specific topic of interest without looking at your notes.

  • This will bring to light your current understanding of each topic and the information that you retained after taking the JavaScript 101 course.
  • You can compare your explanation for each topic against your notes and see what information you got wrong or missed and you’ll know what you need to study more.

Review the correct answers: Review and study your notes (or Launch School course material) on the specific topic of interest (maybe review all your notes — it can’t hurt).

Write down the correct answers: Again write out explanations for each specific topic of interest in your markdown file from earlier while looking at your notes and be sure to use correct language when describing code.

  • You can use the markdown file with your notes (ex. js109_notes.md) that you created earlier, with your written explanations as your compiled notes during the exam so you can easily lookup information you need if you get stuck on a question.

Compare answers: Compare your initial understanding of each specific topic of interest versus the correct explanation you wrote down after reviewing your notes.

  • This will help you understand your “weak” topics that need to be studied more.

Study some more: Study your “weak” topics or any topics you’re still unsure of. You can study by reviewing the Launch School course material or seek outside resources for additional clarification.

  • You can see my list of JavaScript resources (at the end of this article) that I used to solidify my understand of certain concepts.

Write down code examples: Create your own code examples for all of the specific topics of interest (or any specific topics of interest that you’re still unsure about) and practice answering (verbally or written) what the code is doing in certain situations and what it is an example of.

This step had the biggest impact for me on understanding the JavaScript fundamentals I’ve learned so far because when I was creating these examples from scratch, I had to really think about the code and what’s its doing. It’s one thing to read about a concept, it’s another thing to write your own code to demonstrate it.

  • Example:
let name = "Bob";

const changeName = function(name) {
name = "Joe";
}

changeName(name);
console.log(name);
  • Ask yourself — What will the last line output? Will name be reassigned when the function was invoked? What is this code an example of? (hint: variable shadowing). These are the sort of questions you need to be able to answer during the written assessment.
  • Play with the code examples in node and see if you understand why certain things are happening or not happening (like mutation, reassignment or variable shadowing) in certain situations. For example, what will happen if you remove the parameter from the above function?

Take the JS101 quizzes again: Redo all the quizzes to understand if you have any “weak” topics that need to be studied more.

  • This will retest your knowledge on the topics. If you’re getting some questions wrong then you need to study that topic/question material more.

4. Items to have for the written test.

  • Two timers: one to track the allocated test time (3 hrs) and one to track allocated question time (9 minutes per question if there are 20 questions).
  • Compiled markdown notes on specific topics of interest. These can be the notes with your code examples and correct answers/explanations for each topic that you created during step #3 above. Don’t depend on your notes. They are there just in case you need them.

5. Tips for during the written test.

  • Use your timers. Time will sneak up on you and you will feel rushed towards the end. This is a problem that most students face — myself included.
  • Don’t over-explain your answers. Answer the question they’re asking directly, but no more. You can always go back to add more to an answer if you have time at the end.
  • Answers questions from top to bottom. The questions seem to build on themselves.
  • If you’ve used up 9 minutes for a question and didn’t answer it — make a note of it and skip it. You can come back later if you have time.

How to prepare for the interview assessment:

  1. Attend another study group.

This time you’ll focus on the interview portion of it. You’ll get an idea of the type of interview questions you might be asked during the actual interview.

Also, you’ll meet other students preparing for the interview and you can ask other students if they want to practice live coding together. See item #3 below on why you should practice live coding with other students.

2. Practice solving code problems.

Launch School Exercises: Redo any of the small problems exercises you didn’t quite understand or didn’t complete in under 20 minutes. That’s about how much time you’ll get to complete one interview question during the interview.

Practice Codewars: Most of the code challenges you’ll see in 5 kyu and 6 kyu in codewars are similar level of difficulty of the code challenge you’ll expect during the interview. And codewars lets you see other users solutions to the code challenges so you can compare your solution to theirs.

  • You’ll see some cool but advanced solutions that people have shared. Don’t be discouraged by your basic solutions though. Mine were basic too. But we’ll get to the advanced level some day! :)

3. Live code with other students.

Find a student to live code with if you can. A good place to find students is during your study group in Launch School.

Live coding with other students will help you with the following:

  • practice speaking out loud while coding (which you will need to do during the interview)
  • use the right vocabulary when speaking about your code
  • get used to the anxiety and pressure of problem solving while someone watches
  • see potential areas of weakness — the other students can provide you with their feedback on what you can improve
  • increase your confidence using the processes you’ve practiced for problem solving
  • hear other students thought process on solving problems and how they implement the solutions

Don’t just do the live coding sessions to say you did it. Do as many as needed to make you feel comfortable.

4. Review methods on Quizlet or Anki.

Using a method to solve something can help you with solving a code challenge in under 20 minutes during the interview so keep reviewing the different methods and when to use them.

  • If you don’t really know how to use a method correctly or when to use it, then don’t try using it during the interview because it’ll just slow you down. During the stress of living coding you can easily forget syntax of a certain method. You can just solve the interview code challenges with basic code.

5. Practice “problem solving”.

Follow these tips when you practice solving problems (both on your own and when live coding):

Use the PEDAC process to solve the problem. When you’re live coding, this will help you keep calm and focused on understanding the problem and how to solve it. You don’t have to use the full PEDAC process if a shorter version of it does the same job.

  • For example, I used this:
/*
— problem: in my own words, write a short description of what the problem is about
— examples: list some provided examples— input types:— expected output types: - rules: list anything specific that the problem is asking for or any edge cases to look out for— algo: write down your pseudo code

Try listing different possible solution options to the problem. Don’t write out the steps to the solution right away. Just write down the approach you’ll take with each option. Explain it in plain English. Example: “Use a for loop and an object to get the count of each occurrence”.

  • Maybe the first solution that comes to your mind is a “brute force” type of solution that takes a while to solve and uses basic methods. Write it down so you can think about other options.
  • Don’t just jump right into the first solution/option that comes to your mind and start coding. Give yourself 1–2 minutes to think about other ways you can solve the problem that’s cleaner and faster. It’ll save you time in the long run.
  • Think (and speak out loud) about the pros and cons of using each solution option. And choose the option that you’re most comfortable with.

Use descriptive variable names. Don’t just use short names for variables like a because it’ll be harder for you to recognize where an issue in your code is coming from.

  • For example, if you have two variables containing string values, name them appropriately. If one variable contains a complete sentence and another variable contains one word, don’t name them str1 and str2. Instead, name it sentence and word so you’ll easily know which one you’re working with.

Test your solution regularly as you solve the problem. As you code your solution, test it to make sure it’s doing what you want it to do or what you’re expecting it to do. If you wait until the end to test your solution, then it’ll be harder to find the bug.

How to handle the mental stress of preparing for & taking the assessment:

  1. Don’t compare yourself to other Launch School students too much.
  • Some comparison is good because it’ll let you understand where you’re at with your knowledge of the fundamentals and problem solving abilities compared to other students and where you can/should be to do better.

2. It’s okay to feel stressed.

  • It’s okay to have periods of stressing out/freaking out for a bit. I felt that way sometimes. Let those feelings in, feel them and then move on and keep coding. Those feelings are what keep you moving forward and tell you that you might need more practice to feel more comfortable with something.

3. Talk to other people about your progress with Launch School and your emotional state.

  • This will help relieve stress. You’re basically talking out the stress and anxiety.
  • Talking about your progress with others will give you social pressure to keep moving forward and not give up.

4. Don’t be afraid to “slow down” with your studying.

  • You’re only cheating yourself if you rush through it without truly learning it. What’s the difference in the long run if you took an extra week or month to study for something so important? That extra week or month will be insignificant.

4. Accept that you’ll never be fully ready.

  • I don’t think anyone ever feels completely ready to take a test. Accept that you’ll never be fully ready and if you go for it you might not pass but you will get good feedback from your TA on what to improve on. You can use that feedback to update your study plan to prepare for the second try.

JavaScript Resources to help with your studying:

  1. The Coding Train (Youtube Channel)
  • I like how the guy in the videos explains things. He simplifies things and speaks in plain English most of the time so it’s easy to understand and follow. And he’s pretty funny. He has a ton of videos and some are pretty advanced but just search for the ones that are relevant to what you’re currently learning.

2. All Things JavaScript (Youtube Channel)

  • The guy in the videos also explains things in a clear and simply way. And he uses visuals to explain JavaScript concepts.

3. JavaScript: Understanding the Weird Parts (Udemy Course)

  • This is a short paid course but it was very helpful to take. The complete course is about 11–12 hrs but it covers more than just the weird parts of JavaScript fundamentals that we learned in Launch School 101. So I just watched the videos specifically related to the topics I was learning in Launch School which was like a total of 1–2 hrs of videos.
  • Note: when you’re in JS120, you can refer back to this course for information on the weird parts about OOP in JavaScript.

--

--