Re: C++ interview questions
arnuld@arch.i-did-not-set--mail-host-address--so-tickle-me wrote:
Searchign at
Google led me to several common questions asked in interviewers looking
for C++ based programmers.
Many of these questions seem to ask for very specific terminology
which can be, IMO, somewhat irrelevant. I have programmed professionally
in C++ for many years (as a hobby for much longer) and I'm pretty
confident I'm a quite capable C++ coder, yet I probably wouldn't get
even half of these questions right.
1.) Why array index start at 0 (zero) ?
I can guess the reason for this, but is it really all that relevant to
know *why* array indexing starts from 0?
(Array indexing in C++ is directly inherited from array indexing in C,
and the origin for this form of indexing is most probably related to the
origins of C, which was little more than a "wrapper around asm", and in
most CPU architectures of the time (and even today) array indexing in
assembler is zero-based. However, why would this be relevant to know?)
3.) How is static variable stored in the memory ?
Is that really relevant information? I think it's more important to
know how a static variable behaves and how it's used.
4.) what is an escaping variable?
I have no idea. I bet it's something I know, but that term is
something I have never heard.
6.) What is a Framework in C++ ?
By commonly established definition of the word "framework" in
programming languages, or something else?
7.) What happens to the member functions in the class when copy
constructor is invoked ?
Is this a trick question? Or perhaps a badly formulated question,
because I really don't understand what is it that is being really asked
here.
8.) What are the different types of storage classes ?
Strange terminology. I probably know the answer if I knew what is
meant with those terms.
9.) What is the difference between function-overloading and
operator-overloading ?
Odd question. The syntax?
11.) What is the difference between a user-defined object and standard
object ?
Depends on what a "standard object" is. Again, odd terminology. I
probably would know what to answer if I understood the terms.
13.) Is it possible to inherit the private members in derived class ?
Is this also a trick question, or a badly formulated one?
Naturally private members are always inherited (which would make this
a trick question). Perhaps what the question intends to ask is whether
it's possible to *access* private members of the base class from the
derived class (in which case this is a badly formulated question)?
15.) What are the types of STL containers ?
I think this question needs to be more specific. It's too vague. It's
not at all clear what exactly is it that it's asking.
16.) What are Polymorphic Classes ?
This is probably a good question, but I have to admit that I'm not
100% how exactly polymorphism is defined in C++. It's either a class
which has virtual functions, or a template class, or both. (Maybe
classes with virtual functions and template classes are considered
different types of polymorphism?)
17.) What do you mean by binding of data and functions ?
Maybe this question is referring to "dynamic binding"?
18.) What is the difference between macro and inline() ?
There's no such a thing as "inline()". There's a keyword called
"inline", without any parentheses.
Maybe the question should be formulated as "what is the difference
between a macro and an inline function"?
19.) What is a memory leak ? How we can avoid it ?
Whoa, from very specific questions about tiny obscure (and mostly
irrelevant) implementation details of some features to a concept which
would require an entire book to explain fully...
OTOH, I could summarize the book with one word: Encapsulation.
(Of course explaining what that means would require that book...)
20.) what is the difference between wait() and delay() ?
That depends a lot on the computer architecture you are using. Not
really a C++ question.
21.) What is the difference a fake pointer and a smart pointer ?
I have no idea what a fake pointer is, so I couldn't answer this question.
Here are some funny interviews questions:
- What is the difference a Function and a Member-Function ?
- What is the virtual class and friend class ?
- What is the difference C and C++ ?
- What is namespace ?
Why are these funny?