News for hackers. Stuff that matters.
Re:Data Structures Reference by jopsen on Friday June 29, 2018 @08:39PM (#17428873)
It's no secret that interviews at crazy, it's like an exam, and you should prepare accordingly. Yes, it's largely irrelevant.

But an engineer who can't reason about DAG, topological sorting, etc, could easily ruin an otherwise elegant architecture :)

Re:Data Structures Reference by WalterBright on Friday June 29, 2018 @09:54PM (#17429085)
> it's largely irrelevant

Maybe not. Wouldn't you prefer a candidate who did prep work before an interview rather that one who chose to wing it?

Re:Data Structures Reference by jacobolus on Saturday June 30, 2018 @01:00AM (#17429552)
If they were just out of school and currently unemployed with no dependents, sure. Otherwise, memorizing answers to homework assignments from an intermediate algorithms course seems like a poor way to spend significant time for someone whose job/career does not actually involve repeatedly implementing well-studied low-level algorithms from scratch on a tight deadline with no ability to look up reference materials.
Re:Data Structures Reference by clarry on Saturday June 30, 2018 @04:34AM (#17430017)
I'd definitely prefer someone who doesn't feel the need to prepare and cram for irrelevant trivia exercises.
Re:Data Structures Reference by platform on Friday June 29, 2018 @09:25PM (#17429008)
Perhaps I do not quite understand what you meant by 'engineer that cannot reason'.

Somebody might not be able to write on a white board, during an interview a topological sort or find-a-union (https://www.hackerearth.com/practice/notes/disjoint-set-unio... ).

But does it mean that they will ruin 'elegant architecture'? (compared to somebody who passed the topologica sort exam)?

Also, wouldn't an architecture that imposes compile time constraints, good documentation and test cases -- on the usage of its most elegant pieces, be more 'elegant' than the one, that could be easily 'ruined' but somebody who does cannot write out a 'topological sort' during an interview?

Re:Data Structures Reference by perfmode on Friday June 29, 2018 @09:47PM (#17429063)
Have you never worked with weak engineers?
Re:Data Structures Reference by rmwaite on Friday June 29, 2018 @10:20PM (#17429156)
I think their point is that just because someone can’t whiteboard something doesn’t mean they can’t reason about it.
Re:Data Structures Reference by atmartins on Saturday June 30, 2018 @12:04AM (#17429417)
Have you ever worked with arrogant ones?
Re:Data Structures Reference by anothergoogler on Friday June 29, 2018 @10:28PM (#17429184)
The problem with using trivia as a hiring filter is it doesn't do a good job of differentiating between those who don't know a thing, and those who know nothing, unfairly penalizing the former.
Re:Data Structures Reference by ozim on Saturday June 30, 2018 @03:51AM (#17429928)
But it is easy to filter out those who think they know something when they blurt out correct responses like machine. But in reality they just lerned canned responses. Usually you want to discuss problem to see reasoning. If there is no reasoning just canned response, that is big red flag. That person probably lacks any depth of knowledge and doesn't understand why the question is asked.
Re:Data Structures Reference by threatofrain on Saturday June 30, 2018 @02:25AM (#17429747)
Can you predict engineering performance from whiteboard exams? I wager Ravens Matrices would do better than your whiteboard exams.
Re:Data Structures Reference by platform on Friday June 29, 2018 @11:41PM (#17429357)
I did. Some of them, I think, would be able to pass these types of data structures test.

I observed 3 characteristics that they had. (not that I was thinking about this before, but since you posed the question...)

1) They lacked ability to leverage others people work.

(and with that, they lacked the ability to quickly review/search/understand available corpus of knowledge )

2) they were not afraid of complexity in coding, but they seem not be able to 'conceptualize a problem' at level higher than code and technical data structures So that produced very complicate/fragile system.

That, I would call too 'literal' in interpreting the immediate business needs. Normally business needs/requiremetns are observeable gaps in some existing process, or in a high level intent. And as such -- these requirements are not 'designed'. So literally interpreting them causes the solutiosn to be short-term, that look like small 'projects', rather than products.

Specifically, they were not able to design with 'composability' in mind. Where the flexibility did not just come from 'millions of configurable attributes', but instead would come from composing working, well defined pieces - together (at the level of data models & UIs, associated with each composable element, not just code).

3) When analyzing performance problems -- they tended to solve them by optimizing details, and not looking at problem statement itself.

In other words, in my experience -- there is rather huge difference between being able to 'find solutions' from existing corpus of knowledge -- vs -- 'being quick on ones feet' so to speak, and being able to code on white board, data structure algorithms on the interview.

I normally look for people who can construct& compose from existing pieces (that includes not just code, but also articles, research papers, analogies from solutions in other domains, etc).

So I tend to look for folks who demonstrate that they can parse large corpus of knowledge, learn quickly, and reason pragmatically.

Of course, as the person describes their experience -- I tend to look for clues on what they concentrated on, what they found difficult/easy, how they leverage other's people work and why. Did they contribute to open source/etc.

I am not sure if being able to write a topological sort on an interview, automatically precludes a person from being able to reason about composable abstractions. But I just saw folks who do well on these types of interviews, but then not be able to 'increase the average of my teams', that consisted of folks who could not write those things at the interview.

Re:Data Structures Reference by yxhuvud on Saturday June 30, 2018 @01:40AM (#17429633)
I mean, tsort is already a library function. The important part is knowing it exist.