Their questions aren't ALL that weird... at least not for interns.
I think in a large part it depends on the position you're applying for and who your interviewers are. I interviewed (and interned) for a Software Development Engineer position -- was a lot of fun. I had one interviewer at Visio who was... possibly one of the dullest people I ever met. The most technical question he asked me was "What are the three methods all COM objects must support?" Then I spent some time talking with his manager -- and as I was leaving I flirted with a girl who was sitting in the lounge... who turned out to be the manager's daughter... *wince* Didn't take that one. But I then interviewed with Passport -- had one developer quiz me on... I don't remember it was some generic algorithm topic -- basically, he proposed a question... I think it was find the middle number or something like that. Maybe a sort. Don't remember. The important part wasn't so much if I got the final best answer, but how I went about finding it. If they ask you something, feel free to talk it out. Talking to yourself is a useful trait.

My final interview that day was with the dev lead at Passport, and the guy I ended up working under that summer (last year, but still) -- he didn't care one wit about how I wrote code or anything -- he just wanted to hear HOW I would solve a problem. And it was clear I did it differently than he did -- but still a very creative method. I got offered the position on the spot.
Good luck -- and the best advice I could offer is to relax, and don't try to know everything before you go in -- just know how to think.
