System Design Interview Questions
- 1of 1 vote
AnswersHow would you optimize an elevator system for a building with 50 floors and 4 elevators ? Optimize in terms of lowest wait times for the users. Nothing related to power consumption.
- tbag March 08, 2015 in United States| Report Duplicate | Flag | PURGE
Google Software Engineer System Design - 1of 1 vote
AnswerThis is design question. Starts with small data size and then goes with bigger data size
- um01 March 04, 2015 in United States
Design an application to retrieve the value for a key as fast as possible. The data given to you doesnt change.
You are given a data file of 1GB. Its key value data with key being bytes[]. What would be your application design.
Now assume the data set is 1 TB or greater how would you change your application design.(Distributed is a possibility).
Now assume the keys are very small. What are your optimizations.| Report Duplicate | Flag | PURGE
LiveRamp Senior Software Development Engineer System Design - 0of 0 votes
AnswersHow would you design a system to store the search history of your users?
- Ray February 14, 2015| Report Duplicate | Flag | PURGE
Adobe SDE1 System Design - 0of 0 votes
AnswersHow does Google know that you are who you say you are?
- Ray February 14, 2015 in United States| Report Duplicate | Flag | PURGE
Adobe SDE1 System Design - 0of 0 votes
AnswerHow would you design the search future in Google from frontend to backend?
- Ray February 14, 2015| Report Duplicate | Flag | PURGE
Adobe SDE1 System Design - 0of 0 votes
Answersdesign a video thumb up/down system at youtube scale. how to concurrent read/write, persistence, store, update....etc.
- rjrush January 30, 2015 in United States| Report Duplicate | Flag | PURGE
Google Software Engineer System Design - 0of 0 votes
AnswersPlease share your thoughts over this designing question (If you need any more info, pls. do let me know):
- SKJ January 20, 2015 in United States
GIVEN: Let's say we have a popular eCommerce site with lots of sellers and millions of products.
The system has a CatalogManager Service which is being called by various seller platforms to update info (attributes) about seller and it's products. For e.g. Seller can say 'Hey, my brand name has changed to New_Brand', 'Hey, My Product P1 weight has changed to 6kg'. The catalog manager service has it's own datastore and cache in place where it goes and update accordingly. Imagine the sclae of these update requests to be very high as we have thousands of sellers and millions of products and each may have 50-60 attributes which could be chaned. The CatalogManager service is able to handle all these updates smartly.
TO DESIGN:
There are various other back-end services (ShippingService, SearchService) in the system who must me notified about these changes in REAL TIME. For e.g. ShippingService must be notified by CatalogManager that 'Hey, Product P1 of seller S1 weight has changed to 6 kg'. Other example, SearchService must be notified that 'Hey, Seller S1 brand name has changed to New_Brand' so that it can change it's index to be searched.
* Design such a system which can scale & is fault tolerant ensuring all edge cases including one mentioned below:-
* Every back-end service may not be interested in all the events. It may only wish to listen subset of attributes. E.g. ShippingService may only want if product dimension related attributes change. So how will you ensure that only related messages reach to consumer services?
* How will you ensure that event message published by producer service (CatalogManager) reacheed to the related consumer service for sure and in REAL TIME?
* How can you ensure the messages passed to backend services are in sync (in order it's important)
* How to ensure that same event is not messaged twice to the consumers? Although, eventually it will result in same data state but still looking at scale of the events this would be a burden to backend system
How would you design such a system?| Report Duplicate | Flag | PURGE
Software Architect System Design - 0of 0 votes
AnswersDesign a URL system.
- JSDUDE January 16, 2015 in United States
He even wanted to know what kind of algorithm to use, improve the speed, availability etc.| Report Duplicate | Flag | PURGE
Facebook Software Engineer / Developer System Design - 1of 1 vote
AnswersDesign a TinyURL like Service.
- R@M3$H.N January 16, 2015 in India| Report Duplicate | Flag | PURGE
Amazon SDE-2 Algorithm Data Structures Problem Solving System Design - -1of 1 vote
AnswersDesign a site similar to junglee.com. Assume you are given a crawler, design a distributed system , what ds will you use , some basic api’s etc.
- sh January 12, 2015 in India| Report Duplicate | Flag | PURGE
Amazon SDE-2 System Design - 0of 0 votes
AnswerGive an architecture diagram with all entities and relationships of a multi user wysiwyg editor . basically a web interface to multiple authors who can edit and store their docs . multiple ppl should be able to save it at once . also ownership should be present for documents
- sh January 12, 2015 in India| Report Duplicate | Flag | PURGE
Amazon Software Engineer / Developer System Design - 0of 2 votes
AnswersGiven n number of legacy services with user data<userid, info, date>
- next_big_gig December 05, 2014 in United States
Design an API to return user data in a given date range, it should collect data from each service and merge and return the data sorted by date.| Report Duplicate | Flag | PURGE
Google Member Technical Staff System Design - 0of 0 votes
AnswersDesign a system that processes an infinite stream of data:
- takpez August 18, 2014 in United States for AWS
- each record comes as a tuple(url, html content)
- extract and store the occurences of:
urls, hosts, top-level-domains, in/out links of the page
We have one machine that has enough disk space but limited memory.
What data structures as building blocks would you use?| Report Duplicate | Flag | PURGE
Amazon Software Engineer / Developer System Design - 0of 0 votes
Answersin a Hadoop-like system, how do we manage multiple nodes collaborating together without having a master node?
- Itcecsa August 13, 2014 in United States
my answer was running a back end job to randomly select a node to be a master node; and whenever the master node goes down, the backend job select a new node.| Report Duplicate | Flag | PURGE
Bloomberg LP Senior Software Development Engineer System Design - 0of 2 votes
AnswersDesign a system like friend's functionality in facebook. should have all features of facebook's friends functionality. like for each person , he can have any number of friends , he will get suggestions for new firends , showing common friends if we visits any other profile . algo should be scalable , robust .
- gopi.komanduri August 02, 2014 in United States| Report Duplicate | Flag | PURGE
Computer Scientist Algorithm Android Application / UI Design Arrays Bit Manipulation C# C++ Cache Coding Computer Architecture & Low Level Data Mining Data Structures Database Distributed Computing Dynamic Programming Hash Table Java Large Scale Computing Linked Lists Math & Computation Object Oriented Design Problem Solving Sorting SQL Stacks System Design Trees and Graphs XML - 0of 0 votes
AnswerIf we're given a project budget and limit of completion that is 6 months, then which approach is good, requirements capture, req analysis through modelling, detailed analysis or feasibility analysis?
- rajansoni56 July 26, 2014 in India| Report Duplicate | Flag | PURGE
Student student System Design - 1of 1 vote
AnswerDesign software system for a multiplex assuming database server is available - List requirements, DB tables design, APIs. Follow up question how to integrate with third party ticketing systems? how to pass seats availability to ticketing systems?
- Arudham July 26, 2014 in India| Report Duplicate | Flag | PURGE
Amazon Program Manager System Design - 0of 2 votes
AnswersNeed to implement something like pastebin wherein you paste some text, you are given an url. The url can be used anywhere to access the text.
- kenadams.awesome May 18, 2014 in India
Various problems, features and design of this architecture were discussed.| Report Duplicate | Flag | PURGE
Google SDE1 System Design - 0of 0 votes
AnswersDesign a mobile app which based on the current location suggests Interesting places to the user. We already have a set of interesting places stored. The focus is on getting the nearby places say in radius of 100 Miles from current location quickly.
- hulk April 29, 2014 in India
The interviewer is mainly interested on how to store the interesting locations in a DB.| Report Duplicate | Flag | PURGE
Infibeam SDE-2 System Design - 0of 0 votes
AnswersDesign and code the logic software for an elevator, pretending like the hardware is already there for you with the following APIs:
- valheru April 23, 2014 in United States
- OpenDoor()
- GotoFloor()| Report Duplicate | Flag | PURGE
Big Fish iOS Developer System Design - 1of 1 vote
AnswersDesign a web-site like Paypal.
- hulk April 21, 2014 in India
The interviewer was interested in the
i) Major components & the way they will interact.
ii) Various way of scaling the web-site to support many users
iii) Handling the failure cases like when the DB goes down, etc.| Report Duplicate | Flag | PURGE
Amazon SDE-2 System Design - 1of 1 vote
AnswersI attended a telephonic round for appstore testing and successfully cleared this round. Following was the First question(apart from tell me abt yourself,etc):
- i_learn April 11, 2014 in India for for appstore
Give me all possible test cases for gmail registration page.| Report Duplicate | Flag | PURGE
Amazon Testing / Quality Assurance Android Application / UI Design System Design test Testing - 0of 2 votes
AnswersWrite a class that displays average of stock prices for a given stock symbol for the last 10 minutes. We have a service that sends stock updates about 5000 times per second. The structure of the message is :
- budsiya March 21, 2014 in United StatesMessage { long timestamp; String symbol; // E.g. AAPL double price; }
| Report Duplicate | Flag | PURGE
Yahoo Software Engineer / Developer Large Scale Computing System Design - -4of 8 votes
AnswersWhat would happen if you have only one server for a web cache (a web browser cache whose key is url and value is the loaded content of the webpage) but huge numbers of clients? And how would you solve it? Assume the cache is implemented with a hashmap and a linkedlist.
- Guy March 06, 2014 in United States| Report Duplicate | Flag | PURGE
Google Software Engineer / Developer System Design - -4of 6 votes
Answera Bunch of devices....u can share files etc.,..each device might support only some limited
- cvb February 20, 2014 in India
format of files. A common server hosting all the files repository.| Report Duplicate | Flag | PURGE
Myntra Senior Software Development Engineer System Design - -5of 7 votes
AnswersHow would you split a search query across multiple machines?
- Guy February 10, 2014 in United States| Report Duplicate | Flag | PURGE
Google Software Engineer / Developer System Design - -3of 5 votes
AnswersHow does trie handle scalability as opposed to hashtable? Assuming it is used for a dictionary. Sclability here should cover large size of input, running out of memory, or even running out of memory on multiple machines if distributed system is used.
- Guy February 06, 2014 in United States| Report Duplicate | Flag | PURGE
Google Software Engineer / Developer System Design - 5of 9 votes
AnswersWrite a Program for Dictionary which has functionality of lookup and insert . This program should be able to add words on the fly
- Guy February 05, 2014 in United States
I wrote simple code using HashTable
follow up
1) Now we are getting too many words what happens
me: Hashtable will dynamically resize resulting into performance hit . Also they might get hashed to same location as well as we might run out of main memory
2) Okay you are out of main memory , How will you scale this program
me: I will create buckets of HashTable lets say 26 buckets for one for each alphabet and would put them on different machines
3) Lets say you are out of memory on those machines too
me: Okay I need to put them on secondary storage . Here we can have fileSystem or Database . I chose database . I will create simple DB schema of BucketNumber and word .
I will use buckets on main memory as cache , if we are not able to find a word in the bucket then query databse with bucket number and words then remove the least number times looked up word (every time we lookup a word we increament the count i.e value in key,value pair on hashtable) from that bucket and add this word .
I mentioned that bottleneck in this case will be every time a word is not present we need to query DB which usually has high latency which will result into performance hit
4) Lets say we are okay with latency but what if we are getting inserting words between that are only between only in two buckets ex. words starting from a and b only.
Now that I think about it, is it better to do this in a trie? What do you guys think?| Report Duplicate | Flag | PURGE
Amazon Software Engineer / Developer System Design - 0of 0 votes
AnswerWhat are design patterns?
- barrysingh1108@googlemail.com February 01, 2014 in UK| Report Duplicate | Flag | PURGE
Sage Software Intern System Design