Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

tdenkinger (88)

tdenkinger
  (email not shown publicly)
Thursday November 30, 2006
10:55 AM

Amazon Interview

[ #31768 ]
So, my current employer is making it clear my business unit will soon be dissolved. Apparently advertising-based internet operations are à la mode, and having actual paying subscribers to a decent service is passé. So not too long ago I interviewed at Amazon. After two technical phone interviews, I was brought to Seattle for a day of in-person interviews.

Things went generally pretty well, though I didn't get an offer. One of the interview sessions stands out as particularly bad, and I'm sure that had a big impact on their decision.

The interviewer asked me to write a function that would turn a number into words. The upper bounds for the exercise was 100,000,000,000. So, 1,025 should become "one thousand twenty-five". I was told to use any "first tier" language, "C, C++, Java". He agreed that Perl would be fine too.

When I look at this exercise, I see a word problem, not a number problem. Divide the number up into three character chunks (with a possible element less than three characters) and turn that into words. It's basically "commify" with a twist.

So, I set about writing a little code on the whiteboard. First, I reversed the string (the number) and started iterating over it pulling out chunks with a substr(). My goal was to get the three char chunks into an array. I know there are better ways to do this, but under stress I took the route I thought of first.

I was stopped by the interviewer almost immediately and was asked why I was treating the number as a string. For a moment the question didn't even make sense to me. Had I been thinking clearly and not been confused, I might have asked him why it shouldn't be treated as a string. Mostly I just stammered and blew the rest of the interview.

The solution he was looking for used "% 1000" to get the chunk followed by "/ 1000" to set the number up for the next call to the modulus. It's possible I would never have gotten to that solution without prodding from the interviewer.

The whole experience was humbling, but not terrible. I learned a bit about Huffman coding from another interviewer and implementing database-based linked lists from another.

I also got really good insight into some interviewing techniques that maybe I'll be able to use sometime.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • When I was a junior admin, I was sent on an interview to UUNET. I thought cool. I walked into the room with 5 senior UUNET admins. It was not fun to say the least. I doubted my very existence after that one.