Shortlist 20 technical MCQ and 2 programming Q's.
Round 1
Find the smallest distance between two characters in the string, given 2 chars a, b you need to find the min distance in a String. (Write Code)
Given a Binary tree, Check if its a Binary search tree, follow-up Can we find the largest BST in it, further can we find the largest Partial BST(we can remove some nodes to make the tree a BST) (Write Code)
Round 2
What is Doubly Linked List, insert, delete, delete @random, insert @particular area. (Write Code)
Given a Doubly Linked list convert it to a binary tree, insert the nodes in a Zig-Zag manner. (Write Code)
Round 3
What are threads and process, what is a Daemon process, how does a computer boots up.
Scheduling Algorithms, memory types, stack, heap, data.
Implement Least Recently Used replacement policy in paging. (Use Queue and Hashing for efficient operations)
How does Caching work, suppose we have time to live, how will you achieve this functionality with out exhausting the cpu cycles.
Given a string s, and a dictionary of words, you have only a single function, boolean contains(String str) returns true if str is in dictionary. Construct a valid sentance out of the string s. Eg. s = Iambatman, Dictionary {I, am, bat, batsman} output: I am batman, incorrect : I am bat --> as it has trailing chars. (Long Discussion)
Round 4.
Everything about the projects that you have done, kind of responsibility in the projects, any pitfals, team size, work you did, how you did, any team conflicts, etc.
given 2 strings S1, S2, remove chars of S2 from S1. (Write Code)
Given a large file containing String on each line, and a list of String, you need to find all the anagrams for a String in the list which are present in the file.
Why amazon ?
Do you have any Q. ? (ask some thing genuine but ask something)