is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.
CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.
Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.
Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.
gmail is complex platform. bunch of things are involved in it.
- Emon January 06, 2016on very high level , there are GUI and Backend.
Some GUI actions will manipulate GUI only other needs to be sent to backed.
Backend will consist of business logic layer, persistent layer (+ database)
Database design:
for sake of simplicity lets say we maintain, 3 tables of mails associated with email id.
1.Received
2.Sent
3.Contacts relationships
(1 and 2 can be merged by adding extra columns but search will slow down )
One table having adjacency relationship with mail id and mails and another table with mail id and list of its contacts .
Business layer, has an User object, which has following attributes:
email id
list of mails in box (maintains top 100)
list of contacts
list of sent mails (maintains top 50)
this object is sent to GUI on authentication and browser renders them as we see it today.
of course there are tons of features I have left out,but hope you get an idea.