Mock Interviews

A common challenge which most computer science students face at one point or another, is how to prepare for a technical interview. While there is no arguing that technical interviews can be daunting, they need not be!

The Pitt Career Services Center offers workshops, walk-in hours, and individual appointments. The Center conducts mock interviews Monday through Friday, although you need to schedule the interview in advance by visiting Career Services at 224 WPU. Your mock interview will be videotaped and the career consultant will give you feedback and guidance for strengthening and improving your interviewing skills. Awesome resource!

Online Resources

The following is a list of online articles, websites with lists of questions and tips, and books which can help one prepare for a technical interview. We also include a list of "Commonly asked interview questions" and advice on "How to prepare for an interview" -- both courtesy of the Brown University CS Undergraduate Group. These lists are by no means exhaustive, but are a great place to start!

Articles

Websites

Books

Commonly asked interview questions

You will be expected to code on a whiteboard. Sometimes interviewers will give you sample code and ask you to "review" it, i.e. debug, find memory leaks, etc.

Be prepared to discuss the space/time complexity of your solutions. Also be prepared to offer refinements and extensions.
If you are not comfortable coding in a language, say so. This isn't a test to see how well you remember the Java API.

For more info, check out "How to prepare for an interview" below.

Technical
Sorting and Searching
  • How would you merge n sorted linked lists?
  • Given a list of n points, how would you find the k points closes to the origin?
Linked Lists
  • Determine if there is a loop in a linked list.
Strings
  • Write a program to reverse a string.
  • Reverse the words in a sentence.
  • Implement atoi().
  • Implement strcpy(). Do it in one line.
Operating Systems
  • Implement mutexes.
  • How do you know which way the stack is growing?
  • Discuss different ways to do synchronization in a multiprocessor environment.
Design
  • How would you implement a video store? Draw the UML diagram.
  • Design a cell-phone tower system. Remember that as a user moves while on the phone, the connection should automatically be routed through the nearest tower.
Brainteasers/Thinking outside the box
  • Given a circle cake, how can you get 8 equally sized slices with only 3 cuts?
  • How many dentists are in Manhattan?
  • What is the square footage covered by 2+ lane highways in the US?
  • How would you test a salt shaker?
  • You are given 8 coins which are identical in appearance. One is a counterfeit and weighs heavier than the rest. Given a simple balance scale, how many weighings does it take to find the counterfeit?
Misc.
  • What are the differences between C++ and Java?
  • How would you go about finding bottlenecks in a simple file transfer program?
Non-Technical
  • Talk about a large project you've worked on.
  • What's a really hard bug you've had to solve?
  • What are your favorite courses? Why?
  • Talk about your previous job experiences
  • If you had to describe yourself on a billboard, how would you do it?
  • If you had $1000 to spend on new technology, what would it be and why?

How to prepare for an interview

  1. Learn about the company.
    This is everything from projects to company culture to current events. Research their products -- if they make software that's available for use, play around with it so you get a sense of what the company does.
  2. Learn your resume.
    If a course or a particular programming language is listed on your your resume, make sure it's there for a reason -- and that you can prove to an interviewer you aren't simply resume padding.
  3. Brush up on your stuff.
    You will invariably be asked coding questions. Make sure you know your data structures, basic search/sort algorithms, and be familiar with the basics taught in your upper level CS classes. (E.g. if you've taken AI, know what a "heuristic" is.)

Remember to get a good night's sleep before the interview, and good luck!

Compiled by Katrina Ligett '04, Christine Davis '03, Tracy Schultz '03, and Liz Marai '07, all Brown alumni.