I am having 9+ years of exp in prod development...
I attended the MS hiring drive on 7th May for L63/L64 SDE for Hyderabad location.
R1: It was good. They asked me 2 questions
* Next greater palindrome
* Make K nodes in Linked List in descending order
I was able to tell them approach for both of them and wrote the working code for the first one with more than 20+ test cases they asked me to execute. For the linked list one, I wrote the main logic to make descending in group of K
R2: This was HORRIBLE....so it started like this
* He asked me to write code for LRU cache. I told him we can do with HashMap & Queue OR only LinkedHashMap
he asked me time complexities for both and then asked another question (didnt let me write it)
* He gave me question like course schedule and asked me to output the order we need to do courses in
I told him we can calculate indegrees and do topological sort to get answer
he said ok....and asked another question (didnt let me write it again)
* He asked me to write publisher-consumer problem in multithreading environment
I wrote the classes and made them thread safe.
then he started asking questions from core OS (mutex, semaphore, persistent storage, how files aree read from HDD to main memory, kernels, segmentation, paging, page faults......)
for next 40 mins it was an OS interview.....and he was not even allowing me to answer...just cuttiing me off in middle and asking another question
* Then at the end he asked me to write program to print all String permutaitions....
I wrote that and told the complexity as well....5 mins later got the call that R2 was a NO HIRE as it went very bad....I mean Seriously!!!!
I think the interviewer was just fed up of taking interviews on Saturdays.......he was more interested in knowing what I didnt know instead of what I knew....... no point in preparing for interviews if the interviewer just move to another question if I know the answer without letting me tell/write it.