The goal of this summary is to contain all the required theoretical material needed to pass a Facebook/Google software engineering interview, but (hopefully) no more than that. It originated out of my own personal notes while preparing for such interviews. I view it as an executive summary, that should ideally take a few hours to read, and that you should read multiple times while preparing for the interview. See this post for more background and tips on preparing for an interview.
Want to contribute? Great! Please read CONTRIBUTING first.