What Resources Should I Use To Prepare For A Coding Interview
“Cracking the Coding Interview,” a book by software engineer Gayle Laakmann McDowell, breaks down 189 common technical interview questions and walks the reader through each solution. It also gives tips on how to complete on-the-spot algorithms and how to handle behavioral questions.
You practice your coding skills on LeetCode, a website dedicated to helping tech professionals get jobs. It offers hundreds of test questions and even has a premier membership in which members can filter sample interview questions by specific companies.
Job and recruitment website Glassdoor is a repository for hundreds of sample interview questions that Glassdoor users were asked in their technical interviews.
Applicants can hone their soft skills and get ready for behavioral questions with Educative’s Grokking the Behavioural Interview course.
Ask For Clarification If Needed
If the interviewer asks you a question and you need additional information to properly answer it, it is ok to ask the interviewer for clarification. This will show the interviewer that you have the ability to identify when additional information is needed and that you aren’t afraid to ask for clarification when you need it.
What Kind Of Questions Will I Be Asked In A Technical Interview
The likelihood is that most of the technical questions in the interview will relate directly to the job role. Therefore, you can get a good idea of what questions they might ask you from the job advert.
Most job descriptions will specify a set of essential technical skills and, rather than take your word for it, theyll want to see those skills and knowledge in action.
The kind of questions will vary from role to role. Your first point of reference, particularly for a big graduate employer, should be their website, as they might post examples of the sort of questions theyll ask.
You can also find plenty of websites with lists of technical questions, which you can use to test yourself. However, you should always check the sources of the website some simply post hearsay.
All in all, during a standard technical interview they might expect you to complete a task, such as coding, or they might ask questions that test how you would use your technical knowledge in a real-life situation.
Don’t Miss: How To Prepare For A Second Interview
What Are Your Favorite Tech Products To Use And Why
Interviewers likely ask questions like this one to get an idea of a candidate’s enthusiasm and familiarity with working with certain technologies. Recruiters may also want to know how candidates will adapt to working with the company’s hardware and operating systems.
Most Common Microsoft Interview Categories
Choosing the types of questions that we spend our time practicing on is important, especially if we are targeting a specific company.With this in mind, we decided to gather some data regarding the types of questions that are typically asked in Microsoft interviews.
We combed through the website Glassdoor to find specific examples of what people had experienced in their Microsoft interview.Glassdoor has a page dedicated to Microsoft, and individuals who have interviewed at Microsoft give a review on their experience. This often includes specifics as to what problems, or at least, what types of problems they were asked during their interview.
After parsing through over one hundred interview experiences from Glassdoor for Microsoft, I obtained the following distribution of the types of problems that were generally encountered in a Microsoft interview.
Spend most of your time on the most important and most likely material to appear in your Microsoft interview.
We can see that there is a large emphasis on data structure-based questions over the algorithm and design categories.
For a bit more granularity, I also took these larger categories and broke them down into subcategories.
From both of these graphs, its clear that Microsoft really favors the following topics:
One of the observations I made in parsing through this data is that there were recurrent specific problems and topics that arose in all three of these subcategories.
Recommended Reading: What To Ask In An Interview As A Candidate
What Happens Once You Have A Company’s Attention
Getting the attention of the company allows you to talk to the recruiter about your background and whether the position might be a great fit for you.
If it is a great fit then you will go through several interview processes. Below is an example of some types of technical interviews you might go through.
Importance Of Pen & Paper
Usually, while preparing for a technical interview, we practice on our laptops. Rarely do we pick up our pen and paper and write algorithms and codes using them. This is a mistake. In a technical interview, you will be required to solve all problems put to you on paper.
Make it a ritual to practice by writing, not typing. Another good practice is to do dry runs of at least two problems in every topic on paper. This not only deepens your understanding but also makes you comfortable with writing code on paper.
Recommended Reading: How To Prepare For A Server Interview
Talking Through A Problem
For this type of question, the interviewer will give you a programming challenge to solve, often focused on either algorithms or design. You might have to write out a solution on a whiteboard or type up an example using screen share.
While you should aim to get the correct solution, this type of interview question is designed to see how you approach a problem. If you have incomplete information, do you ask clarifying questions or do you make assumptions? Can you articulate your thought process as you work through the problem? How well can you collaborate with the people in the room?
Questions About Tech Tools Systems And Security
What They Want to Know: Most tech employers make it quite clear in their job listings which technologies you must be conversant with in order to be a viable candidate for employment. If you know ahead of time that they are looking for a technical competency you lack, your best strategy is to sign up for a training program so that you can honestly claim to be currently honing your command of the tech.
How To Respond: Be prepared to delve deeply into the nuts and bolts of systems development, programming, and / or security in your answers. You can also emphasize your ability to learn new systems quickly, providing examples of when you have done so in the past.
20. What development tools have you used?
21. What languages have you programmed in?
22. What source control tools have you used?
23. Describe the elements of an in-tier architecture and their appropriate use.
24. Compare and contrast REST and SOAP web services.
25. Define authentication and authorization and the tools that are used to support them in enterprise deployments.
26. Have you used Visual Studio?
27. Have you used Eclipse?
28. What is a SAN, and how is it used?
29. What is clustering, and describe its use?
30. What is the role of the DMZ in network architecture?
31. What is a cross-site scripting attack, and how do you defend against it?
32. In network security, what is a honeypot, and why is it used?
Don’t Miss: What Questions Are Asked In An Exit Interview
Be Ready For Anything
Once youve made it to your interview, you should be prepared for a few different kinds of problem solving. Your interviewers may ask you to talk through how you would solve a problem, they may open a computer and ask you to guide them through creating code, or they may have you write the code yourself on a whiteboard. Be prepared for variation, and dont get tripped up on the details! No matter what method your interviewers are using, its your problem solving skills that they’re really testing.
Trick #: If Remote Have A Good Setup
Speaking of being remote, if you are remote try to have the best setup you can. This means camera on , good internet, computer plugged into power, a quiet room, glass of water nearby, etc.
These things shouldn’t affect your interview result, but there’s no need to annoy the interviewer or give yourself extra stress from internet or noise issues.
Also Check: What Are Questions Interviewers Ask
Tips For Preparing For Your Technical Interview
Now that you know what to expect from the interview process, how should you start preparing? During the interview, the interviewer is evaluating what you know and what you dont. Is your skillset a good fit for the role they are hiring for?
They also want to get a good look at your thought process when encountering a problem. With these goals in mind, preparing for a technical interview is less about memorizing every detail of software development and more about ensuring you fully understand the concepts youve learned.
One of the best ways to prepare for a technical interview is by reviewing basic definitions and explaining them to yourself through analogies. For example, when considering inheritance, you might compare it to a grandfather clock and a watch both inheriting traits from a clock. Coming up with real-world analogies helps ensure that you truly understand the concepts.
Its also common for an interviewer to ask you to explain a programming principle or to discuss how youve used it, so you should be comfortable answering these types of questions aloud. You can practice answering these types of questions in front of a mirror, or better yet, with a friend.
Onsite Interview And Whiteboard Challenge
Now weve arrived at the most intimidating part of the entire tech interview process. At tiny startups, onsite technical interviews might be a lot less formal than at bigger companies. Heck, there may not even be a whiteboard to do a coding exercise on! Still, whatever the company size, it never hurts to do coding interview preparation so youre ready for any situation that may arise.
What to do during the onsite technical interview + whiteboard challenge
1. Ask clarifying questions before you even start writing code.
I appreciate it when someone takes the time to evaluate the question he faces in the interview, says Refael . It shows me that this person is calculated and rather than just writing code, he sees the whole picture.
Ask questions around assumptions of the question, and try to reason about the question from a bottom-up perspective, adds Chris.
2. Talk through your code to give the interviewer a window into your thoughts.
What happens in a technical interview is as much about the journey as the destination. Its designed to test a candidates communication and problem-solving skills, says Refael. More important than the solution is how they work at getting the solution. Can they articulate their thoughts while writing out the code on the whiteboard? Are they putting together a clear response to the question?
3. Speak clearly and precisely.
A few of Chriss specific tips to help your interview skills:
How to stand out in the whiteboard interview
You May Like: What To Say In Thank You Interview Email
The Day Of The Interview
Be on time and bring a bottle of water . Most companies will offer you refreshments, but have something handy just in case.
Relax and listen closely. When you engage your interviewer after a coding question has been given to you, do not start coding right away! Ask clarifying questions this is absolutely expected. For instance, you may be asked a question such as Delete the nth to last item from a list. Would you start coding this immediately? I posit that you really couldnt here are clarifying questions that I would ask prior to formulating an attack vector or designing an algorithm to solve the problem.
- What type of list are we discussing? A linked list
- Is this a singly-linked list or doubly-linked list? Singly-linked list
- Is space complexity important? No, but time complexity is
- In that case, is a recursive solution acceptable? Yes, but it would be nice to see an iterative solution as well if we have time
- Do you want me to code the helper Node class? No, you can assume you have int data and Node next
We now have a completely different question than we started with. Delete the nth to last node from a singly-linked list. Since the interviewer isnt concerned with space complexity, we can use an elegant and simple recursive solution to start with . We know that the interviewer doesnt care about the Node class, and wants an iterative solution as definite bonus points.
Master One Programming Language
To do well in the technical interview rounds and the coding rounds, you must be completely thorough with one programming language of your choice. This will be the medium that you will use to implement all your subject learnings. The problems posed to you in the technical interview or the coding round will require solving using this programming language.
Mastering a programming language does not only mean knowing the syntax, but you also must be fluent in its usage to solve any problem that is given to you. Building your problem-solving and logical skills in this language is immensely crucial. You can choose any programming language of your choice. Here are the current trends of the popularity of various languages.
Read Also: How Hard Are Google Interviews
How To Ace Your Technical Interview
Whether youve been programming since your pajamas had feet on them or youre facing down the barrel of your first post-school job hunt, the technical interview can be a terrifying hurdle between you and your dream job.
But dont fearjust get ready to show off your skills. Below youll find some tips that are helpful to ace any technical interview.
So What Exactly Is A Technical Interview
Each company handles the interview process differently. The format and questions will mostly depend on your potential role. Typically, you will be asked to complete a challenge or assignment, such as solving an equation or brain teaser on a whiteboard, explaining an algorithm, or implementing programming and coding skills quickly in real time.
You may be asked to complete the technical assignment on your own and submit it or via video conference.
Whether you are studying engineering, computer science, or information technology, finding your first internship or job in STEM is a process. While your resume, cover letter, technical skills, and education help you secure the interview, your interviewing skills are what will finally land you the job.
Here is our technical interview cheat sheet to help you prepare for and ace your interview.
Don’t Miss: How Can I Watch Harry And Meghan Interview
Don’t Study All Nightsleep
Interviewing sleep deprived could be worse than getting drunk beforehand. Make it your mission to get a full night of sleep, because you want all the brain power you can get.
In fact, try to get two nights of good sleep before interviewing, since sleep debt lasts a few days.
As soon as the sun goes down, put down the practice problems and focus on relaxing. If sleeping isn’t your strongest skill, try these sleepytime guidelines:
- Exercise lightly earlier in the day.
- Don’t drink caffeine in the afternoon, and don’t drink alcohol at all.
- Avoid bright screens in the evening. Dim your screen once the sun sets.
- Eat a light dinner, ideally one with noggin-friendly foods, like salmon, beans, and vegetables.
- Before bed, turn on a boring podcast, listen to some calming music, or read a book.
The most important thing is to not stay up late practicing new or difficult problems. That’ll only put your brain on a train to Los Anxiousness. Instead, you should
Most Common Technical Interview Questions
Are you interviewing for an IT job? If so, you should prepare to answer technical interview questions designed to determine whether you possess the hard skills required to do the job well.
During the job interview, you will need to share examples of your skills as they apply to the job for which you’re interviewing. Taking the time to match your qualifications to the job description will make it easier to respond.
Review this list of the top technical interview questions that are most often asked by tech employers and recruiters. Depending on the job you’re interviewing for, you will be asked about the skills, experience, certifications, competencies, language, processes, systems, and tools you have that are a match for the job requirements.
As you structure answers to the most commonly asked questions, jot down anecdotes and specific examples from your previous work experiences so that you have plenty to elaborate upon.
In addition to practicing your responses to these questions, you should also be ready to take advanced skills tests to prove your level of aptitude in software programs, coding / programming, and / or web development .
You May Like: How To Reschedule A Phone Interview For Food Stamps
What’s The Best Way To Prepare For A Coding Interview
Data structures and algorithms will likely be an integral component of the coding challenges, so it’s important to spend time on those topics when preparing for your interview. Try to mimic the actual interview conditions in your prep: Practice on a whiteboard and set a timer to emulate the time pressure during coding challenges. As you write your code, practice explaining your thought processes out loud.
It’s also key to do your research on the company this will give you a better idea of what languages, frameworks, and other tech it uses. You can also research the company’s current strategies and goals to best identify and articulate how you will contribute to the company.
As the interview processes for many well-known companies are widely discussed, this research could lead you to specific information about your upcoming coding interview. At Google, for instance, applicants must pass a pre-screen and an onsite interview, which includes meeting with 4-6 Google employees for nearly an hour each.
Remember that while much of the interview will focus on technical skills, there will also be behavioral and soft skill components involved. It’s a good idea to connect to the company’s recruiter to get the full picture of the process.
Lastly, run through a couple of mock interviews. Have a friend play the role of the interviewer or use free mock interview sites like Pramp to practice.