I've heard Apple is very nice to their interns. I co-op'ed at IBM in Austin, and they were a lot of fun. Their attitude is a bit more relaxed; they certainly get things done, but they also allow themselves to have some fun while they're at it (for example, the hallways often have foosball tables in them). I highly recommend interning at IBM. :D
I work at Intel right now, so I'm not going to comment on them, except to say that if you have the engineer's spirit and you're a go-getter, then you'll do well there. What I've discovered is that I don't really have the engineer's spirit, so I've started the process of
going back to school to follow my original dream of becoming a physicist. Long story.
As for interviews, the most important things are to A) project confidence (but not cockiness), and B) show communication skills and eagerness to work with a team, and C) show ability and eagerness to learn. If your grades are at least 3.0, then people skills are more important, as nobody wants to work with someone who, despite being extremely intelligent, has no ability to cooperate in a social environment. Remember, they're mostly trying to see if you'll fit in well with their team; if you know your stuff, that's great, but it's easier to train somebody who's slightly underqualified than it is to correct somebody's personality flaws.
And you must be eager to learn, because what you've learned in school will likely only have a marginal application to what you do in an internship. For example, this exchange happened during my first three days at IBM:
Boss: "So, do you know any Perl?"
Me: "No, not really."
*Boss goes and gets a book from his office.*
Boss: "Then you'll need to learn it. Here, you can read this while they're setting up your account, and then start fixing somebody's old code next week."
On the plus side, these things are valuable...Perl is probably one of the most useful things I've learned, at least as far as programming languages go.