3 ms·
Ask them how they would, on a Unix system, do some task that's trivially done via a standard POSIX shell command. E.g. "how would you count the number of lines
by avar 9y ago
Ask them how they would, on a Unix system, do some task that's trivially done via a standard POSIX shell command.
E.g. "how would you count the number of lines in a file?", "given a regex, please print lines in a file matching the regex", "given N lines, sort them by numeric value" etc.
The most egregious over-engineering I see is someone writing a 100 line Python script for something that could be at most a 100 character shell one-liner with a couple of pipes between different programs.
If they pass that ask them about a problem that would be trivially solved by resisting the urge to reinvent make, a HTTP server, or an SMTP server.
Edit: Re downthread: Yes obviously only in the context of someone expected to know *nix in the case of those examples. But the general approach is very transferable.
Ask the candidate about some trivial problem solvable in 1 minute with standard tooling they use every day, you'd be amazed at the architecture astronauts that come out of the woodworks keen to waste their time on some needlessly over-engineered solution.
- tyingq 9y agoThat's hard to do without some context. They may assume, since they are there for a development interview, that the interviewer wants to see code.
- majewsky 9y agoThat implies that you're interviewing for a position that requires Unix sysadmin tasks. Without knowing anything about your interviewee, he might've grown up programming only in Eclipse/Visual Studio/XCode/etc., and might not even be aware of the Unix tool suite. In this case, I wouldn't find it surprising that he uses the tools that he knows.
- scottLobster 9y agoYou're assuming this person has in-depth knowledge of shell commands. If that's what you're testing for then fine, but I wouldn't say it's a good measure of over-engineering. They might have tons of python experience on Windows and haven't used grep in years, so that 100 line Python script might be the most efficient solution they can think of. Also, any interview where I'm expected to have memorized obscure shell flags and one-liners with no access to so much as a man page can go fuck itself. That's just an IT/DevOps spelling bee.