Really enjoyed your post. I'm in a similar situation and have been reading up on how to learn the formal CS concepts necessary to ace a technical interview and thought I'd share what I've found.
This answer on Quora summarizes the general topics to look into: http://qr.ae/1h6xx More thorough summaries can be found here: http://www.starling-software.com/employment/programmer-compe... and here: http://matt.might.net/articles/what-cs-majors-should-know/