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

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


ent ~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
Hahaha... that's too funny. Exactly what happened to me, and exactly what I was thinking, but I wouldn't want to post it because I found it too embarrassing biggrin.png
Advertisement

I did pretty terrible at first: one correct answer. The later tests seemed easier, or perhaps I had "warmed up" (I don't actively use C++ any more). I've never worked with C++ professionally, but I'd expect an experienced C++ programmer should have vague familiarity with most of the concepts they are testing, even if only to know when to avoid the questionable practises. Some of the tests do cover important topics that are central to writing correct code.

While I made some genuine blunders that I probably wouldn't have made progress on without a live environment to experiment in or access to the Internet (or both), most of my mistakes were misreading what was going on. I understood the reasons behind most of the test cases, but still messed them up. Leaving aside random human error, I think a lot of my errors were introduced by the density of concepts in the tests, paired with the meaninglessness of the examples. In code that has meaning, I think it would be easier to spot and keep on top of these kind of details.

I think this test is incredibly poor as a filtering mechanism. I think it might put off good developers who like too write clean code and who don't pride themselves on being able to recite to the letter obscure areas of the language standard. In addition, I think it is too harsh, as developers with concrete skills can and will fail this test.

Got one out of five correct (well, out of four, I gave up after the fourth question due to a major headache).

Now granted, I don't know too much C++, but it's pretty obvious the questions are designed so that unless you happen to know the exact way the standard defines an obscure expression, parse rule, or function overload selection, you will get the wrong answer. This makes it a really poor metric for testing programming skill, and leaves developers who are probably perfectly qualified for whatever job is being offered, feeling stupid.

And I agree with rip-off in that the tests are very confusing to read, thanks to the meaningless A, B, C, m_n type and variable names, and also the fact that a single error in the output fails the test ("oh, you answered dbbdbdddbcdc? sorry, it was dbbdbdbcdc. noob.").

You can tell it's HR people that come up with these tests, because no programmer would inflict such trainwreck of C++ code to fellow programmers dry.png (one can dream)

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Is it weird that my answer to most questions about the output of the program was: "the responsible programmer losing his job"?

f@dzhttp://festini.device-zero.de

I tried test 1 and I feel it is mostly about testing how much state you can remember in short term memory than anything else.

I'm a long term alcohol abuser so mine isn't very good :-D

So, yeah I gave up altogether.

I got three out of five in the first test, but I hated it. In the last one I kind of gave up because using std::transform with preincrements and predecrements in the operators is pure evil, so I don't care to know what it does.

I got three out of five in the first test, but I hated it. In the last one I kind of gave up because using std::transform with preincrements and predecrements in the operators is pure evil, so I don't care to know what it does.

Frankly, a lot of the "difficulty" of these tests is down to intentional obfuscation through the use of bad naming and bad formatting. For most of them, after rewriting them to use decent names and be properly formatted, the intent becomes clear and the solutions are obvious.

I got all 5 right, they were easy enough once cleaned up. However, several of the questions in their quizzes rely on implementation defined behavior (as they note, although some of them might actually be undefined behavior) and so the answers are not actually correct...

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.

This topic is closed to new replies.

Advertisement