6 ms·
I feel the need to nitpick your example. > does the candidate want to code it up or understands that they could do: cut | sort| head Piping together commands
by overgard 7y ago
I feel the need to nitpick your example.
> does the candidate want to code it up or understands that they could do: cut | sort| head
Piping together commands is undoubtedly programming, just in ancient shell script. So in a sense you're really testing for bash expertise. Which is maybe really relevant to you but I wouldn't say you're really "avoiding" coding by knowing to use those commands together, you just decided to code it with obscure shell commands. I might fail your test by choosing to write that sort of thing in python, because I could write it much more reliably in 10 minutes than deal with all the incredibly weird things that can happen in bash. I mean the final product in bash might be slightly more elegant, but your terminal history is probably littered with "man cut" and various attempts at it.
But for your example, my answer might be: if you're querying this file once, you may be querying it again, it's probably just way simpler to load the thing into sqlite instead of trying to imitate sql with some janky unix commands.
> everyone with real work experience has a story about sorting.
I am 34 and an experienced coder and I literally have no stories about sorting, and I've never once wanted to sort a CSV file on the terminal.
- glofish 7y agosqlite answer - excellent, that is exactly what I am looking for, things people did, potential solutions let me understand the candidate's real background - not the buzzwords what is not well received is the judgmental tone, passing judgment about me for things you cannot possibly know, no need for that either, simple questions also irritate some, very important to weed those people out too, I expect you would fail the test because of the attitude, even though if this were a real job interview you'd do your best to suppress it, it would come out
- satisfaction 7y agoWhew, My first thought was import the thing to database, use database engine to sort.
- invalidOrTaken 7y ago>what is not well received is the judgmental tone, passing judgment about me for things you cannot possibly know But this is the irony---a job interview is a judgment. Why do you think feelings on this run so high?
- hogFeast 7y agoDear God, I hope you don't do interviews. Talking about the "attitude" of someone you don't know, taking criticism personally, thinking that you are weeding people out by trying to "irritate some", suggesting they are trying to suppress it, and (of course) that you will be detect it. Every thread on hiring about HN has these weird passive-aggressive interviewers...interviewing is hard, it is really something that people should be trained to do (and some people really won't ever be able to do it).
- ip26 7y agoI expect you would fail the test because of the attitude How is this relevant? Now you're just taking cheap shots.
- x3n0ph3n3 7y agoCulture fit. Is the candidate likely to reject/scoff at certain tasks because they think it's below them?
- joshuamorton 7y ago"it appears you're implicitly looking for bash knowledge, which is unfair". "I wouldn't hire you with that attitude" I'm getting more judgemental vibes from interviewer than interviewee.
- glofish 7y agoI don't get it, honestly. I would not recommend a candidate, who, when asked if they could do this with cut|sort|head would reply something like: heh, what a pathetic question, I bet your history is full of "man cut" it is not the right answer, it is needlessly obnoxious and indicates a person that can barely bottle up their emotions and quickly gives in under pressure. Usually not a good match to any team - unless they also bring in something massively beneficial.
- blub 7y agoI do believe overgard was just making a point and not expecting a job offer from you. I find these "I'd never hire you" comments so obnoxious... At least you could tell us where you work and your name so we could ask for another interviewer if we ever apply there :-)
- scottlocklin 7y agoDude, do you even data science? Not knowing Unix tools like cut and sort is a hard fail on a senior individual contributor in data science role, as is using sqlite which totally doesn't scale the way sort and cut does. Separates sheep from goats in data science land. You should really learn them if you're in the field and work with reasonably big data sets. Frankly you should learn them if you work with data at all, ever. I've literally seen FAANGs recommendation engines powered with these tools running nightly on someone's desktop.
- BlueTemplar 7y agoHmm, tell us more? Databases are generally known for their good performance (under locking conditions - this is the relevant factor I guess?), after all...
- redis_mlc 7y ago> Databases are generally known for their good performance If the data is on a filesystem, then sed, grep and cut pipelines will likely be your fastest option (Yahoo! processed petabytes of logfiles for decades that way.) If the data is already inside a database table and indexed well, that could be fast enough. But generally speaking, the ETL is often a bottleneck. And DBAs are $$$$ compared to "the UNIX way." Source: DBA
- ansgri 7y agoWell, they do work, but streaming processing in Python is not difficult and it’s much easier to have graceful failure processing and self-documenting code. Not to say of extending the logic if it would ever be needed. But maybe that’s more about separating sheep from shepherds.
- Aeolun 7y agoI’m not sure if I should be horrified or not. Both by the fact this happens, and by the fact that you seem proud of it. Learning sort and cut takes literally takes all of 10 minutes, so if it makes you pass over an otherwise qualified candidate you have your priorities completely backwards.
- SkyPuncher 7y ago> I am 34 and an experienced coder and I literally have no stories about sorting, and I've never once wanted to sort a CSV file on the terminal. I'm a bit younger, but have done this dozens and dozens of times. ---- A lot of one off processes are way easier to handle with a bunch of terminal commands and pipes.
- Aeolun 7y agoOnly if you do them often enough that you don’t forget the flags each time.
- solotronics 7y agoI was with you until you called unix tools janky.. how dare you! semi joking :] there is some simple elegance and power to these old C tools