The low score of C++ and high score of Python in pass rate made me think for a moment. How are they determining pass or fail rate? Because if they're failing people because they forgot a semicolon or something trivial like that, then this ceases to be a test of interview performance and more a test of how many inconsequential mistakes does the average person make.
So for instance, Vim doesn't provide much help when you mess up. If you type a variable name that doesn't exist, that's your fault (I'm sure with plugins you can get more). So do Vim users do better because they're nerdier, don't mind a steep learning curve, and like working in a terminal, or is it because Vim doesn't tell you that you accidentally called "reduc" instead of "reduce"?
In my experience the new ,,cool'' startups prepare interview questions in python/ruby/..., give some time, and don't measure the time spent by the program.
In this setup writing the same code in C++ (including the right STL headers) is a pain in the a.
I remember that when I selected C++ as my language for interviewing, I was strongly punished, because my interviewer didn't understand why it takes 10 minutes to do something relatively simple (that is just a few line of code in a higher level language). After that I switched to using Ruby in my interviews, and passed easily.
It looks as if they are interviewing people for skills related to the use of high level, dynamic languages.
Someone who has been doing nothing but C++ for years will probably not be able to "code golf" some data munging problem, say. By the time they get their function right for tokenizing a string on whitespace delimitation, the time is almost up. :)
> If you type a variable name that doesn't exist [in vim]
Start typing a work and press C-x C-[nolk]
* n for a word in open buffers
* o for "omnicomplete" which is quite similar to "intellisense"
* l for the entire line in open buffers
* k for the word from a dictionary
There are several others, but those are the main ones. As soon as you start a completion, you can use C-p and C-n to go up and down the list respectively.
> Vim doesn't provide much help when you mess up
Vim is designed for editing text. I don't know if a better editor (yet) suited to editing, rather than writing.
> Vim doesn't tell you that you accidentally called "reduc" instead of "reduce"?
It can, so long as you have it set up to. Vim even has a spell checker.
So for instance, Vim doesn't provide much help when you mess up. If you type a variable name that doesn't exist, that's your fault (I'm sure with plugins you can get more). So do Vim users do better because they're nerdier, don't mind a steep learning curve, and like working in a terminal, or is it because Vim doesn't tell you that you accidentally called "reduc" instead of "reduce"?