Interview Questions
Do you guys remember the "MFC interview questions" post a few weeks ago?
Well, I'm trying to hire a Jr. programmer to do some C#/Silverlight work and
also help out with the C++/MFC stuff. Therefore OOP understanding is the
most important part for me. (The rest can be taught)
What do you guys think of these questions? Can you think of some good
questions to judge a persons problem solving skills?
1. What is polymorphism?
2. What is a virtual function, and how is it used?
3. What is a pure virtual function, and why would you use it?
4. When and why would you want to have a virtual destructor?
5. What is the difference between a pointer and a reference? (In
other words: What must you always do to a reference?)
6. What's wrong with the following code sample?
class Sub
{
};
class Super1: public Sub
{
};
class Super2 : public Sub
{
};
class DoesSomething
{
public:
void DoSomething(Super1 *pSuper)
{
}
void DoSomething(Super2 *pSuper)
{
}
};
void main()
{
std::vector<Sub *> SubVector;
SubVector.push_back(new Super1);
SubVector.push_back(new Super2);
std::vector<Sub *>::iterator cur = SubVector.begin();
DoesSomething Something;
while (cur != SubVector.end())
{
Something.DoSomething(*cur);
delete *cur;
}
}
How would you solve this problem?
Thanks
AliR.