Compilation note: the original question bank is still hosted on an external reader and can be read directly from the link below. This page keeps the original reason and background for compiling it.
In the spring of 2018, I returned to Beijing after three years away and asked friends and classmates to refer me to seven or eight companies, going through some thirty-odd rounds of interviews in bits and pieces. I passed some and failed others, and the final outcome was decent.
At the time I casually organized the questions I’d encountered in interviews, then added a pile of related material on everyday engineering problems, computer fundamentals, algorithms, operating systems, computer organization, and networks. Originally it was just so I wouldn’t mess up the next round; later I came to feel that interview questions are never just interview questions. They readily expose the gaps in an engineer’s knowledge structure.
Original question bank: View “Interview-Book”
If I ever reorganize this material, I can’t just pile up questions and answers; at the very least I should make clear why each question is asked, how to think about it, and where it’s easy to miss.