Interviews are scary, and technical interviews are a special breed.
Anyone that has survived at least one tech interview will tell you how they make the stress of finals look manageable. Luckily there are a large number of resources available online and in print to help you prepare, practice, and eventually nail the “tech interview”!
Recently I found a website with a number of ubiquitous interview questions.
Let’s look at a couple:
Linked Lists are an extremely popular topic. Expect to see them at every interview.
- Implement Insert and Delete
- Split a linked list given a pivot value
- Find if a linked list has a cycle in it
- Reverse words in a string (separated by one or more spaces).
- Reverse a string
- Strip whitespace from a string in-place
- Remove duplicate chars from a string (“AAA BBB” -> “A B”)
- Find the first non-repeating character in a string:(“ABCA” -> B )
- You may be asked about using Unicode strings.
- Implement the following functions for a binary tree:
- PrintInOrder (either iteratively or recursively)
- Given an array with integers between 1 and 1,000,000.
• One integer is in the array twice. How can you determine which one?
• One integer is missing. How can you determine which one?
• Return the largest sum of contiguous integers in the array.
The great thing is that you should already know this stuff by graduation time. The bad thing is, this is just the tip of the iceberg but with a little help you can get yourself prepared easily.
- Programming Interviews Exposed is the number one recommended book to help you prepare for your next job interview. “In today’s tight job market, competition for programming jobs is hotter than ever. This third edition of a popular guide to programming interviews includes new code examples, information on the latest languages, new chapters on sorting and design patterns, tips on using LinkedIn, and a downloadable app to help prepare applicants for the interview. Like its earlier editions, this guide covers what software companies and IT departments want their programmers to know and includes plenty of helpful hints to boost your confidence”.
- Cracking the Coding Interview is now in it’s 5th edition. Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.
- Elements of Programming Interviews: 300 Questions and Solutions is a relevant newcomer but the authors are here to prove themselves. Download a sample of the book here: EPI Sample. If you are hard on cash (thanks to student loans) you can apply to purchase the book for $10 via this Google Form. The core of Elements of Programming Interviews (EPI) is a collection of 300 problems with detailed solutions, including over 100 figures and 250 tested programs. The problems are representative of the questions asked at interviews at the most exciting companies. All problems includes hints for readers who get stuck. This simulates what you will face in the real interview. Complete programs available at ElementsOfProgrammingInterviews.com/code.
- Coding for Interviews will help you become a better interview programmer in 5 minutes per day by programming from your inbox. This newsletter will help you immensely. I’ve been receiving this for a little more than a year and they always teach me something new. The newsletter is completely free and you’ll find it as useful as I have. Look for “Coding for Interviews” on the ACM Bulletin soon. There’s also an even better collection of helpful books on their website.
- Reddit can be more than just a time-waster. Subreddits like CS Career Questions can be significantly useful for their niche. You’ll find hopeful candidates interacting with recruiters and new engineers. Take some time to look back through the most popular posts and you’ll find tips straight from the interviewers at places like Microsoft and Amazon. This is also a great place to pick up tips from folks who have both passed and failed their interviews.
- Another resource worth mentioning is Glassdoor.com. Glassdoor enables employees, job seekers, employers and recruiters to see a company’s work environment, along with details on salary, company reviews, interview questions and reviews, office photos, as well as benefits and CEO approval ratings.