in (Wo and Wohin): you can be inside or outside ("in die Küche", "in das Zimmer" - and that is why "in den Supermarkt")
bei (Wo): for people (bei meiner Mutter, bei dem Chef and that is why "beim Fleischer" but "in der Fleischerei"); for events (beim Karneval, bei einer Feier)
auf (Wo and Wohin): for places/spots/squares (auf dem Platz, auf der Eisbahn); for events (auf dem Karneval, auf einer Feier); for institutions (auf der Post, auf der Uni)
an (Wo and Wohin): for borders (an der Grenze, an dem Fluss, an der Tür, am Fenster), as well for institutions in a different meaning (am Theater, an der Uni)
"am Wochenende" is a time, not a local preposition - different subject
Don't confuse it with strict grammar rules.
I'm sure, the answer in chinese is correct as too ;-)