Reflection on/in Interview...
I just had a phone interview, and the “exam” portion of the interview revolved around .NET and reflection. Now, this is the third interview where reflection was asked.
Reflection isn't that hard to understand, in theory, but I believe it is one of those things where it may be hard to see the usefulness unless you've had experience actually using it. So by asking about it they are trying to gauge whether or not you've really used .NET or another platform that uses reflection or if you're a hardcore C++ programmer that is just winging the .NET stuff.
It's one of those "how hardcore is he" things. The assumption being that if you haven't used reflection, you're less-than someone who has.
Should be working
Reflection became the big wank with Java when it was added to that language in about 1998.
Reflection isn't "hard" persay, but it does require a good working knowledge of the platform and OO. Personally, I think it's better for weeding out the VB transplants who didn't really *learn* .NET and proper OO, but are just winging it on their VB6 skills. No offense to anyone :)
ISV is right. Reflection/Introspection was touted as a Big Deal (TM) when Java was released in 1996. It's useful but in 7 years of Java development I can't say I've had to use it day-in-day out. I'm surprised that in a interview for a .Net they'd be rabid about questioning your knowledge of the topic.
"It's useful but in 7 years of Java development I can't say I've had to use it day-in-day out."
What is reflection? I gotta ask. Is it a buzz word for something you could just write if you needed it but that the language does automatically for you? I know there are some concepts that do take some people some time to grasp, myself included. I know I had a java guy here who used to ask me ... "can php do this ... or that " and the word he used was foreign so I'd ask him to explain and usually I'd find another name for what he was talking about or I'd see how I could write my PHP to do what he was talking about. So please ... what's reflection .. heck ... I'll look it up .... well I was reading about it here http://today.java.net/today/2004/05/05/HardcoreJava.pdf and although it's for java I bet the concept is the same. Sounds an awful lot like just a common sense config/engine approach I use. I'll read more to see what I missed. It almost seems like an object returning its methods and its class variables which works in PHP but I only use that to verify a method exists before I call it ... I certainly don't just hope a method exists to do something.
"Sort of the way pointers are used as a high-level filter when testing for C/C++ programmers, I guess. "
Katie, I think that comment was referring to the pointer question as a "trivial reject", not a "trivial accept". There are obviously plenty more questions that people would have to answer before designing a complex system.
Like what the ';' is for?
Agree with Badger. Understanding pointers is a necessary, but not sufficient, condition to be able to do a good C/C++ design.
Fog Creek Home