I&#x27;ve recently interviewed in 10+ companies (interviewed as went to the last part of the process) and just changed jobs.<p>I have a degree in computer engineer and 5 years of experience, what I have to say:<p>1. In the interview process I always feel really hard to know how deep I should go in the answer... I had the same design an short url service in two different companies, one complained that I went too deep and didn&#x27;t talked about the thing on a system level too much. Other said I didn&#x27;t went too deep and looked like over heardish as I focused on the system level.<p>2. I&#x27;ve studied a lot of algorithms and data structure as every company thinks they are google and asks for big o notations, algorithms optimisations, implement a tree, reverse a tree blablabla. This part was the easiest in all companies as I &quot;gamed&quot; the system by studying it weeks in advance. Does it make me a better developer? Probably not, I already knew that stuff but if you asked me to go deep in those questions when it wasn&#x27;t fresh in my mind I wouldn&#x27;t be able to develop an answer. I am pretty sure that 6 months from now I won&#x27;t be able to answer them in a satisfactory manner<p>3. I had the same singleton question and I didn&#x27;t answer correctly, gave an answer like you said. Basically, I know what a singleton is, I&#x27;ve used this pattern in the past. Even in a C++ embedded systems app running in a touchscreen + ARM. 
But, please, don&#x27;t ask me nuances about it. If I really wanted I could just game it as well by reading some cracking the interview questions on design patterns.<p>The best interviews I had were a CHAT where I talked about previous project, challenges and etc.<p>Not some question &#x2F; answer quiz game where the interviewer is in a position of authority and I am always concerned that I am giving the answer he is expecting.