Below is the guide for acing the interview with Hatchways.
The first step of practice is improving your ability to answer behaviour questions. This link is a great resource for learning an effective approach to these types of questions. Please read this document thoroughly.
Secondly, we would like you to use the method above to write out the answers to the following questions:
- Tell me about yourself
- What are your strengths?
- What are your weaknesses?
- Why are you interested in working here? For a startup? In technology?
- Tell me about a time you solved a difficult problem
- Tell me about a time you worked in a team and the challenges you faced and how you solved them
- Tell me about an accomplishment you are proud of
- Tell me about a project you recently worked on
- Tell me about something you recently learned
- Tell me how you got into this field and why you liked it
- Tell me what you're career goals are for the next 3-5 years
- Do you have any questions for me?
We have broken down the technical interview prep into different levels (beginner, intermediate, and advanced). When you practice coding questions, it is crucial that you practice using an online editor like repl.it and using paper/whiteboard.
Below is my five step process to approaching technical interview questions. Here is a link with a similar process.
-
Read the question, and repeat the question to the interviewer. By repeating the question, you are solidifying your understanding of it. This is also the time to ask any questions that you don't understand about the problem. Interviewers like when candidates ask questions - its a great indicator of a strong candidate.
-
Create a few test examples and try to solve the problem manually. Do not write or think about code yet. Just make up an example input to the problem, and write out the steps that your brain uses to solve the problem.
-
Psuedocode. Turn the steps you have written in the previous step into basic psuedocode. This should look as close to code as possible. If you know a trivial solution, mention the idea to the interviewer right away before attempting harder solutions. This is because if you stumble on a harder solution and fail to mention the trivial one, the interviewer doesn't even know if you can solve the problem in the trivial way. If you attempt the harder solution and fail, make sure to revert back to solving it in the trivial way. Make sure to mention the big O efficiency of the trivial solution as well, and explain why it's not the best solution. Sometimes interviewers just want to see if you can write code, and the trivial solution is sufficient for them.
-
Convert the Psuedocode to real code. Test the code with a bunch of examples and edge cases. Make sure it works. Try to break it (this is a good sign of a strong candidate). Fix the code if there is problems.
-
Optimize your solution. If you have time and have solved the problem quickly, this is the time where you think about how you can optimize your solution and improve its efficiency.
You don't have to do all the steps, especially if the question is easy. These are general guidelines for questions that look challenging upfront.
This section is focused on the basics of programming - Strings, arrays, loops, objects and functions.
Please attempt the problems below:
- FizzBuzz Problem
- Simple Adding
- Check Nums
- First Factorial
- First Reverse
- Letter Capitalize
- Longest Word
- Questions Marks
- Word Counts
- Sublists
- Pig Latin
- Try questions 6, 7, 22, 25 and others on W3resources on functions
- Try questions 2, 3, 4, 5 and others on W3resources on arrays
- Try questions on W3resources on loops
- Try questions on W3resources on objects
- Check out problems in The Odin Project, specifically Fibonacci
Need more questions? These are great resources:
Need to learn the basics again? Check out these resources:
- The Odin Project Web Course and Javascript Course
- Javascript course on CodeAcademy
- Free Code Camp
- Modern Javascript
Specifically looking for a frontend development job? I would check out:
This section introduces more advanced concepts of programming - data structures.
Interviewbit is a great resource to start learning about data structures, as well as getting some practice along the way. Please start the programming course.
Need more questions? Here are great resources:
Here are some great resources to improve your programming skills:
- Take a look at this book, Cracking the Coding Interview
- Practice advanced questions at LeetCode
- Check out this great guide on how to get a job