Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

OK, I'll bite.

Point one, it checks if you understand the most primitive sorting algorithm out there. Pretty low bar assessment of your general CS knowledge.

Point two, it checks whether the candidate has understanding of computational complexity.

Now you might argue that you don't need any of that in the day job, but that's on you. If the interviewer wants to check you have fairly basic minimum of understanding of very basic CS concepts, that's a suitable question to ask.



Do you see any problem with the idea that:

"Has memorized the complexity class for one particular, indisputably marginal sorting algorithm"

is equivalent to

"Has an understanding of computational complexity"?

Now you might argue that you don't need any [understanding of complexity] in the day job

That is quite clearly not what what said.


In theory there is a difference, in practice - none. People would at least know what that is (and hence have no problem gauging bubblesort complexity), or you'd have blank stare back.

Just wonder what would you suggest as an alternative, if you need to confirm basic algorithms proficiency and understanding of big-O? You inevitably arrive to an algorithm question, and bubblesort is as good as any.


Or you'd have blank stare back.

Actually the blank stare means "What is this, sophomore year again? I can't believe anyone still cares about bubble sort."

Just wonder what would you suggest as an alternative?

Look at their GitHub/Mercurial account (which you've been ignoring all this time in your desperate search for something to nail them on, but if you would spend a second or two looking, you'd find is chuck full of algorithm stuff -- much of it way more intricate than bubble sort). And ask as many questions as you like based on some project you find there.

Or, pick a problem you're working on that's algorithm-related (but which you genuinely don't fully know how to solve). Use that as discussion material. What approach they'd suggest, given that the data are sparse / not evenly distributed, whatever.

You know, as if they were a peer. Not an interrogation subject.


The majority of my peers don't have a GitHub account, most of them quite competent programmers. Do you suggest to discriminate applicants based on their public activity? Do you suggest it's somehow more fair than a general question?

I like how you cast me into some mean soulless generalized interviewer and started bashing down your pain points, while I actually don't interview people. But a simple algorithm question is not out of line on a programming interview; it's not whiteboarding or take home assignments. It doesn't take much time to answer, it shows you have some very basic CS knowledge at least. I did not use bubblesort outside of CS101 class some 25 years ago and had to actually think about its runtime complexity, but it was not hard and it did not take long.

Again if you think basic CS knowledge has nothing to do with your job that's on you. Should add that I'm not really comfortable being grilled in any way on the interviews, it's not a very good dynamic. But I don't see any general, dignified way to filter out non-performers. Unfortunately just credentials are not enough in our trade.


Do you suggest to discriminate applicants based on their public activity? Do you suggest it's somehow more fair than a general question?

Actually, yes. But that's just a matter of personal taste.

Again if you think basic CS knowledge has nothing to do with your job that's on you.

Hmm -- you keep coming back to this supposition, for some reason. And again, that's not at all what I was saying.

Should add that I'm not really comfortable being grilled in any way on the interviews, it's not a very good dynamic.

At least we're on the same basic page, then. The main difference I guess is that (1) I see the issue of maintaining "dynamic" -- the overall tone of bilateral respect, in the interview process -- as not just important, but very important, arguably crucial in fact; (2) dynamic aside, the "quiz-show" approach is rife with methodological weaknesses (for example, it highly favors those who cram on the material - or were simply lucky, and happened to have heard your questions before in there interview process); and (3) I find it quite easy to assess ballpark competence in tech folks (and to find red flags for incompetence) just from unprompted, regular discussion.

But again, that's me, not you. You can apply whatever filters you like. Like Steve Jobs said (in a different, but related context) ultimately either they'll work or they won't -- and everything will sort itself out.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: