This site features a collection of common technical interview questions gathered by a group of programmers who have been through, and given, lots of technical interviews. There is an emphasis on C++ and game programming technical interviews, but most of the questions are relevant to any technical interview.
Loop in a List

Write an algorithm to detect if there is a loop in a singly linked list. Hint: The best solution can be done in O(n) time using constant memory.

The Shuffle

Come up with an algorithm to shuffle a deck of cards. Discuss how uniform a distribution your solution would achieve, and how you could potentially improve upon it.

Clash of the Titans: Linked List vs. Array

Describe an advantage for a linked list over an array and vise-versa.

Programming Interviews Exposed
This book teaches you critical interviewing skills such as how to ask effective questions, how to best approach a problem, and what to do when you get stuck. Integrated throughout the book are problems taken from real interviews at top computer companies, followed by an in-depth analysis and explanation of the thought process leading to solutions.
O(n)

Consider a singly linked list that has two members: mFirst, a pointer to the first element in the list, and mLast, a pointer to the last element in the list. The time of which of the following operations depends on the length of the list?

a) Delete the last element of the list.
b) Delete the first element of the list.
c) Add an element after the last element of the list.
d) Add an element before the first element of the list.
e) Interchange the first two elements of the list.

Guessing Game

Steve writes down a number between 1 and 1000. Jill must determine that number by asking “yes/no” questions of Steve. Jill knows that Steve always tells the truth. If Jill uses an optimal strategy, then she will determine the answer at the end of exactly how many questions in the worst case?

Do you have a technical interview question you would like to submit? Some tips you would like to pass on? Just want to say hi? Feel free to contact us