The last tip is the most important: practice.<p>The industry loves tree questions, which is stupid -- the vast majority of us will never and definitely should never implement a tree.  Red black trees are notoriously fidgety to get right; just use the free, tested, implementations that someone has already beat on for you.  But we love asking that shit in interviews.  I actually got in an argument with a former engineering manager who loved tree questions; I demanded to see where in our 10m line codebase we implemented a tree.  Nowhere.  But if you wanted to work for him, you had to know how to implement trees on whiteboards.<p>So practice so you&#x27;re refreshed on trees and all the other trick questions we ask and not mentally refreshing yourself in the interview, and practice specifically coding on a whiteboard.  That will help you remember to leave space to add more code and to write small and...<p>the whole thing is fucking stupid, but sometimes life makes you jump through hoops.<p>Also, and I think I read this on here, that stupid question about detecting loops in lists (hare and turtle) was an open research problem for quite a while, and wasn&#x27;t published until 1969.  Knuth, naturally.  So either everyone in computing before then was stupid, or it&#x27;s not obvious, and definitely not so obvious that thinking of it in 10 minutes at a whiteboard is reasonable.  So really this is just asking if you studied, rather than if you&#x27;re good at algorithms.<p>edit: I thought I&#x27;d read on here that someone was awarded a phd for figuring out the list cycle detection, but maybe I&#x27;m wrong?  I don&#x27;t have my notes file handy.  Either way, it&#x27;s not an obvious algorithm until you&#x27;ve seen it, and then it looks trivial.