A mind map I built up while stuying for the software engineering interview.