Amazon Interview Question for Software Developers


Country: India
Interview Type: In-Person




Comment hidden because of low score. Click to expand.
1
of 1 vote

It is a very open ended and a generic question which can be answered in multiple dimensions

1. Based on various personas who use the play store. a. End users from mobile apps. b. Google apps operations team c. Google apps quality/validation team to ensure apps adhere to certain rules and have defined quality c. Google analytics team members d. Application developers e. Google security and system administrators

System design with multiple components, 1 APIs to upload and download applications 2.
Backend services to store data and corresponding metadata, files etc... 3 Systems to monitor application metrics and service availability 4. Caches to serve customers from various geographies 5. Application servers 6. Load balancers 7. Replicated read servers as there will be more read than writes 8. UI that works across multiple device formats, operating systems 9. Administration and Management tools to work with the backend systems 10. Backend services which certify applications for functionality, security(viruses etc...) You can expand functionality for localization , globalization etc... application compatibility ;;; I did not even mention about payment module.


Another approach is to draw database schema for the Backend database and APIs that will access this data.

- Andrew November 29, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

It is a very open ended and a generic question which can be answered in multiple dimensions

1. Based on various personas who use the play store. a. End users from mobile apps. b. Google apps operations team c. Google apps quality/validation team to ensure apps adhere to certain rules and have defined quality c. Google analytics team members d. Application developers e. Google security and system administrators

System design with multiple components, 1 APIs to upload and download applications 2.
Backend services to store data and corresponding metadata, files etc... 3 Systems to monitor application metrics and service availability 4. Caches to serve customers from various geographies 5. Application servers 6. Load balancers 7. Replicated read servers as there will be more read than writes 8. UI that works across multiple device formats, operating systems 9. Administration and Management tools to work with the backend systems 10. Backend services which certify applications for functionality, security(viruses etc...) You can expand functionality for localization , globalization etc... application compatibility ;;; I did not even mention about payment module.

- Andrew November 29, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

Design Problem
1. Design App store
Requirement
- App files can be uploaded
- App category is selected by the uploader
- Uploader should have a profile
- App should provide the details what all resources are needed
- App should provide keyword to search
- App uploader should provide cost of the app
- App will have following attributes
Category
Name
Cost
Number of downloads
Likes
Comments
- The above information will be part of the search system, and will be used when the search is performed.
- When the user selects an app, it will be downloaded. In the App database following information should be added
App name
User age
Location
These information has to be used for analytics and should be stored in OLAP data repository
- When the App is downloaded then some money is transfered this transactional data has to be stored in OLTP RDMS system

Data Storage
1. For application search, document search system like elasticsearch is good fit. For each of the App, a JSON document is created. In the mapping file of Elasticsearch a weightage is assigned to attributes for search ranking. A user who is looking for an app in the store will will be served by search system.

2. App binaries: BLOB in RDBMS system

3. Purchase Data: This is transactional data and should be stored in the OLTP system like MySQL.

4. App consumer’s data: This is data is used by App owners for analysis and business intelligence. This should be stored in Hive.

Services
1. Search service: Restendpoint for Elasticsearch services
2. Upload Service: Store the Binary in Blob and insert one document in Elasticsearch.
3. Payment service
4. Download Service

- Anshuman August 15, 2018 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

Design Problem
1. Design App store
Requirement
- App files can be uploaded
- App category is selected by the uploader
- Uploader should have a profile
- App should provide the details what all resources are needed
- App should provide keyword to search
- App uploader should provide cost of the app
- App will have following attributes
Category
Name
Cost
Number of downloads
Likes
Comments
- The above information will be part of the search system, and will be used when the search is performed.
- When the user selects an app, it will be downloaded. In the App database following information should be added
App name
User age
Location
These information has to be used for analytics and should be stored in OLAP data repository
- When the App is downloaded then some money is transfered this transactional data has to be stored in OLTP RDMS system

Data Storage
1. For application search, document search system like elasticsearch is good fit. For each of the App, a JSON document is created. In the mapping file of Elasticsearch a weightage is assigned to attributes for search ranking. A user who is looking for an app in the store will will be served by search system.

2. App binaries: BLOB in RDBMS system

3. Purchase Data: This is transactional data and should be stored in the OLTP system like MySQL.

4. App consumer’s data: This is data is used by App owners for analysis and business intelligence. This should be stored in Hive.

Services
1. Search service: Restendpoint for Elasticsearch services
2. Upload Service: Store the Binary in Blob and insert one document in Elasticsearch.
3. Payment service
4. Download Service

- Anshuman August 15, 2018 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

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.

Learn More

Resume Review

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.

Learn More

Mock Interviews

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.

Learn More