3.4 of 5 2,795 reviews Seattle, WA 5000+ Employees 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 Interview Reviews

Answers & Comments

of 0
Need to discuss where the performance bottlenecks are and how to mitigate them.
- Interview Candidate on Mar 19, 2009 Flag Response
of 1
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
of 0
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 interview questions and advice. All interview reviews posted anonymously by employees and interview candidates.