The best and worst software developer interviews I have been through
How to identify and walk away from the worst and do not miss the best.
In this article sharing some interview experiences I ever had. worst and best.
I was asked about some SOLID principles, design patterns ( I was surprised HR asked me these questions), and past project experiences, one by one, in recent 3 companies. passed.
First round- passed
Leetcode easy level.
The first one was a very basic binary search problem, given a code snipped to find the bug (fix the index and get it running), solved in minutes. there is nothing much discussion on the solution.
So far it went smoothly.
Then another Leetcode easy. climbing staircase.
It is a very standard DP problem. I gave him 2 answers. recursive+cache would make code more readable.
still not much discussion, we both agreed on the solution. passed.
Second round — passed
A leetcode medium- Trie. given 45 mins, finished in 30 mins.
Third round- failed
Then another person(so-called bar raiser) came.
It basically is only to find the top K numbers from the millions. Yes, it was just another leetcode medium. which I summarised here.
My choice was Heap.
“Heap? Why and How?”, he asked. his face looks unhappy. I explained the heapify process step by step. in the end, I said “NLog(K) is not bad .for most of the use cases, like top 10 best sellers or top 100 downloaded files, K is small,”
“This is not heap, it is merge-sort”. He said. I was shocked, “What the h**k!” I could not believe this is my interviewer. I explained to him the difference between heap sort and merge sort, and explained the External merge sort to unlock the real power of the “merge idea”. It went too far. made him kind of embarrassed.
“Alright, let’s talk about the heap, what if K is 10k? It won’t be fast !” he asked again.
I know my answer wasn’t going in the right direction. Or maybe I missed some information about the problem. I talked to…