As always, remember that even technical interviews like this one have an incredible amount of random chance built into the hiring process. This is especially true at a big company like Google (where I work and do interviews). Do they happen to have positions open right now? Did you happen to get asked questions that clicked with you? Was the hiring committee feeling grouchy that day? Did you get an especially harsh interviewer for one of your questions? Did they just hire someone with your skillset and so don't need a duplicate right now?
There's a decent amount that you can do to prepare for one of these things, but there's also an incredible amount you don't have control over. If you don't get the job, it's not a signal regarding your quality as an engineer and you shouldn't interpret it as such (however tempting it may be to do so). Remember, there are many great places to work right now, and your skillset is in demand. If we didn't get lucky enough to hire you, someone else will quite soon.
There's a decent amount that you can do to prepare for one of these things, but there's also an incredible amount you don't have control over. If you don't get the job, it's not a signal regarding your quality as an engineer and you shouldn't interpret it as such (however tempting it may be to do so). Remember, there are many great places to work right now, and your skillset is in demand. If we didn't get lucky enough to hire you, someone else will quite soon.