Coding assessment study plan
How to practice for coding assessments
Here's a quick list of tips to help you practice efficiently and effectively.
Practice in a realistic setting.
If you wouldn’t take a real assessment at the coffee table with Netflix on in the background, why are you practicing like that?! Think about where you plan on being when you have to take an assessment that counts, and take all of your practice assessments in that same spot. (This really helps, promise.)
Create your own practice assessments.
We’ve compiled a list of relevant Leetcode questions for you to practice. Choose two of them and set a timer for 60 minutes. The more you practice, the easier (and less intimidating) it gets.
Review and repeat.
If you can’t figure out a solution to a problem in under 30 minutes, don’t panic! Look up the solution online, learn how to solve it, and then move on. In a day or two, revisit that problem and see if you can solve it this time without having to look anything up.
Tips for taking coding assessments
Don't copy and paste code.
One thing you should know - copying and pasting code into the assessment will trigger cheating detection within assessment software like Coderbyte or HackerRank. Re-type your code in to avoid this flag.
Don't cheat.
When it comes time to take an actual coding assessment given to you by a potential employer, it's very important to not cheat.
What is cheating? Looking up the answer and immediately solving it in the assessment in 10 minutes. Switching languages for each challenge because you found an answer online in that language first.
Most of the platforms used to give coding assessments record part of your screen (the code editor) as you take them, so employers can literally see how you work. Don't disqualify yourself by cheating.
Don’t switch tabs too often.
Online judges only record the code editor — so you don’t have to worry about them recording your entire screen — but they do take notes on how often you leave the editor… and for how long.
If you leave the tab multiple times, especially for extended periods of time, then you might get flagged as cheating. And it could still look bad even if you don’t get flagged, because any interviewer who happens to review your coding assessment will be able to tell that you were switching back and forth between the code editor and something else.
Do your best!
In the end, your interviewers are going to learn what your real proficiency level is. Can you get a few steps further in the process by hacking your way? Maybe. But ultimately it's going to damage your chances of getting hired because it will be discovered that you misrepresented your skills, and that will result in an immediate rejection.
It's ok to be exactly where you are. No one was born coding! Do the best you can, and that will often be good enough. And if it's not, you'll learn where you need practice if you want to get a particular job. People who don't give up are impossible to defeat.
Have any extra study tips or resources you absolutely love and think others could benefit from? Share them in the Speak_ Discord and let us know!
Which LeetCode questions should I study?
Instead of trying to memorize a one-line answer to a few common algorithm questions (We’re looking at you, FizzBuzz), you should try to do a lot of LeetCode problems so that you can start to recognize algorithm patterns.
We recommend following a list because it lets you focus on studying instead of fretting about which questions might be important.
To help you with this, we’ve put together a Big List of DS&A Problems with the help of a hiring manager at Amazon. This curated list is an excellent study companion, and if you go through the entire thing then you’ll be in great shape heading into any online assessment.
There are a lot of amazing LeetCode lists out there. Almost any of them will work!
The most commonly recommended LeetCode List by Speak_ candidates is Grind 75. If you haven’t heard of it before, check it out! It’s a list of 75 LeetCode questions meant to be solved in order over the next 8 weeks.
How long should I study for?
Now that you know what to study (A LeetCode List), you might be wondering, “How much time should I dedicate to LeetCode every day?”
This is a great question! The answer is… it depends.
If you have 90 minutes to spare, then doing a 60 minute practice assessment followed by 30 minutes of review is going to be the most effective way to study.
And we’re not talking about looking at the clock and saying, “I’ll practice LeetCode for about an hour.” No, we mean actually setting a timer and trying to race against the clock!
Why? Because the best way to practice is by pretending you’re taking a real online assessment.
If you only have 60 minutes to study, then we recommend setting a 60 minute timer and trying to solve two LeetCode questions within that hour.
The time limit is the key! If you finish both of the questions and have time left over, use that extra time for review.
- Refactor your code to be more optimal.
- Go back and add descriptive comments.
- Watch a YouTube video about the questions you just solved to make sure that you fully understand the best solution.
It's incredibly simple to create your own online assessment, for free, with just a few minutes of preparation. Let’s get right into it.
How to make your own practice assessment
Follow the steps below to make a practice assessment for yourself.
Step 1: Choose two questions
Prepare your practice assessment by choosing 2 questions from the Big List of DS&A Questions.
What difficulty you choose is up to you, but we recommend 1 easy and 1 medium challenge.
We recommend mixing and matching categories. For example:
- Question 1: String Manipulation - Detect Capital
- Question 2: Dynamic Programming - House Robber II
Step 2: Take the practice assessment
Once you've chosen 2 questions, set a timer for 60 minutes and get to work.
Do your best to simulate a real test environment:
- Avoid distractions.
- Try to answer both questions before the timer goes off.
- Don't copy/paste solutions. Assessment platforms like Coderbyte will flag you as cheating if you copy/paste in the editor.
- Don't take extended breaks in the middle of the test. In a real test, you won't be able to do one question and then eat lunch before coming back to finish question two. Do them both in one sitting.
If you get stuck on the first problem and can't solve it in under 30 minutes, move on to the second problem. You can go back and try to complete the first problem if you have time left over at the end.
Step 3: Review your solutions and repeat
After you finish your homemade assessment, review your solutions.
Answer the following questions:
- Did you get the test cases to pass? (most important)
- Do you understand the space and time complexities? Can you think of ways to improve your answer? You don't have to solve the questions in best way possible, but it does help to think through how you could refactor if you had extra time.
- Could you solve this problem again tomorrow (without looking anything up)?
The more you practice, the better off you'll be.
You’ve got this! 💪🏿
Additional study tips
1. Study in short bursts
It's been proven that it's better to study in 20 different 30-minute increments rather than a single 10 hour marathon, for example. Spread your studying out over as much time as you have, but always try to recreate a test environment whenever possible.
2. Study at a consistent time
It's even more beneficial to study in the same location and at the same time of day that you'll be taking the real online assessment. If you can be consistent with your schedule, do it.
3. Study with intent
Before you study, set an intention about what you want to learn or accomplish. A great way to study intentionally is to create your own practice assessments.
4. Remember what you learned
Use active recall to test your knowledge. Spaced repetition programs like Anki and Remnote are great for this.