This is article is courtesy of the Galvanize blog. Interested in entrepreneurship, web development, or data science? Check out the Galvanized Newsletter, bringing you the best content from The Learning Community for Technology.
Job interviews are absolutely terrifying. It doesn’t matter how much you’ve prepped. The stress of having a small window to prove your worth is a daunting task no matter how great you are. Even the most confident coder can turn into a sweaty mess at the prospect of a technical interview.
The good news is that with the right preparation, you’ll be ready to field complex questions without hesitation:
Be a Problem Solver
Obviously, you need to have the hard skills to excel in a position. But a passion for problem-solving and hard work will give you the one-up on a similarly skilled candidate who acts less-then thrilled to be there.
If you’re asked a question you don’t know how to answer, don’t freeze or go quiet. Many interviewers like to put you on the spot to see how you work through a problem and communicate complexities. Attention to detail and the ability to ask relevant questions are also areas of focus, and your answer is often secondary to how you got there.
Show Your Work
Interviewers want to know that you’re checking and double-checking your assumptions, and will also ask you why you choose the code solutions that you did. Don’t get defensive – they likely just want to see how well you can take feedback, as well as gauge your ability to critically evaluate your own work.
If the prospect of fielding a barrage of technical questions makes you cringe, you’re not alone. Don’t panic. The key to understanding and conveying some of the more technical facets of a job is to prepare, prepare, and prepare some more. The last thing you want to do is get stumped on a question and not have a way to circumvent a solution.
Know Data Structures
Knowing the basics of computer science can go a long way in keeping you in the fight for the job. Data structures are the basis of computer science, and you should be familiar with arrays, linked lists, hash tables/maps and binary trees. As software engineer Aakash Basu writes on Quora, “Without them, you will be reinventing the wheel – not always successfully.”
Understand Search Algorithms
Interviewers often focus on your understanding of search algorithms to gauge your skill set, including the nuances of breadth-first search (BFS) and depth-first search (DFS), and when to use one vs. the other. Make sure you understand these algorithms so you don’t get caught with your pants down on a difficult question during the interview.
Get Efficient Sorting
Efficient sorting is vital when optimizing the use of algorithms. The interview will likely be filled with a few examples of this. CareerSource recommends focusing on Merge Sort and Quicksort to refine your knowledge and determine when to use each.