Amazon.com
3.4 of 5 2,795 reviews
www.amazon.com Seattle, WA 5000+ Employees

Amazon.com Software Design Engineer Interview Question

I interviewed in Seattle, WA and was asked:
"Design an email sender that can send 100,000,000 emails. You have 5 machines how could you do it efficiently."
Tags: programming, design
Add Tags [?]
Answer Flag Question

Part of a Software Design Engineer Interview Review - one of 4,129 Amazon.com Interview Reviews

Answers & Comments

0
of 0
votes
Need to discuss where the performance bottlenecks are and how to mitigate them.
- Interview Candidate on Mar 19, 2009 Flag Response
1
of 1
vote
You could probably have your input application send messages to a clustered queue. There are 5 servers running on the 5 machines, each server with its own MDB. The MDB would then pick it up from the JMS queue and send it to the recipient. The queue depth of the intermediate queue should be sufficient enough to allow sufficient buffer so that you dont have to worry about your input program putting messages at a much faster rate than the MDBs can process.
- Rajiv on Aug 21, 2010 Flag Response
0
of 0
votes
use worker threads aka. Executors they have internal job queues that worker threads pick on. Provides high parallelism
- dantepy on Apr 30, 2011 Flag Response

To comment on this question, Sign In with Facebook or Sign Up


Tags are like keywords that help categorize interview questions that have something in common.

Glassdoor is your free inside look at Amazon.com interview questions and advice. All interview reviews posted anonymously by Amazon.com employees and interview candidates.