C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Employer looking 4 online C++ aptitude tests; recommendation
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated)
View previous topic :: View next topic  
Author Message
Matt
Guest





PostPosted: Tue Jan 18, 2005 11:18 pm    Post subject: Employer looking 4 online C++ aptitude tests; recommendation Reply with quote



Hello,

I'm a hiring C++ developer employer looking for existing, online C++
aptitude tests.

I have not yet extensively researched this yet, but as an example, I
thought this test looked pretty good:

http://expertrating.com/c++test.asp

I'm curious if anyone can offer any other recommendations? If so,
could you please offer your experience with your recommended resource
and why you recommend them...or might recommend others?

Fyi, My philosophy falls in line with this post:

http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/f840d9074af466c1

-Matt
--
Remove the "downwithspammers-" text to email me.

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Mark
Guest





PostPosted: Wed Jan 19, 2005 1:20 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote




my opinion on this is that , if you are looking for the best staff,
a simple C/C++ test is not enough. You should create your own
based on your own requirements / what you think is important for
a programmer to know.

The best test I was ever given was to be sat in a room in front of an
(unfamiliar) C compiler and given an hour to write a program to
read in a proprietary file containing graphics shapes and draw it to
the screen. I did'nt quite finish the exercise, but it showed them
what they needed to know. Could I code, and what was approach to
solving the problem re: design.

I consider myself an intermediate C++ programmer, I still get caught
out by syntactic sugar , the sort of thing a C++ tests are designed around
but I don't consider myself any less a programmer for it.

Hope this helps.

Mark



"Matt" <matt (AT) downwithspammers-mengland (DOT) net> wrote

Quote:
Hello,

I'm a hiring C++ developer employer looking for existing, online C++
aptitude tests.

I have not yet extensively researched this yet, but as an example, I
thought this test looked pretty good:

http://expertrating.com/c++test.asp

I'm curious if anyone can offer any other recommendations? If so,
could you please offer your experience with your recommended resource
and why you recommend them...or might recommend others?

Fyi, My philosophy falls in line with this post:

http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/f840d9074af466c1

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Jerry Coffin
Guest





PostPosted: Wed Jan 19, 2005 1:30 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote



Matt wrote:

[ ... ]

Quote:
I have not yet extensively researched this yet, but as an example, I
thought this test looked pretty good:

http://expertrating.com/c++test.asp

It's not particularly great. I probably shouldn't have wasted my money
on it, but I decided to look at it, and noticed questions like this:

-> Question:
-> State which of the following are true:
->
-> a. You can use a goto statement to jump into a __try statement block
-> or a __finally statement block
-> b. You can nest an exception handler or termination handler inside a
-> __finally block
-> c. You can use a goto statement to jump out of a __try statement
-> block or a __finally statement block
-> d. All of the above are false

This was supposed to be a test about C++, wasn't it? Where did this
nonsense about __try and __finally come from? WRT to C++, even D isn't
really correct, because none of them really qualifies as truly true or
false, but merely irrelevant. Even if the question were rephrased to
deal with C++, it's still downright stupid anyway! Given a limited
number of questions, which subject should be included: goto or (for
example) partial specialization?

As another example:

-> Consider the sample code given below and answer the question:
->
-> class A{
-> public:
-> A() {}
-> ~A(){ cout << "in destructor" << endl;}
-> };
->
-> void main(){
-> A a;
-> a.~A();
-> }
->
-> How many times will the destructor be called in the above code?
-> a. 0
-> b. 1
-> c. 2
-> d. There is an error because destructors cannot be called directly


I suppose they probably want C -- but they're wrong. The correct answer
is that the code has undefined behavior. Nothing more and nothing less
-- any arbitrarily chosen result is equally correct for this input. D
is wrong, because explicit dtor invocation is allowed, and sometimes
even useful (usually in conjunction with placement new).

Yet another question asks:

-> Base class members are made public for a derived class and private
-> for rest of the program by:

Well, there simply is no such thing -- presumably they're trying to
refer to "protected", but protected doesn't make anything public or
private. Rather, it makes the it accessible or inaccessible.

I won't belabor the point, though this certainly isn't a complete list
of even the obvious errors. The bottom line is that while I've seen
worse, this test is still sadly inaccurate.

I'll admit that writing a good test (i.e. selecting questions whose
answers really _mean_ something) is difficult. If you settle for
testing stupid things, writing the test should be easy, but they've
managed to get even that wrong! Oh well, I guess I'll get off my
soapbox and return you to your regularly scheduled flaming...

--
Later,
Jerry.

The universe is a figment of its own imagination.


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Laurence Finston
Guest





PostPosted: Wed Jan 19, 2005 9:16 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

On Wed, 18 Jan 2005, Matt wrote:

Quote:

I'm a hiring C++ developer employer looking for existing, online C++
aptitude tests.


I'm a programmer (C, C++, and LISP) looking for work, and I refuse to take
tests. After my last job I took the time to write a package and
publish it. I use this to demonstrate my ability to program
in C++. (No one seems to care about C anymore, except for embedded
applications, and nobody seems to care about LISP anymore at all, more's
the pity.)

The problem is, there are things that are easy to test, but have no value
for actual programming in real life. For example, I haven't memorized the
rules governing the priority of operators. I know some rules just by
using operators all the time, but the compiler doesn't care if I put in
parentheses if I'm unsure. It also makes my code more readable for people
who haven't memorized the rules, either.

A couple of tests potential employers gave me for C involved
expansion of preprocessor macros.
Using inscrutable preprocessor macro constructions in programs is about
the most stupid programming technique I can think of. But it's easy to
test. It's also an easy way to make someone fall on his or her face,
which is what happened.

I don't carry the language definitions of C and C++ or the calling
conventions of all of the functions in the STL around in my
head. I don't think it would make me a better programmer if I did.
I know the things I use often and I can look the others up.
If you ask me about something I don't use a lot, it's quite possible I
won't know the answer.

I applied for a job recently and was asked to learn how to use that
company's software and write a short program for some purpose! I think
I can use my time better by applying to other companies. By the same
token, I never fill out companies' "special on-line application forms".
I hope I find a company that's willing to take the trouble to
evaluate my work instead of making a decision based on a somewhat
arbitrary test. And any test will be somewhat arbitrary.

Laurence Finston


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Gernot Frisch
Guest





PostPosted: Wed Jan 19, 2005 9:18 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Quote:
-> a. You can use a goto statement to jump into a __try statement
block
-> or a __finally statement block
-> b. You can nest an exception handler or termination handler
inside a
-> __finally block
-> c. You can use a goto statement to jump out of a __try statement
-> block or a __finally statement block
-> d. All of the above are false

This was supposed to be a test about C++, wasn't it? Where did this
nonsense about __try and __finally come from? WRT to C++, even D
isn't
really correct, because none of them really qualifies as truly true
or
false, but merely irrelevant. Even if the question were rephrased to
deal with C++, it's still downright stupid anyway! Given a limited
number of questions, which subject should be included: goto or (for
example) partial specialization?

I don't understand this:

can you do:

goto a;
__try
{

}
__catch(...)
{
a:
goto c;
}
__finally
{
__try
{
}
__catch(...)
{
}
goto c;
}

c:
;



Quote:
-> class A{
-> public:
-> A() {}
-> ~A(){ cout << "in destructor" << endl;}
-> };
-
-> void main(){
-> A a;
-> a.~A();
-> }

I suppose they probably want C -- but they're wrong. The correct
answer
is that the code has undefined behavior.

Why? Is it not allowed to call the d'tor explicitly for an object not
created with 'new'?


But I agree, stupid tests questioning C++ do not help getting you a
good employee. Main intererst should be: how does he/she approach new
problems, what's the coding style, what if something does not work?

I'd let them hand in a nice 100 line source project and explain what
it does. From a code listing of someone you can get a very good
implression of what he/she's like.

Maybe you'd better make sure you're watching while the code get's
written, so there's no danger of cheating.

-Gernot





[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
Joseph Turian
Guest





PostPosted: Wed Jan 19, 2005 11:03 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Why do you need an online aptitude test?

Couldn't you design some interview questions that are a much better at
detecting the skillset you are looking for in an employee?


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
KCs
Guest





PostPosted: Wed Jan 19, 2005 11:10 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

I think that it isn't very fortunate to hire programmers testing their
knowledge of a specific language. A better approach is to test their
algorithmic skills, their thinking. A language is just a tool and it's
usage can be learned quite fast.


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Francis Glassborow
Guest





PostPosted: Wed Jan 19, 2005 11:13 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

In article <1106099477.769427.159340 (AT) f14g2000cwb (DOT) googlegroups.com>,
Jerry Coffin <jcoffin (AT) taeus (DOT) com> writes
Quote:
-> Consider the sample code given below and answer the question:
-
-> class A{
-> public:
-> A() {}
-> ~A(){ cout << "in destructor" << endl;}
-> };
-
-> void main(){
-> A a;
-> a.~A();
-> }
-
-> How many times will the destructor be called in the above code?
-> a. 0
-> b. 1
-> c. 2
-> d. There is an error because destructors cannot be called directly


I suppose they probably want C -- but they're wrong. The correct answer
is that the code has undefined behavior.

It has undefined behaviour before it tries to call a dtor (it has the
wrong return type for main(). This kind of thing says far more about the
testers than it does about the tested. If the examples you give are in
anyway typical I would want my money back because they claim that every
question has at least one correct answer, that claim is demonstrably
false.


--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
Andrew Peter Marlow
Guest





PostPosted: Wed Jan 19, 2005 11:19 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

On Tue, 18 Jan 2005 18:18:16 -0500, Matt wrote:
Quote:
I'm a hiring C++ developer employer looking for existing, online C++
aptitude tests.

brainBench seems quite good to me.
It draws from a very large database, making it harder
for agents to cheat, and although it is multiple-choice
the choices have subtle differences. Also the responses
have a time limit.


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Carlos Moreno
Guest





PostPosted: Wed Jan 19, 2005 11:20 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Jerry Coffin wrote:

Quote:
-> Question:
-> State which of the following are true:
-
-> a. You can use a goto statement to jump into a __try statement block
-> or a __finally statement block
-> b. You can nest an exception handler or termination handler inside a
-> __finally block
-> c. You can use a goto statement to jump out of a __try statement
-> block or a __finally statement block
-> d. All of the above are false

This was supposed to be a test about C++, wasn't it? Where did this
nonsense about __try and __finally come from? WRT to C++, even D isn't
really correct, because none of them really qualifies as truly true or
false, but merely irrelevant.

Actually, d) is correct, IMHO -- If there is no such thing
as a __try statement block in C++, then a statement that
says you can do whatever thing into a __try statement block
is false: it is false because there is no such thing as
a __try block, and therefore NO, you can NOT use a goto to
jump into a __try block.

(same reasoning applies to the other two)

The sad reality is, I would bet one year's salary that
according to them, d) is NOT the correct answer... :-(

Quote:
Even if the question were rephrased to
deal with C++, it's still downright stupid anyway! Given a limited
number of questions, which subject should be included: goto or (for
example) partial specialization?

150% agree with that!

Quote:
-> void main(){
-> A a;
-> a.~A();
-> }
-
-> How many times will the destructor be called in the above code?
-> a. 0
-> b. 1
-> c. 2
-> d. There is an error because destructors cannot be called directly


I suppose they probably want C -- but they're wrong.

Not to mention that beautiful void main()...

Cheers,

Carlos
--

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Hyman Rosen
Guest





PostPosted: Wed Jan 19, 2005 11:22 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Gernot Frisch wrote:
Quote:
I don't understand this: can you do:
goto a; __try {...

C++ does not contain constructs named __try, __catch, or __finally,
so it makes no sense for a claimed C++ test to ask about them.

Quote:
-> void main(){ A a; a.~A(); }
Why? Is it not allowed to call the d'tor explicitly for an object not
created with 'new'?

It is undefined behavior to cause a d'tor to be called more than once
on an object. A program which executes undefined behavior, as this one
does, has no required behavior according to the standard. Therefore none
of the choices is correct.

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Maciej Sobczak
Guest





PostPosted: Wed Jan 19, 2005 11:49 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Hi,

Matt wrote:

Quote:
I'm curious if anyone can offer any other recommendations?

I may be biased, but this served me well (I'm on the other side):

http://www.brainbench.com/

(click around patiently to dig out the C++ test)


As for the C++ test itself, it is rather focused on syntax issues
instead of idioms and techniques, so don't rely on a *single* test to
select your candidates. If you can combine such tests with *other* ways
of assessing candidates, then those tests can certainly help you.

--
Maciej Sobczak : http://www.msobczak.com/
Programming : http://www.msobczak.com/prog/

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Ivan Vecerina
Guest





PostPosted: Wed Jan 19, 2005 11:59 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

"Matt" <matt (AT) downwithspammers-mengland (DOT) net> wrote

Quote:
I'm a hiring C++ developer employer looking for existing, online C++
aptitude tests.

I have not yet extensively researched this yet, but as an example, I
thought this test looked pretty good:

http://expertrating.com/c++test.asp

I've never tried this one. An alternative I am familiar with is
available at www.brainbench.com.

Quote:
I'm curious if anyone can offer any other recommendations? If so,
could you please offer your experience with your recommended resource
and why you recommend them...or might recommend others?

I cannot rate the expertrating test, so I can't compare. Personally,
I'd probably not be fully satisfied with the coverage or quality
of either test.

Quote:
Fyi, My philosophy falls in line with this post:

http://groups-beta.google.com/group/comp.lang.c++.moderated/msg/f840d9074af466c1

I agree, but keep in mind that these multiple-choice online tests
have a limited scope. They can test for knowledge of the language,
but not coding quality, proficiency, etc. I'd say that being able
to pass the test can be a necessary condition (i.e. for screening),
but not sufficient (to my hiring standards).

As part of the interview process, I will go further and give an actual
coding assignment. A company I worked for had a standardized assignments,
asking candidates to maintain and evolve an initial program through
multiple iterations of requirements. When properly reviewed by a
competent senior developer, I find that the result of such a test will
give you much better insight -- and feel less deprecatory to the candidate.

I hope this helps,
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Brainbench MVP for C++ <> http://www.brainbench.com
Full disclosure: I'm not affiliated with Brainbench other than for
having free access to their tests and online materials in exchange of
reviewing some of their test questions and posting this occasional link.



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
jakacki
Guest





PostPosted: Thu Jan 20, 2005 12:15 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Quote:
Im a hiring C++ developer employer looking for
existing, online C++ aptitude tests.

www.brainbench.com seems reasonable.

Having said that, I am very skeptical to hiring based on multiple-choice
test. When I am hiring I use tailored tests focused on problem solving,
with programming-related questions generally having the form of "critique
this code" and "solve this problem using your favorite programming
language". We also rely on giving candidates programming homeworks, which
they later defend.

HTH
Grzegorz

Free C++ frontend library: http://opencxx.sourceforge.net
China from the inside: http://www.staryhutong.com
Myself: http://www.dziupla.net/gj/cv



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
Matt
Guest





PostPosted: Thu Jan 20, 2005 12:18 pm    Post subject: Re: Employer looking 4 online C++ aptitude tests; recommenda Reply with quote

Hello Ivan,

I very much agree with your comments below.

Quote:
As part of the interview process, I will go further and give an actual
coding assignment. A company I worked for had a standardized assignments,
asking candidates to maintain and evolve an initial program through
multiple iterations of requirements.

I find this in particular to be an excellent idea. Unfortunately, my
current environment (the very early stages of a startup company) is
prohibiting me from spending much time on test development. I may
attempt to develop and use such a mechanism in the future.

Alternatively, if anyone can refer me to existing, already-developed
mechanisms like this one (the changing-requirements stuff is
particularly useful), I would love to see it.

I suppose I could draw from past projects (...but I can't find them
anywhere...I did my C++ work a *long* time ago) or look through a
couple of my favorite books...although I'd be concerned with
plagiarism for the latter.

-Matt


--
Remove the "downwithspammers-" text to email me.

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated) All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.