Part two of two on how to be a standout LaunchCode apprenticeship candidate. If you missed part one you can read it here.
Every company uses different types of technical assessments. However the assessments used differ, and the tests given fall into two main categories: unproctored online assessments and live coding exercises.
The tests are usually hosted on sites like HackerRank.com. Candidates are usually sent a link from the hiring manager that will take them to the test. You should be aware that, occasionally, the link may have an expiration date. Additionally, coding tests have time limits; if you cannot find the time limit on the test, it never hurts to double-check! Often, you will get to choose your preferred programming language from a relatively large list. Something to be aware of before taking one of these tests is that some tests specifically cater to certain languages and may have some options disabled. Once you submit the code, the platform will attempt to run a series of test cases to assess your programming logic. However, if the platform cannot run the code, it will return an error report to help you debug.
Evaluators are looking for quite a few different things. The test score is only one aspect the evaluators take into consideration. At some companies, candidates must score above a certain level to qualify for the next round. Beyond the test score, evaluators are looking at many other things: quality of code, effort, code comments, time taken, logic, syntax, run time complexity and so on. At LaunchCode, the quality of your code means more to us than how well your code scores. We would much rather see clean code that is logical and easy to understand than poorly written code that works, but is very difficult to read.
Candidates can prepare for online tests by simulating the environment and practicing.
Candidates can prepare for online tests by simulating the environment and practicing. Many websites offer free coding puzzles, examples of which include hackerrank.com, projecteuler.net, or exercism.io. Start by copying down a list of questions you feel comfortable answering, select a random question from that list, set a time limit for yourself and limit the use of outside resources!
Tests can be administered in person, either on a whiteboard or paper, or online using resources like collabedit. Most of the time, candidates don’t have access to the internet, code editors, or compilers. This exercise really shows your ability to code and your understanding of what your code does.
Evaluators can be looking for a number of different things during these exercises from problem solving abilities to communication skills. To keep things simple, I recommend you focus on four different things as you’re working on problems: requirements, logic, syntax, and testing.
The best way to prepare for any technical test is to practice, practice, practice!
Candidates can prepare themselves by simulating the environment of the live coding test. Find problems online (check out the sites listed above) that you feel comfortable solving. Step away from your computer and do the problem on a piece of paper or on a whiteboard away from your typical coding environment. Follow the four steps provided above, and when you think you have a solution that works, run your solution through whatever platform you got the problem from as a final check to test your work. Take note of any problems in your solution. Did you make a logic or syntax error? If you find you are constantly making the same type of error, that’s an indicator that you need to work on that area more.
The best way to prepare for any technical test is to practice, practice, practice! If you get nervous, remember that every developer, no matter how much experience they have in the field, struggles with technical testing at some point in their career.