companies' tests for c++ developers

G

Giff

Hi,

soon I will finish the university and start looking for jobs, I know
that the companies often send you some questions by email before the
personal interview, to check if the candidate actually knows the
language (c++)

can anyone of you suggest what to revise in order to be better prepared
for these questions?

of course the main thing is programming experience, but maybe there is
some kind of pattern for these tests and some things are considered more
important than others...

thanks a lot for any suggestion
 
V

Victor Bazarov

Giff said:
soon I will finish the university and start looking for jobs, I know
that the companies often send you some questions by email before the
personal interview, to check if the candidate actually knows the
language (c++)

can anyone of you suggest what to revise in order to be better
prepared for these questions?

Your textbook and your course notes.
of course the main thing is programming experience, but maybe there is
some kind of pattern for these tests and some things are considered
more important than others...

The things that are more important: you need to know the basics [well]
and you need to be able to solve problems. Answering those alleged
questionaires will probably get your foot in the door, but if you only
succeed in that, what is exactly the point? If you're a good candidate
for the position, you will be able to answer the questions. If you're
not, answering those questions is a waste of time (yours and those who
are hiring).

V
 
G

giff

Victor Bazarov ha scritto:
Your textbook and your course notes.


of course ;)

The things that are more important: you need to know the basics [well]
and you need to be able to solve problems.

yes, but what are the "basics"? is there any pattern in the kind of
problems they are more likely to ask?

If you're a good candidate
for the position, you will be able to answer the questions. If you're
not, answering those questions is a waste of time (yours and those who
are hiring).

this makes sense, but I suppose they can ask things that I didn't need
so far in my programming (only academical)

thanks for answering
 
E

Earl Purple

Giff said:
Hi,

soon I will finish the university and start looking for jobs, I know
that the companies often send you some questions by email before the
personal interview, to check if the candidate actually knows the
language (c++)

I have found it is more common to get a telephone interview first but
then I am not fresh from university.

The questions are typically like: what functions are automatically
provided. Difference between a pointer and a reference. Sometimes some
questions on STL. Of course I never have any problems answering these
but obviously they eliminate many.

Being able to answer all of these doesn't make you a good programmer. A
lot depends on requirements. The requirements for writing a boost
library are a lot stricter on the standards of C++ where near
perfection is important, whereas in a work situation, you don't always
have time to write the perfect code and have tight schedules to meet.
can anyone of you suggest what to revise in order to be better prepared
for these questions?

You should know the language. Maybe revise on the standard library
algorithms. Not sure you'll be tested on them but it's useful to know
what's available.
of course the main thing is programming experience, but maybe there is
some kind of pattern for these tests and some things are considered more
important than others...

If I wre giving the interviews I'd present GOTW-style tests but it is
rare to see that. Perhaps I apply for the wrong companies.
 
V

Victor Bazarov

giff said:
Victor Bazarov ha scritto:
The things that are more important: you need to know the basics
[well] and you need to be able to solve problems.

yes, but what are the "basics"?

What is the difference between a class and a struct? What's a class?
What's overloading? I am not sure, I've not interviewed fresh-out-of-
college folk recently.
is there any pattern in the kind of
problems they are more likely to ask?

Take "Effective C++" and "More Effective C++" by Meyers. Those are
one level beyond basics, but they presume the knowledge of basics.
If you can understand them, you know basics.

V
 
G

giff

Victor Bazarov ha scritto:
Take "Effective C++" and "More Effective C++" by Meyers. Those are
one level beyond basics, but they presume the knowledge of basics.
If you can understand them, you know basics.

The books I have are "Thinking in C++" by Eckel and "The C++ Programming
Language" by Stroustrup.

I do understand them but of course don't remember all that is written in
them ;)

thanks
 
V

Victor Bazarov

giff said:
Victor Bazarov ha scritto:


The books I have are "Thinking in C++" by Eckel and "The C++
Programming Language" by Stroustrup.

I do understand them but of course don't remember all that is written
in them ;)

That's different. I am talking about using some indirect way to test
how much basic stuff you understand. Take "Advanced C++" for example.
Right in the name you have a hint that it's not basic. That means if
you understand it, you have a decent grasp of the basic stuff.

Take my word for it, if you want to have a career in programming and
would like to begin it with C++, the two books I mentioned first are
not going to hurt you. Get them. First you'll see if you got a good
grasp of the basics, and then you will learn more C++ from them.

"Advanced C++: Programming Styles and Idioms" by J.Coplien is a bit
old, but I still think it's a very good reading. If you can find one
used, don't pass it up.

V
 
N

Noah Roberts

Giff said:
Hi,

soon I will finish the university and start looking for jobs, I know
that the companies often send you some questions by email before the
personal interview, to check if the candidate actually knows the
language (c++)

can anyone of you suggest what to revise in order to be better prepared
for these questions?

of course the main thing is programming experience, but maybe there is
some kind of pattern for these tests and some things are considered more
important than others...

thanks a lot for any suggestion

I recently created an interview "project" - we sent the same problem
out to the different prospects to solve to see what we would get back.
Those that we liked got a phone interview. The task boiled down to
wanting to know if the interviewee could adapt legacy code and alter
features while also cleaning up a class obviously written by someone
primitive obsessed or originally written in C. In the end we wanted to
see that they could adapt a class to be safer and cleaner by use of STL
or custom datatypes with minimal impact on clients. We wanted to see
knowledge of the language of course but more importantly creativity and
ability to deal with and understand existing code.

Every place will be different. I don't much dig on interviews where
they run through a list of language features and ask what they do.
First off, knowledge of any particular language is not important. What
is more important is whether the person can program and has the type of
problem solving skills necissary to write good code; I'm of the belief
that you are either a programmer or you are not - there is a certain
type of thinking that seems to be necissary to the task and not
everyone thinks that way. I personally also want to know that they
enjoy the art of programming and that they study and hone their skills
at home.
 
P

Phlip

Noah said:
I recently created an interview "project" - we sent the same problem
out to the different prospects to solve to see what we would get back.
Those that we liked got a phone interview. The task boiled down to
wanting to know if the interviewee could adapt legacy code and alter
features while also cleaning up a class obviously written by someone
primitive obsessed or originally written in C. In the end we wanted to
see that they could adapt a class to be safer and cleaner by use of STL
or custom datatypes with minimal impact on clients. We wanted to see
knowledge of the language of course but more importantly creativity and
ability to deal with and understand existing code.

So what was the hard part?

;-)
 
N

Noah Roberts

Phlip said:
So what was the hard part?

I don't know that there was one. I suppose the "legacy" part. We
threw in some uglyness to see what they would do with it.
 
F

Fat Ass Fred

yes, but what are the "basics"? is there any pattern in the kind of
problems they are more likely to ask?
Typically, I'd say the kind of questions that relate to their
business. Eg. If you apply to work at a parts house to write a
database for organizing their parts, or a POS system, they might ask
questions regarding to your SQL and Database skills. Now if in the
rare event you happen to be applying to work for a Video Shop, and you
need to write customized software to enhance videos and re-master them
to DVD, you may want to be knowladgeable with skills of Video Capture,
DVD Packet Writing, ISO File Systems, and how DVD Video is stored on
disk. If you expect to have a pre-set of questions that will get you
hired instantly at any company, forget it. Only an absolute idiot
would ask such a set of questions, though I've been interviewed by
such absolute idiots.... Rest assured, I feel honoured that I don't
work for them. If they're too stupid to know how to do their job, I
don't want to work underneith them! Doing so in other jobs resulted
entirely of me doing their job for the pay of someone at least 1-2
levels below them.... If I'm going to do their job, I want their title
and their pay!
If you're a good candidate
this makes sense, but I suppose they can ask things that I didn't need
so far in my programming (only academical)
Likely starting jobs will ask questions not related to programming
directly. Eg. how familiar you are with the type of products the
company sells (or the services they perform). What experience do you
have in programming besides your schooling.... (private sector
contract jobs work great here...., hobby programming, etc. helps....)
What kind of jobs have you had in the past, and how long have you kept
them? Can you work with assholes? Because chances are your direct
supervisor will be one.... Those kinds of questions....
 
F

Fat Ass Fred

I don't know that there was one. I suppose the "legacy" part. We
threw in some uglyness to see what they would do with it.
Kinda makes me think of this offer I had to convert some old Apple2
Learning software to IBM PC compatible.... UGH, the code was loaded
with Peeks', Pokes, etc... Encrypted in ways you could only imagine...

Equivilent of doing

int a=0[5];


in C... Things that make the average programmer say "What????"
 
F

Frederick Gotham

Fat Ass Fred posted:
int a=0[5];


in C... Things that make the average programmer say "What????"


Actually, my own thought process were:

Well... that's equivalent to:

*(0 + 5)

which is equivalent to:

*5

which led to, "You can't dereference an int.".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top