Live data from Hacker News

The Mother of All Interview Questions

raganwald.posterous.com

111–120 of 136 posts

Re: The Mother of All Interview Questions

#111

Earlier quoted context omitted.

The question of bias is an excellent one to ponder. I agree that my phrasing is biased, but so is: The last three times you faced a "build or buy (/use open source)” situation, which did you choose, and why? ...in a way, as it only covers places where there is a perception that there was a straight-up choice. One of the things I am interested in is places where the invetion-oriented folks didn’t perceive there was a…

When I was at Google I wished they had a few 'uncoders', people who made it their goal in life to leave the source tree with fewer lines of source than they found it. True story: I went to a talk given by one of the 'engineering elders' (these were low Emp# engineers who were considered quite successful and were to be emulated by the workers :-) This person stated when they came to work at Google they were given the…

It seems to primarily be an ego issue. This person must of thought that since he/she is so smart any system that isn't understood obviously shouldn't exist.

Re: The Mother of All Interview Questions

#112

Earlier quoted context omitted.

The question of bias is an excellent one to ponder. I agree that my phrasing is biased, but so is: The last three times you faced a "build or buy (/use open source)” situation, which did you choose, and why? ...in a way, as it only covers places where there is a perception that there was a straight-up choice. One of the things I am interested in is places where the invetion-oriented folks didn’t perceive there was a…

When I was at Google I wished they had a few 'uncoders', people who made it their goal in life to leave the source tree with fewer lines of source than they found it. True story: I went to a talk given by one of the 'engineering elders' (these were low Emp# engineers who were considered quite successful and were to be emulated by the workers :-) This person stated when they came to work at Google they were given the…

One of my new favorite interview questions is: When researching how to integrate a feature, you come across a chunk of code that is atrocious, but unrelated to your feature - what do you do? The answer can be very telling.

Re: The Mother of All Interview Questions

#113

Earlier quoted context omitted.

When I was at Google I wished they had a few 'uncoders', people who made it their goal in life to leave the source tree with fewer lines of source than they found it. True story: I went to a talk given by one of the 'engineering elders' (these were low Emp# engineers who were considered quite successful and were to be emulated by the workers :-) This person stated when they came to work at Google they were given the…

One of my new favorite interview questions is: When researching how to integrate a feature, you come across a chunk of code that is atrocious, but unrelated to your feature - what do you do? The answer can be very telling.

My first counter question would be "Do I have access to the original coder?" ;)

Re: The Mother of All Interview Questions

#114
post #108

Earlier quoted context omitted.

When I was at Google I wished they had a few 'uncoders', people who made it their goal in life to leave the source tree with fewer lines of source than they found it. True story: I went to a talk given by one of the 'engineering elders' (these were low Emp# engineers who were considered quite successful and were to be emulated by the workers :-) This person stated when they came to work at Google they were given the…

The only time I was ever fired from a job, it was for doing this. I rewrote an entire web crawler stack using parallel event driven programming, yielding a crawler that could crawl the same number of sites they currently needed 10+ EC2 instances for on my laptop without breaking a sweat. I did it in a one-week + weekend maniac code binge. I was a little peeved, but looking back not so much. I was receiving pressure a…

I did the exact same thing a while back. The company I worked with used 4 fully-loaded servers driving Java spiders while I used 2 y/o laptop and 100 lines of Erlang.

Showed the code to my manager, he left the room saying I should do some "real" sysadmin work and stop playing around.

Just for a test, I started spidering big local news sites with I think 10000 threads and left it running for about 15 minutes.

Two things happened: 1. I consumed all bandwidth, rendering Internet unusable for the whole company, and 2. got about 10% of data other 4 Java servers could gather in a day

This stunt didn't get me fired, but my manager insisted I delete the program I wrote. Nobody was interested in results I got so nothing happened.

But it was fun watching bandwidth usage RRD graphs go through the roof :)

Re: The Mother of All Interview Questions

#115
post #50

Earlier quoted context omitted.

I hate to depart from the group think, but there's another explanation aside from a smart engineer getting carried away with their own brilliance: They remarked how they spent a couple of days looking over the system which was complicated and creaky, they couldn't figure it out Now it may be the case that they didn't really try to fix it and are just using that as an excuse, but OTOH, they may actually have been stum…

Indeed. If i cannot understand a system (in my field) in a couple of days (depending on the size), and have been asked to work on it, chance is i'll ask for a rewrite, with documentation and readable code. If your system is not readable and undocumented, don't blame the guy who will come and decide to rewrite it.

So you have a legacy system that is being used by other systems, you're the new super genius and can't understand the system, so you rewrite? Discounting the potential release iterations and bug fixes that are in the legacy system? Your "improved" version can't include that knowledge since you didn't understand the legacy system. Also discounting the company wide knowledge of the legacy system, warts and all that exists? Also having two identical systems isn't fantastic. Rewriting a system because someone can't understand it is rarely the correct solution. It most likely means the rewriter doesn't understand the problems that are being solved by the legacy system either.

Re: The Mother of All Interview Questions

#116
Here's a metaphor about a special case where invention is justified.

Suppose you have no cell phone and you need to get to your mad science lab before your apprentice does so that you can lock up the monster you created the night before — otherwise it will eat him. You spot him ten cars ahead of you on the two-lane highway, but he doesn't notice you.

It is 100% guaranteed that he will arrive at the lab before you if you stay behind him on the highway. Then the monster will eat him.

There's a shortcut to the mad science lab through the back roads. Usually the highway is faster, but every once in a while the highway has a traffic jam and the back roads don't. If you take the back roads, you have a 30% chance of reaching the lab before your apprentice.

30% is better than 0%, so that's what you should do. Even though the back roads are probably slower, they're your only possible way to win the race.

In a business context, you may find yourself competing against an incumbent strictly on the basis of their core competency. If you have no way out of that situation, one possible strategy is to pursue an angle of development that is simply different from theirs — even if your best knowledge suggests that their angle is probably the best one. Your only hope is that they run into an unexpected traffic jam on the road they're taking, and that you're on a different road.

My reading is that this is basically the story of AMD64. As I understand it, mainstream opinion in the late 90s and early 2000s was that we were going to have to import some version of VLIW's explicit ILP into CPU design in order to keep getting single-threaded performance improvements, so that was what Intel went with for their 64-bit CPU architecture. AMD announced their alternative path, hobbling themselves with backward compatibility, in 1999.

They got lucky: Intel's "Itanium" turned out to be an Itanic; it hit a performance iceberg and sank, and since 1999, AMD64 has become the mainstream CPU architecture, displacing not only i386, but also PowerPC, SPARC, Alpha, MIPS (except in the very low-end), PA-RISC, POWER, System 360, AS/400, and half a dozen vector supercomputer architectures. (Alpha, PA-RISC, and the AS/400 aren't even on the market any more. SPARC, POWER, System 360, and vector supercomputers are still available, but most of their uses have been replaced with AMD64, running Linux.)

Re: The Mother of All Interview Questions

#117
post #114
post #108

Earlier quoted context omitted.

The only time I was ever fired from a job, it was for doing this. I rewrote an entire web crawler stack using parallel event driven programming, yielding a crawler that could crawl the same number of sites they currently needed 10+ EC2 instances for on my laptop without breaking a sweat. I did it in a one-week + weekend maniac code binge. I was a little peeved, but looking back not so much. I was receiving pressure a…

I did the exact same thing a while back. The company I worked with used 4 fully-loaded servers driving Java spiders while I used 2 y/o laptop and 100 lines of Erlang. Showed the code to my manager, he left the room saying I should do some "real" sysadmin work and stop playing around. Just for a test, I started spidering big local news sites with I think 10000 threads and left it running for about 15 minutes. Two thin…

Interesting, the link to your blog in your profile goes to a parked domain (just FYI).

I hear these sorts of tales occasionally and I recognize a manager who is out of their league when comes to keeping someone with your skill set engaged. If crawling the big local news sites was something useful for the company, moving your application to a hosted machine where it had access to more bandwidth would have been a start, of course a demonstration is just that, a demonstration. The next step which is a bit harder might be to crunch the data into some sort of data structure for later analysis.

If this is the kind of problem you enjoy working on and are in the SF Bay area we should talk :-)

Re: The Mother of All Interview Questions

#118
post #108

Earlier quoted context omitted.

The only time I was ever fired from a job, it was for doing this. I rewrote an entire web crawler stack using parallel event driven programming, yielding a crawler that could crawl the same number of sites they currently needed 10+ EC2 instances for on my laptop without breaking a sweat. I did it in a one-week + weekend maniac code binge. I was a little peeved, but looking back not so much. I was receiving pressure a…

a startup fired you for showing initiative and doing more with less? messed up.

IMHO, I think they really fired me because I one of the co-founders didn't like me because graduated from the University of Cincinnati instead of MIT, Stanford, Harvard, etc.

I figured this out later when I checked their blog and he had prominently mentioned how they like to make sure their candidates are the "right people" from the "right schools." It was a very explicit statement, essentially that being from the "right school" is part of being the "right person."

I encountered this a lot in Boston actually, to the point that I developed a complex about how I couldn't really do anything because I hadn't gone to Harvard. Then I moved away and realized that the rest of the world outside this bubble doesn't care about that.

Re: The Mother of All Interview Questions

#119
post #50

Earlier quoted context omitted.

I hate to depart from the group think, but there's another explanation aside from a smart engineer getting carried away with their own brilliance: They remarked how they spent a couple of days looking over the system which was complicated and creaky, they couldn't figure it out Now it may be the case that they didn't really try to fix it and are just using that as an excuse, but OTOH, they may actually have been stum…

Indeed. If i cannot understand a system (in my field) in a couple of days (depending on the size), and have been asked to work on it, chance is i'll ask for a rewrite, with documentation and readable code. If your system is not readable and undocumented, don't blame the guy who will come and decide to rewrite it.

And chance is, when you meet the 62k rows of code authentication system that is way too complicated and does way too much, that you will not be permitted to rewrite it in a more sane and modular way.

Re: The Mother of All Interview Questions

#120
post #38

Earlier quoted context omitted.

Yeah, the language is a little pretentious but I believe that's the sort of invention they're looking for

No, I don't think so. I don't think the question presumes that inventing is a good thing and not inventing is a bad thing. In fact, here, you would probably say that the current work does not involve inventing things, but rather putting existing things together. That's supposed to be a valid answer, as well, and a useful one.

What sort of invention is NOT putting existing things together? In fact, to me that sounds like as good a definition of "invention" as any.
Post reply on HN