Live data from Hacker News

My Favorite Engineering Interview Question

skife.org

71–80 of 131 posts

Re: My Favorite Engineering Interview Question

#71

I'm confused... why specify a 1 TB disk ? It doesn't seem that the problem's solution has any dependence on the aforementioned disk aside from the data it contains unless I'm misreading how he's explaining the answer?

Yeah, I also thought he expected to serve it all from a single disk. Hopefully in real life it gets clear in the discussion.

It's a problem when asking interview questions: there are many ways in which the question may be unclear and the interviewer is mislead that the applicant can't answer. Another problem may be that the interview interferes with the thinking style of the applicant: you try to discuss it with him while he needs time to think by himself, or just the opposite: he thinks better in a discussion and you stay quiet while he sweats in stress.

Re: My Favorite Engineering Interview Question

#72

I was unsure on how to answer this question since most of my experience is in application development. I'd like to not be embarrassed when asked this question. What advice would you give someone wanting to learn enough to answer this question? Are there any projects, books or other resources one could undertake?

Jon Bentley's "Programming pearls", definitely. This problem is somewhat comparable to the first "pearl" from this book. Anyway one of the best ever programming books :)

Re: My Favorite Engineering Interview Question

#73
post #55
post #49

These days i read "The Guerrilla Guide to interviewing" by joel before attending/conducting an interview. http://www.joelonsoftware.com/articles/fog0000000073.html . The OP's question doesn't have place there :-)

Who is Joel?

Joel Spolsky. Former Microsoft software engineer, now has a company that makes FogBugz. One of the great software opinionators, like Paul Graham.

Re: My Favorite Engineering Interview Question

#74
post #7

I'm interested in why he's so against the "custom solution". Almost everything a DB will try and add in for key-value lookup is predicated on the idea that the requests aren't randomly distributed. The DB index will probably be based around b-trees, which will do a logarithmic-time search for the top few levels cached in RAM, but will fall over fairly miserably with multiple seeks as it has to page in leaf nodes and…

I must say the problem bores me to death. I don't think I'd want to work where they ask me to solve this. However, I am confident I'd design a solution that's near perfect in the two weeks given, it just would require some experimentation on the data storage side - the code is trivial.

Re: My Favorite Engineering Interview Question

#75

I'm confused... why specify a 1 TB disk ? It doesn't seem that the problem's solution has any dependence on the aforementioned disk aside from the data it contains unless I'm misreading how he's explaining the answer?

yep, that totally threw me too. It kinda implies that you're going to be handed a physical disk with some sort of k/v store in it and you need to write some software to access it.

I immediately started thinking about seek times and elevator algorithms and that kind of stuff, which really threw me off course.

Re: My Favorite Engineering Interview Question

#76
post #71

I'm confused... why specify a 1 TB disk ? It doesn't seem that the problem's solution has any dependence on the aforementioned disk aside from the data it contains unless I'm misreading how he's explaining the answer?

Yeah, I also thought he expected to serve it all from a single disk. Hopefully in real life it gets clear in the discussion. It's a problem when asking interview questions: there are many ways in which the question may be unclear and the interviewer is mislead that the applicant can't answer. Another problem may be that the interview interferes with the thinking style of the applicant: you try to discuss it with him…

> there are many ways in which the question may be unclear and the interviewer is mislead that the applicant can't answer.

yeah, when I was interviewed for my university, they asked me to design an algorithm to work out the n'th term of the fibonnacci sequence. They repeatedly said I didn't need to use recursion or loops.

When I finally gave up, they said: well here's one way:

f(n) = f(n-1)+f(n-2)

I just looked at them and quietly said "well... yeah... I mean... obviously". By that point I was too depressed to say "but that's frickin' recursive, wtf?!?" but that's what I was screaming in my head.

Amazingly I still got offered a place.

edit: still bugs the crap out of me. Did I mis-hear them? Were they being deliberately misleading? Was it some kind of test to see how I reacted to an impossible problem[1]? Were they really expecting me to come up with some mathematical algorithm to calculate the nth term without recursion or looping? Argh!!!

[1]: actually it's not impossible: http://mathworld.wolfram.com/BinetsFibonacciNumberFormula.ht...

but I don't have a background in mathematics and they knew that.

Re: My Favorite Engineering Interview Question

#77
post #46

These types of questions are terrible interviewing techniques. An interviewer who, even jokingly, goes into the room with an interrogative mindset is fundamentally failing at the core purpose of interviewing: finding good talent, preferably relatively undervalued talent. An interviewer should not be looking for someone who mirrors their way of thinking or or their approach to solving a problem. They should be looking…

I don't understand your objection here. The question presented is a simple, open-ended question with a number of acceptable solutions. It's not even remotely "unanswerable". It's at least mildly interesting as indicated by the number of responses at a similar question on StackOverflow: http://stackoverflow.com/questions/2573653/given-a-1tb-data-... . It's not far from the problems Ning solves. It's not an "aha" probl…

I would say that having "interrogation techniques" crossed out is a pretty good indication that the author's state of mind in an interview situation is aggressive and domineering.

Re: My Favorite Engineering Interview Question

#78
post #54

Expecting a good answer to this question in 30 minutes without any warning is totally unreasonable. Expecting anyone to implement a deployable, generalizable, tested solution to this in two weeks is totally ridiculous. I wouldn't work at a place that asked questions like this or made development calendars with schedules like that.

I did this in three weeks:

http://bitbucket.org/rogueops/vinzclortho/wiki/Home

I worked on it on average two hours per day. It's not that ridiculous to believe that it would be (near) production quality in two weeks of fulltime work.

Re: My Favorite Engineering Interview Question

#79

Earlier quoted context omitted.

I don't understand your objection here. The question presented is a simple, open-ended question with a number of acceptable solutions. It's not even remotely "unanswerable". It's at least mildly interesting as indicated by the number of responses at a similar question on StackOverflow: http://stackoverflow.com/questions/2573653/given-a-1tb-data-... . It's not far from the problems Ning solves. It's not an "aha" probl…

I would say that having "interrogation techniques" crossed out is a pretty good indication that the author's state of mind in an interview situation is aggressive and domineering.

I would have said the same thing until I read the rest of the article. In context I think it's meant primarily to be funny.

The author clearly maintains some expectations about the level of response from the candidate, but overall it's designed to be interactive. Chances are that unless the candidate gives a really superior answer, it's not going to be the only question asked.

Re: My Favorite Engineering Interview Question

#80
post #46

These types of questions are terrible interviewing techniques. An interviewer who, even jokingly, goes into the room with an interrogative mindset is fundamentally failing at the core purpose of interviewing: finding good talent, preferably relatively undervalued talent. An interviewer should not be looking for someone who mirrors their way of thinking or or their approach to solving a problem. They should be looking…

> Questions like these are typically signs of bad interviewing technique, but not always depending on how they are presented.

Given that the author presents the exact question and includes a moderately lengthy discussion on how he uses the question, what is your evaluation in this specific case, rather than the general one?

Consider, for example, this comment from the article:

I’m looking for quite a few things as we go through the question. The first is their opinion of “a terabyte of data” and “5000 lookups per second.” Do they consider this to be a lot of data, or a fairly boring amount, same with the lookups per second. Leaning either way isn’t a failure, it is just information gathering for me, and referencing it against how you represented yourself in your resume, cover letter, and phone screen.

Post reply on HN