How to Prepare for the Rithm Technical Interview December 08, 2016
One of the most common questions we get from prospective students is, “how do I prepare for the technical interview?” In this post, we’ll outline what we look for and what you need know in order to be successful. But first, let’s make sure you understand how the interview works.
How it works:
A typical technical interview at Rithm first involves a conversation with our Director of Operations and an instructor. Before we start solving problems together, we offer our applicants the opportunity to ask some questions about our program or even get some help with problems they are trying to solve. Remember, the interview is just as much an opportunity for you to see what it’s like working with us.
Next, we have applicants head over to the whiteboard and we start discussing a problem to solve. We encourage applicants to take a minute before writing any code to understand the problem statement and brainstorm some potential solutions with us. It is also important to note that there is almost always more than one correct solution. We’ve even had applicants come up with solutions we could have never imagined!
What we look for:
Completing all of the exercises is not only essential for your learning, but many times we ask candidates to go over their solutions and walk us through their code and thought process. If you’ve finished the online course and are looking for more resources and practice problems, we find LeetCode and Codewars to be some of the best ones out there. You should be comfortable solving 8 kyu and 7 kyu problems on Codewars, and if you can push yourself to complete a 6 kyu, you’ll be in great shape.
Problem Solving Ability
In order to succeed as a developer, you need to be able to solve problems. Our interview questions do not require a tremendous amount of previous knowledge, but we do emphasize problem solving in the interview. If you’re feeling a bit nervous about this, know that problem solving is a skill that can be improved with practice and time. If you’re not feeling strong with your problem solving skills, we have a Series on Problem Solving to help you get started.
Communication and Coachability
Aside from the technical aspects, there are a few important behavioral factors that we heavily consider. When interviewing, we look for students who are communicative. As you’re coding a solution or whiteboarding, it’s essential that you talk to us and explain what you are doing.
We’re also looking to see how you respond to feedback. It’s very likely that you may get stuck or frustrated with a problem and we look to see how you respond to that challenge. If you’re not sure how to solve a problem make sure you let us know! Answering a question with “I don’t know” is absolutely fine as long as you work with us to figure out a solution.
What we don’t look for:
Your Prior Background
We’re not focused on your prior background. Some of the best students that we’ve ever taught have been artists, elementary school teachers, and massage therapists. Our focus as interviewers is to determine your knowledge of the fundamentals, your ability to solve problems, and how well we both work together.
Knowledge of Advanced Concepts
You will not get questions on more advanced concepts like the keyword this, functions like call, apply, and bind, object oriented programming, or functional programming. We strongly believe that if you have the drive to learn and are able solve problems, we can teach you the rest.
Not Taking Enough Time To Learn the Fundamentals
One of the most common mistakes we see with applicants are those that underestimate the time required to learn the fundamentals. When learning the fundamentals, it’s essential that you practice typing and running code, not just reading. A portion of learning the basics is actually the muscle memory and memorization of syntax and how things work.
When you’re preparing for the interview, try coding in an environment where you don’t have syntax highlighting and code completion. To really challenge yourself, try hand-writing the solution to a problem (then code your solution to see if it works). This will force you to master syntax and will prepare you even more for whiteboarding interviews.
Jumping Into Code Too Quickly
Another common mistake we see is when students that jump into code too quickly. When solving a problem, it’s important to talk about your thought process, what potential issues might arise, and what your expected input and output will be. Remember, there’s no rush to find the right answer. We’re much more interested in your ability to reason and think about solving problems than how quickly you can write a solution.
Trying to Learn it All
The last common mistake we see with applicants is trying to learn more advanced concepts without understanding the fundamentals. We’ve seen many applicants who will attempt to learn advanced concepts and try to apply them during the interview, but struggle to demonstrate a knowledge of the fundamentals. Even though it may be tedious, mastering the basics is essential for learning and truly understanding more advanced concepts in any programming language.
What happens next:
After the interview we make sure to answer any questions that you have and get back to you with a decision in 24-48 hours. As always, if you have any questions, be sure to chat with us on the site.
Written by Elie