OT: CS education gone wrong (Was: Re: TDD is BS?)

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Jun 21 14:33:45 PDT 2013


On 6/21/13 5:59 AM, Jacob Carlborg wrote:
> On 2013-06-21 07:57, H. S. Teoh wrote:
>
>> we got to ask HR to first
>> administer a technical test before any interviews are arranged; test
>> results are reviewed before deciding to interview the candidate
>
> I done tests like that, they all suck. This is how it usually works:
>
> You get a problem to solve. They say: "solve it anyway you want, using
> any language you want". You solve it farily quickly and straight
> forward. Then they say, "you are not allowed to use that function".
> Basically they're saying it's cheating. Then you remove that function
> and change the implementation accordingly. Then they say, "you are not
> allowed to use that other function". You change the code accordingly and
> this dance continues. Then you're thinking to yourself, "Am I supposed
> to reimplement the standard library?".
>
> I would say, most times, it's almost irresponsible to _not_ use the
> standard library. A bunch of people, a lot smarter than I, have had a
> good 20 years or so to perfect and fine tune the standard library. Not a
> chance in hell that I'm going to beat that, on an interview, with code
> written on a whiteboard.
>
> A side note. You're of curse not allowed to look at any documentation at
> all and you're not allowed to use a text editor. You write the code on a
> whiteboard, yes a _whiteboard_.
>
> That's just so stupid. That's not how programming works in the real
> world. Why the hell do they think IDE's have built in, easy to
> read/find, documentation.

If there's any need to reach for documentation, the interviewer has 
failed. When interviewing we (at Facebook) ask problems that are likely 
to appear in a normal day's work, but for which the typical libraries 
don't help. (E.g. many libraries don't can't help with implementing 
unstable remove (see std.algorithm).)

Also it's fair to ask about implementing a stdlib function itself if the 
interview concerns some systems-level work; e.g. brute-force strstr() is 
fair game and I think any engineer should be able to lift it off the 
ground quickly (to my dismay, only a fraction can). Paradoxically use of 
stdlib functions may actually hurt; I've seen people who e.g. call 
strlen() in a loop in order to implement strstr()!


Andrei


More information about the Digitalmars-d mailing list