What's really peculiar about Duo's "correct" answer is that "working in a zoo" can be easily recognizable slang for working in a crazy place, or a place full of random activity and noise, and that working "at a zoo" or "in the zoo" can only be interpreted one way - working for a zoological park.
In addition, in English, it's much more common to work "at" a place. Since we're dealing with idiom and the idea of good translation, even though в might not precisely mean "at", in idiomatic English, it would be better to work "at" a place, even if the Russian requires the use of в. Translating Russian-English-Russian is scarcely a one-for-one kind of enterprise, after all.
I'm curious, where in the English speaking world is "in" a preferable choice in this sentence?
To me the default interpretation of "My sister works in a zoo" is that her office / work environment is a mess or crazy. If she actually works at a zoological park (hmm, I note that "in a zoological park" sounds much less strange to me than "in a zoo" here...), it'd be "at a/the zoo."
I see where you're coming from but I think it's about what you call a zoo. Do you call a zoo the exhibits or the whole property as a whole. Its one in the same with an office building in my opinion, "...in an office building/at an office building." A zoo is just a giant plot of land for showing off animals, so when I hear: "I work in a zoo," its synonymous to the phrase: "I work at a zoo."
Then again this is just me and I hope that wasn't too confusing for you.
Yeah, I'm not saying I think the phrases actually have a difference in meaning, it's just that I would say "works at a zoo" no matter what her job is. As it happens, "works at an office building" sounds like something I'd apply to the security guards and landscape staff, but not to the office workers.