I ask all the interns that I interview to hire, "why do you want this job?" I can pretty much tell by the answer alone whether or not they are going to work out. Those that say, "I didn't know what to study" or "I heard there was a good career in this" I can pretty much write off. They almost never want to learn anything except what they learned for a grade. Often its over for them after school, they'll never have the drive to learn what they really need to advance. I always tell them that dollar for dollar, we are one of the poorest paid fields. The amount of time we spend learning vs how much we are paid is way out of proportion even with our technical salaries. They never believe me.
It's those that get kind of that geekish giggle about some theoretical concept (state machines, some language concept they discovered they think is cool, compilers, etc.) I know are going to be great. These are the ones that I really go after. With these people it doesn't matter how much they know at that moment, because when they're done, they'll know more. They'll keep doing it too.