How difficult(or not) do you find these C++ tests?

Started by
14 comments, last by Washu 9 years, 7 months ago

I came across these tests and was wondering what level you would rate these at, would any C++ job position candidate be easily expected to roll through these?

http://www.interqiew.com/tests?type=cpp

Advertisement

I would say it really depends on what you'd define as 'roll through'. From the few I looked at, I think many candidates would have their answers be marked as incorrect. They're quite full of small gotchas, instead of really testing someone's programming skills.

(But hey, that may just be my disappointment speaking biggrin.png )

That said, I'd be much more interested in why the candidate gave that answer. If a candidate knows what a reference, copy constructor, initialization list, etc. is, but just overlooked some small issue, I'd still would want to hire them.

Example: one of the tests checks if you know what happens if a local functor has the same name as a function and you call f(..). I don't care: anyone who programs something like that will be close to be fired on the spot or at least have a good talking to... wink.png

So as a test, I don't think these are particularly good. As a starting point for a technical discussion, they're quite nice.

Please note: the answers to some questions may be implementation specific

Nice!

Well, I consider myself a C++ expert, but I just took their C++ test #1, spent ~1:30 on each question, thinking "this is a stupid test, badly written and checking for esoteric quirks that only experts will know"... and apparently I took it too quickly because I missed subtle details on each one and got all 5 questions wrong. Taking it again and reading more carefully I found all my mistakes dry.png

So... I don't think I'd use that test to screen candidates laugh.png

As DaBono, they'd probably be more interesting as interview discussion topics, so you can see how well they can explain why different answers would be generated.

I really don't like these kind of tests. Yes, they are called "c++ tests", but what is really tested here is specialized knowledge of a few very specific langauge concepts probably containing more than one gotcha. Almost like a trick question, and I don't like trick questions.

What I'd be more interested in a candidate is quickly grasping large-scale code structure, ability to visualize class dependencies, debugging, refactoring, all in all skills that are not bound to a specific language.

They should change the title of the test in "Horrible C++ nightmare program test". Seriously, if someone in real life codes like that, it should be fired.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

They aren't too bad if you take it slow (I get most of the answers correct but if I rush it I miss a detail or two), and I do agree that they'd be better suited for discussion rather than as a strict test. And yes, no one would code like that, but I've taken C++ tests that have been written far worse and are loaded with more WTFs than these tests and these are more than reasonable in comparison.

I didn't get any correct answers. I'm not at all sure (from a production standpoint) what the intent of the testing really is. It's perhaps similar to cutting and pasting someone else's code and debugging it. But, if I were to do that (and, of course, I have), I wouldn't spend a lot of time determining why or how the code does what it does, I would concentrate more on why it doesn't do what I want it to do.

It may be a test along the lines of examining example code from Microsoft. happy.png Or, perhaps, the originators of the tests are cryptologists looking for people who are efficient at determining what purloined obfuscated code does. laugh.png

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Well, I consider myself a C++ expert, but I just took their C++ test #1, spent ~1:30 on each question, thinking "this is a stupid test, badly written and checking for esoteric quirks that only experts will know"... and apparently I took it too quickly because I missed subtle details on each one and got all 5 questions wrong. Taking it again and reading more carefully I found all my mistakes dry.png

So... I don't think I'd use that test to screen candidates laugh.png

As DaBono, they'd probably be more interesting as interview discussion topics, so you can see how well they can explain why different answers would be generated.

You can also see some other examples of esoteric questions in my C++ quizzes as well. Honestly these are never things I would really ask an interviewee to take partly because A) they're online, easy enough to google the answers for, and B) the knowledge isn't that useful in many cases, because learning it briefly for a test will NOT cause it to stick with you and thus ensure you do not make the same mistakes later on.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

I did the first test and took an average of 3 minutes per question and got 3/5 right, the mistakes I made were because I overlooked a few details. There were a few things that I feel like only an expert would know, but I don't think these tests are effective in measuring someone's level of expertise.

These kind of tests lack a programming goal, the code has no purpose. There's no context to place the code in, which sort of reduces the test to 'are you a good compiler?'. Programming is so much more than that.

This topic is closed to new replies.

Advertisement