In single page applications many sites use hashbangs in the URL to implement navigation history.
However, I recently came across this site: https://design.google.com/form-2014
I scrolled to the bottom of the page to see all the sections, each section triggered a hash change. Then I hit my back button only to find it took me back one section. Since I had scrolled up and down a couple times I had to hit back 20+ times just to get out of the page.
This made me question, are you supposed to push each hash change state into navigation history or only changes that would normally constitute page changes. If I were just trying to go back one section I would likely find this implementation helpful but since I was trying to leave completely I found it annoying.
It is a Google page about a Design conference so I figured they must have a good reason for doing as they did.