Thought these questions are good for computer science students to do interviews, so listed them here. To do a better interview and tackle the tough interview questions, you got to be very good at data structures and algorithms.
* Given an array of integers or other numbers (reals, doubles, etc), tell us if any two of the numbers in the array sum up to another given number.
* Discuss the UI problems of a previous project, how would you resolve them now?
* Why is it easy to collaborate on a document in person but hard on the web?
* How are requests handled in Resin (or a Java servlet container in general)
* How does dynamic recompilation work in Resin (or any other Java servlet container)
* How would you improve Amazon?
* How much would you charge to wash all the windows in Seattle?
* What was your worst group experience?
* What is one good thing your last manager would say about you?
* What is one bad thing your last manager would say about you?
* Talk about tablet PCs and Amazon. What does Amazon need to be aware of?
* Reverse a linked list
* Write a function that returns a node in a tree given two parameters: pointer to the root node and the inorder traversal number of the node we want to return. The only information stored in the tree is the number of children for each node.
* Calculate an infix expression. This question later evolved into calculate a postfix expression
* What objects are required in a restaurant reservation system
* Given a distributed system with many clients and many servers where the servers each export a different set of services and each have a different amount of computing power discuss the data structures used in a router to perform load balancing.
* Write a function that given a list of items and weights return a random item in the list taking the weights into account.
* Now write a O(log(n)) function
* How would you find the nth to last element in a linked list?
* Explain algorithm to shuffle cards
* Jig saw puzzle. What are the data structures? Assume you have some method which can tell you if two pieces fit together. How would you solve the puzzle, minimizing the number of times you have to call that function?
* You have 50,000 html files, some of which contain phone numbers. How would you create a list of all the files which contain phone numbers?
* How would you detect a repeated element in an integer array.
* Write a function to smooth out stock fluctuations.
* Given two sets, Write a function to provide the union of them.
* Design an algorithm to calculate the most user viewed pages
* Design an algorithm to find duplicates in an array.
* Design an algorithm and write code to serialize a binary tree.
* Design an algorithm and write code to find two numbers in an array whose sum equals a given value
* count bits in an integer.
* Given two binary trees, find whether or not they are similar.
* Assume your computer is reading characters one by one from a stream (you don't know the length of the stream before ending). Note that you have only one character of storage space (so you cann't save the characters you've read to a something like a strong). When you've finished reading you should return a character out of the stream with equal probability.
* You have a tree (not Binary) and you want to print the values of all the nodes in this tree level by level.
To best prepare for tough interview questions like these above, I highly recommend that you get and read these Best Books to Prepare for Algorithm Interview Questions
If you want to know about the salary for Amazon managers, here are some sites and info that could be good to check out: Salary Research