Brainbench C++ test (OT?)

Discussion in 'C++' started by Mark (newsgroups), Jan 17, 2008.

  1. Hi,

    This may be slightly OT, but is is to do with C++. I've been asked to
    take a brainbench C++ test with a prospective contract opportunity.
    Having been travelling for several months since my last job, I was a
    little wary how my current knowledge would be. I also dislike these sort
    of tests a lot because I have a poor medium term memory, and find I
    forget stuff that I'm not using weekly. This unfortunately reflects
    poorly when I do have to take this sort of test. It hasn't stopped me
    being an excellent developer (not to sound too immodest), and I've
    always been highly regarded at previous positions.

    Anyway, I took a practice test today so I wouldn't go in to the test
    completely in the dark, and also to get an idea if it was worth me just
    forgoing it altogether. It was 40 questions, 3 minutes each, and I
    scored decently, 78% (better than 78% of people it means) which is
    probably better than I expected, but worse than where I should be if it
    was fresh in my mind. I'm just wanting to know how similar the practice
    test will be to the "real" one the company has asked me to do. Will the
    questions be similar? I even read someone say some are reused. Has
    anyone ever taken one of these tests?

    Also, since it's a good idea for me to freshen up anyway, could anyone
    recommend any good resources for this? Online is great, but a book that
    I could read is also good. Obviously there is a lot of stuff out there.

    Thanks
     
    Mark (newsgroups), Jan 17, 2008
    #1
    1. Advertisements

  2. Mark (newsgroups)

    Tuno Guest

    I am finding that there is NOT a lot of stuff out there, as far as
    online C++ proficiency tests. (I did find a couple of bad ones!)

    (I posted a query earlier today for tips on where to find one, but no
    responses (yet).)

    I can recommend a few texts, available at your local bookstore:

    "C++ in a Nutshell" by Ray Lischner, O'Reilly
    "Effective C++" by Scott Meyers (Third Edition), this should be
    mandatory reading for all C++ professionals
    "More Effective C++" by Scott Meyers

    I have technical interviews next week and am having trouble finding
    good material with which to test my C++ knowledge.

    -ted
     
    Tuno, Jan 17, 2008
    #2
    1. Advertisements

  3. Mark (newsgroups)

    Linonut Guest

    * Tuno peremptorily fired off this memo:
    Also Bjarne Stroustrop's book!
     
    Linonut, Jan 17, 2008
    #3
  4. Mark (newsgroups)

    Tuno Guest

    <snip> Also Bjarne Stroustrop's book! </snip>

    Stroustrop's book is useful as a reference and for raising my monitor
    a couple of inches, but is a bit too verbose and esoteric for daily
    use by regular mortals.

    It is however in my mandatory list, along with the Nicolai Josuttis
    book, "The C++ Standard Library", one of the few fifty-buckers that's
    actually worth it.

    -ted
     
    Tuno, Jan 17, 2008
    #4
  5. Mark (newsgroups)

    Dennis Jones Guest

    I'll second that.

    - Dennis
     
    Dennis Jones, Jan 18, 2008
    #5
  6. Thanks for the tips. I believe I used to own a copy of C++ in a Nutshell
    a couple of years back but I must have lent it to someone.

    I've browsed Effective C++ a number of times because a colleague had it
    constantly sitting on his desk. Very good book and something I've often
    thought of picking up for myself.

    I still dislike these tests though, I feel some people are just more
    natually adept at them than others. It also feels like burning my
    bridges with a company if I do badly, whereas face to face interviews
    I'm fine with. Still, they're part of the industry now for better or worse.
     
    Mark (newsgroups), Jan 18, 2008
    #6
  7. The name is Bjarne Stroustrup and he is the creator of C++. His website:
    http://www.research.att.com/~bs


    He has written "The C++ Programming Language" book, the latest being 3rd
    edition and special edition. The difference of the two currently is the
    page cover only. It details C++ features thoroughly, and I think you
    must have read this "cover to cover" before considering yourself a very
    good programmer.
     
    Ioannis Vranos, Jan 18, 2008
    #7
  8. Mark (newsgroups)

    acehreli Guest

    I agree: it's a reference book.
    That's an excellent day-to-day book.
    One of the most valuable C++ books for me has been Exceptional C++ by
    Herb Sutter. I consider that one a must to read. Sutter's other books
    are very good too, but Exceptional C++ has been a huge eye opener.

    Ali
     
    acehreli, Jan 18, 2008
    #8
  9. * Mark (newsgroups):
    I recently interviewed for a position with a company that had first
    "courted" me to sign as C++ expert, because they are trying to change
    over from C to C++ where possible. The last interview (of 3) was about
    technical ability. I suspect the company had not-quite-perfect internal
    communication because the interviewer asked very basic hardware-oriented
    novice-level questions, not anything that could tell whether I fit into
    any position as C++ expert/guru/teacher, which was a bit provocative,
    and didn't seem to understand all my responses because he didn't seem to
    recognize e.g. constructor initializer lists, and told me at the end
    that he didn't have to search very far to find someone who knew more
    about C++ than I thought I did -- in fact, "Tore" down the hall, who
    did Fourier transforms (i.e. implicitly, "Tore" did only math, no C++),
    was an example -- and one doesn't say such things for fun.

    A Brainbench test would probably have given much more accurate results
    for what was asked about, and to guard against the interviewer having
    his/her own incorrect ideas about "right" answers and so on, I suspect a
    Brainbench test of the interviewer would be a Good Idea(TM).

    I took a Brainbench test last last year, and it covered a lot more than
    that interview. I thought I flunked it because I knew I answered
    incorrectly on a few questions (that I also did on the interview above
    ;-)), and thought I was very slow in answering (I don't know whether
    that counts or not), but surprisingly ended up with "Expert (Master)":

    <quote>
    Test Taker : Alf Steinbach
    Email :

    Test : C++
    Overall Score : 4.69

    Date : 28-Jul-2006
    Weights : 100% C++
    Elapsed time : 53 min47 sec

    ----------------------------------------------------------------------



    Module : C++
    Score : 4.69
    Proficiency Level: Expert (Master)
    Percentile : Scored higher than 97% of previous examinees.

    Demonstrates understanding of most advanced concepts within the subject
    area. Appears capable of mentoring others on the most complex projects.

    Strong Areas

    Basic Structure and Syntax
    Class Member Functions
    C++ Class
    Templates

    Weak Areas


    None noted
    </quote>

    Note: I don't think that in reality there is such a thing as "expert" in
    C++, with the possible exception of Andrei.

    Also, I think it's impossible to answer correctly on all questions,
    except by chance, because at least one question had only incorrect
    answers. So one must guess a little. But based on that test, which is
    my only Brainbench test, I think it's not possible to "read up" on C++
    in order to prepare: even if not entirely perfect, the test covers a lot
    of ground, and includes reasoning questions where you need understanding
    (I hate those questions because I'm very slow at reading code and very
    bad at memorizing what foo1, foo2, foo3 etc. stands for, yes they used
    such names, except when presented in Visual Studio, I don't know why).

    Anyways, I think it's best for both applicant and firm that the test or
    interview accurately reflects & communicates the general abilities of
    both, not a "read up on it", because a relationship based on incorrect
    perception of the other is most probably doomed and can hurt both.

    Cheers, & hth.,

    - Alf
     
    Alf P. Steinbach, Jan 18, 2008
    #9
  10. Mark (newsgroups):

    I'd much prefer if the examiner was sitting there beside me so I could:

    1) Point out his errors
    2) Make sure he understands what I'm doing rather than marking it wrong
    because he doesn't understand my methods.

    I had a programming exam there about a week ago, and while I didn't dumb-
    down my coding, I put in explanations to explain to the examiner what I was
    doing, for fear that they would mark it wrong because they erroneously
    thought that I was doing something wrong. For instance, I had a function as
    follows in one part:

    void Func(SomeType param[2])

    , but then I drew a big arrow to the function parameter saying "identical
    to SomeType *param". I did this so that the examiner wouldn't erroneously
    think that I'm trying to pass an array by value. Unfortunately, we don't
    get our scripts back unless we actually kick up a storm about getting a
    undeserved bad mark.
     
    Tomás Ó hÉilidhe, Jan 18, 2008
    #10
  11. I share your disquiet about these tests. IMO the only way to correctly
    gauge a candidate is via a face-to-face written test, where you can
    see how they work things out, give guidance when needed, and generally
    get a real personal feel for the candidate's competence. Automated
    tests
    do have their place, as up-front bozo filters and, I suppose, to
    supplement the face-to-face, but the problem is that HR departments
    see
    them as a cheap way to seive candidates, which is misguided.

    Perhaps the biggest problem with automated tests is that they tend to
    be multiple choice, which is great for discovering whether a candidate
    has in their brain some fact that they could look up in 30 seconds,
    but
    is a pitifully inadequate way of discovering whether they can actually
    write code.
     
    tragomaskhalos, Jan 18, 2008
    #11
  12. Mark (newsgroups)

    tbarta Guest

    I've taken these tests a few times. There's a limited set of
    questions available, so you'll probably see some repeats. My
    experience has been that there will always be a few questions that a
    good developer won't know, because they essentially test "what happens
    when you do something stupid?" The only real use of a BB-style test
    is to weed out completely worthless candidates, IMO. Most questions
    can be answered with the help of a compiler on-hand, so anyone who
    does worse than that either doesn't know or doesn't care. 78% is
    definitely in the "this person is worth talking to in person" range.

    Some other books to add to the list are Herb Sutter's "Exceptional C+
    +" and "More Exceptional C++". After reading those books, I found I
    was able to look through GCC's STL implementation and understand the
    various tricks they were doing much better.
     
    tbarta, Jan 18, 2008
    #12
  13. Mark (newsgroups)

    Linonut Guest

    * Tuno peremptorily fired off this memo:
    Hmmm. I use Bjarne's book a lot while coding.

    And it has some very interesting, and even humorous digressions about
    programming (such as Section 24.2.4 Avoiding Programming).
    I'll have to look into that one. Thanks!
     
    Linonut, Jan 18, 2008
    #13
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.