In my experience, only the really big companies focus heavily on algorithms and math puzzles. That's because they don't really need to hire anymore people, they just want to steal 'smart' people, and they don't need to iterate as quicky. Start-ups and smaller companies have in my experience, typically asked full-stack type of questions that dive into things like networking protocols, databases, scalability, and so on. And I believe thats the way it should be. Start-ups that focus heavily on math puzzles and algorithms are doing it wrong.