File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How to design a web based email system?

 
Pat Sun
Greenhorn
Posts: 8
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all I came across Amazon's interview questions and found this one is interesting, does anyone have some idea on how to answer it?

Design a web based email system. Describes pieces, components, design, large scale, and use case
 
Gerald Davis
Ranch Hand
Posts: 872
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there such a thing as domains specific design patterns? It would be nice if you could just choose a domain specific design off the shelf.
 
Pat Sun
Greenhorn
Posts: 8
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought, due to the wide use of web based email system, there should be some very mature and typical patterns. But I googled for the whole day and did not find what I want.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Reusable domain designs would be cool, wouldn't they?

Ed Yourdon, one of the fathers of "Structured Stuff" predicted a market for domain data flow diagrams and other design artifacts that could be plugged into a CASE tool as a starting point or to generate reference systems. It never happened. He also predicted the death of the "American Programmer". Also never happened. Yet.

My company once looked into a very expensive database domain model for party management from IBM. It was so generalized the lead DBA said it all started from the "two-legged mammal" table.

How long did Amazon give for an answer? Long enough to start from user stories? I wonder what they wanted. Hard to tell if they wanted to see how you work out a design or to see how much you know about e-mail systems.
 
Pat Sun
Greenhorn
Posts: 8
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It was not from my interview. I came across this problem on a guy's website saying he was asked this question during the phone interview; and I found it kinda challenging. Since it's a phone interview, I guess there was no time for you to think, and you have describe everything without the help of a white board.
Can someone let me know what compoents a web based email system includes, and what the design would look like?
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Sarah SP:
Can someone let me know what compoents a web based email system includes, and what the design would look like?


Not without a white board...
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Sarah SP:
I thought, due to the wide use of web based email system, there should be some very mature and typical patterns. But I googled for the whole day and did not find what I want.


Mhh, currently I don't see that a web based email system significantly differs from other web based CRUD applications, besides the additional sending and receiving of emails, of course. So probably the typical web application patterns apply?
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Gerald Davis:
Is there such a thing as domains specific design patterns?


That would be Analysis Patterns. Martin Fowler wrote a book about it. I don't remember anything about web based email in it, though.

It would be nice if you could just choose a domain specific design off the shelf.


Unless designing a *better* system than your competition is what you try to make money with...
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic