Is 2 hours of algorithm puzzle training per day for one year enough to prepare for the Google interview?

However, the interviews cover other things like system design, or discussion about algorithms (sorting), data structures or different approaches trade-offs in extreme scenarios.

I started solving algorithmic problems a bit over 12 years ago.
I usually stayed several months without solving problems and then train hard for programming contests in bursts of a month or so.

During this time, I noticed that my problem solving skills increased the most after reading theory (whether in a book or good websites like Usaco or Topcoder tutorials) rather than just solving lots of problems.

Solving problems from Topcoder, Code Jam, Codeforces, etc, will help you stay sharp and probably solve the coding questions quickly. However, the interviews cover other things like system design, or discussion about algorithms (sorting), data structures or different approaches trade-offs in extreme scenarios.

So, it is important to make sure you have a solid knowledge of the theory behind most common algorithms and data structures. After this, 2h per day for about a month should be more than enough to practice your knowledge and be sharp.