Live data from Hacker News

How to Rock an Algorithms Interview

blog.palantir.com

161–169 of 169 posts

Re: How to Rock an Algorithms Interview

#161
post #146

Earlier quoted context omitted.

It wasn't this. The example was trying to show that a lack of knowledge can be catastrophic in terms of productivity for even the gurus. He spent more than six months on this particular problem and if he had known more math (very typical of people in comp sci unfortunately) he would have been enormously more productive. The problem was formulated before he started any work on this, it really was his lack of (graduate…

To be fair, what he needed was actually DOMAIN knowledge, in this case, some specific math stuffs. Unfortunately, unlike other domain knowledge such as business workflow, stuffs like Math and Physics are kind of hard-core, can not be quickly picked up by self-learning. He should have had some domain experts (mathematicians) to help him.

That's my point. Algorithms are the domain knowledge of cs.

Re: How to Rock an Algorithms Interview

#162
post #140

You must hire people for two things to win big today's world. Productivity and Analytical skills. If you are searching people with specific factual knowledge, sure that is important but often that leads only to mediocre or average results. If you know how to do a thing before hand, that helps only in solving that kind of problems specifically. And that too only if the person is productive enough to do it in time. Any…

"In fact if you are [an algorithm expert], you are not likely to take big risks. You are more than happy with the addiction towards that monthly salary."

Please elaborate on the evidence for a correlation between knowledge of algorithms and risk taking?

Seriously....

Re: How to Rock an Algorithms Interview

#163

Earlier quoted context omitted.

Right, that's my point. It become sort of a cargo cult of candidate selection by people who don't actually understand what they want or need.

I suspect a "cargo cult" for hiring is not what rguzman meant. Rather, algorithm skills are one of the best signals you can extract from a short interview. I've always found them to be much better at predicting a candidate's ability to do the job than anything else I could ask in 45 minutes. That may mean I'm a poor interviewer, but until I can figure out better questions to ask, I'm happy to use this signal since in…

That may mean I'm a poor interviewer

Not at all. It means that humans are complex and ranking them is extremely difficult.

My issue is with the fact that I've met too many very smart people who can prattle on about Big-O and optimal architectures for hours, but when it comes time to get dirty and finish a job, they lose interest, produce unmaintainable, over-engineered nightmares, and/or turn out not to actually understand the platform well enough to execute a clean solution.

Re: How to Rock an Algorithms Interview

#164
Sincere request to HN readers. If you have ethics, try to avoid working for Palantir. Palantir is an unethical company. They were involved in the HBGary scandal. They tried to smear Glenn Greenwald. They might have the best and hardest interview process and may have the smartest people. But all these technical wizardry is moot when they don't have ethics.

* http://www.salon.com/news/opinion/glenn_greenwald/2011/02/15...

* http://www.reuters.com/article/2011/02/17/idUS12186607112011...

Re: How to Rock an Algorithms Interview

#165
post #156
post #136

Earlier quoted context omitted.

When talking of learning in this sense, no one talks of reading the book from the first page to the last page. The learning is often sufficient to serve the needs at the moment. If I have to quickly fix my juicer, I don't under go do Electrical and mechanical engineering courses for the next 4 years. Instead what I do is, I define the problem. Search for the solutions on the internet. The solution requires me to unde…

Search for the solutions on the internet This is the problem with kids these days.

This is the problem with kids these days.

We can argue as much as we can about generational differences. These days you can do a lot of things without knowing much about it before hand. That's the kind of advantage internet offers you these days.

If a person is unable to leverage this to his advantage, I feel sorry for him. And I see no reason why others shouldn't do this just because he can't.

Re: How to Rock an Algorithms Interview

#166
post #136

Earlier quoted context omitted.

"I contend that I am capable of learning new material quickly enough that, if I were suddenly called upon at my job to write code which handles all of the slings and arrows of algorithmic complexity, I would be able to do so with very little friction. To phrase it differently: I (probably) don't know enough to write gorgeous, algorithmically sophisticated code on the first pass, but I know enough to know when it's ti…

When talking of learning in this sense, no one talks of reading the book from the first page to the last page. The learning is often sufficient to serve the needs at the moment. If I have to quickly fix my juicer, I don't under go do Electrical and mechanical engineering courses for the next 4 years. Instead what I do is, I define the problem. Search for the solutions on the internet. The solution requires me to unde…

I disagree with your first sentence. When I had a month of downtime between graduating college and interviews, I read CLRS (nearly) cover-to-cover, and did approximately 1/4-1/3 of the problems (with an emphasis on chapters and sections I had a weaker grasp on). I can't be the only one.

Re: How to Rock an Algorithms Interview

#167
post #133
post #21

FTA: You should know these data structures inside and out. What are the insertion/deletion/lookup characteristics? (O(log n) for a balanced binary tree, for example.) How does one achieve this? Not just being familiar with data structures and algorithms (I am), but being fluent in them, to the extent that you can produce the Big O complexity for different operations off the top of your head. I didn't have a tradition…

It is unfortunate that instead of turning into a discussion about how to excel in an algorithms interview (which is what the original post is about) this thread has wandered into whether it is useful to even learn algorithms. What a waste!

Maybe 50% of the replies to my OP involve the importance of algorithmic fluency; the rest of the posts in this sub-thread are all delightful suggestions about which books to read and how to fit algorithms into one's learning habits even if they weren't already there.

And what is wrong with one sub-thread dipping into an utterly related topic? Are you suggesting that no discussion should ever shift from one aspect of a topic to another? Or are you suggesting that every programmer, anywhere, ever, should obviously learn algorithms until they are completely fluent? Both of those are baffling to me, as the former would be a completely unstated expectation in the entirety of internet discussion forums, and the latter is what we are discussing in this sub-thread!

This is one of the most interesting threads I have ever read on Hacker News. It contains a fantastic breadth of perspectives and has remained admirably civil and candid. I've had 2 people e-mail me just based on this thread, and I've purchased two books just based on this thread. I take umbrage that you would call it a waste.

Re: How to Rock an Algorithms Interview

#168
post #162
post #140

You must hire people for two things to win big today's world. Productivity and Analytical skills. If you are searching people with specific factual knowledge, sure that is important but often that leads only to mediocre or average results. If you know how to do a thing before hand, that helps only in solving that kind of problems specifically. And that too only if the person is productive enough to do it in time. Any…

"In fact if you are [an algorithm expert], you are not likely to take big risks. You are more than happy with the addiction towards that monthly salary." Please elaborate on the evidence for a correlation between knowledge of algorithms and risk taking? Seriously....

I have seen most people with degrees and especially brilliant ones hesitate to take risks.

Probably that's because they feel after all the hardwork its better to have some safer alternatives than risks which don't necessarily guarantee returns.

Now don't ask me to come up with survey/research paper. No one goes out and spends time/money/energy to prove each debating point.

But I agree with you as well, there is no co relation between them. But unfortunately truth is often stranger than fiction.

Re: How to Rock an Algorithms Interview

#169
post #53
post #30

Earlier quoted context omitted.

Thank you, this is a great answer that confirmed some of my suspicions. I'd be interested if anyone could recommend other good resources such as Project Euler. Perhaps the book Data Structures and Algorithms ought to be higher up on my reading list? I would feel a lot more enthusiastic about getting a copy and diving into it if someone with the context of my OP question could confirm that it's a relevant resource.

I haven't read Data Structures and Algorithms , but I can point you to a draft of the book for my current Algorithms class, creatively called Algorithms [1]. I think content-wise the draft is almost identical to the published versions; the main differences are in the exercises. [1]: http://www.cs.berkeley.edu/~vazirani/algorithms.html It's fairly in-depth but narrative in style and readable; I rather like it. One par…

I took the algorithms class at UCSD a few years ago from Sanjay Dasgupta, one of the authors of that book. At the time the book wasn't finished but we used a draft as the lecture notes. One of the best classes I took. I use that book to this day as a reference for some algorithms.
Post reply on HN