"I started off with defining the users of the system. From them i dervied the functional requirements and categories into MoSCoW. Then for the DB part, Userprofiles, App data to be stored in a RDBMS. The binary apps to be stored in a scalable, distributed DB such as S3. The app data from RDBS to have a link to S3 URLS.
Then i touched upon Partition tolerance while scaling, Replication, Caching at multiple levels, Load balancers at multiple levels.
This being my first System design interview i"
Anand K. - "I started off with defining the users of the system. From them i dervied the functional requirements and categories into MoSCoW. Then for the DB part, Userprofiles, App data to be stored in a RDBMS. The binary apps to be stored in a scalable, distributed DB such as S3. The app data from RDBS to have a link to S3 URLS.
Then i touched upon Partition tolerance while scaling, Replication, Caching at multiple levels, Load balancers at multiple levels.
This being my first System design interview i"See full answer
"Manage Programs that are in flight
Track the progress vs Plan and see if things are on track, falling behind
Monitor Risks and update current and any new risks identified and mitigation approach
Communicate updates to stakeholders (weekly/biweekly as agreed)
Communicate status to peer TPM and partnering teams
Daily sync with Engg (like a timeboxed daily Standup to understand Daily Plan and any impediments raised that need resolving)
Facilitate Reviews with Product Manager as features"
Adib M. - "Manage Programs that are in flight
Track the progress vs Plan and see if things are on track, falling behind
Monitor Risks and update current and any new risks identified and mitigation approach
Communicate updates to stakeholders (weekly/biweekly as agreed)
Communicate status to peer TPM and partnering teams
Daily sync with Engg (like a timeboxed daily Standup to understand Daily Plan and any impediments raised that need resolving)
Facilitate Reviews with Product Manager as features"See full answer
"Know your audience
Understand who the end user is and their role within the organization. Adapt technical lingo to lingo that can be understood by the end user. Diagrams of functions with less dense text is helpful for non-technical users. If it presents like a Manual, that's a turnoff. If it presents like a Guide, non-technical people can follow it.
Simplify the problem
By simplifying the problem you can explain it to your client in her/his own words. Try to use examples from the client'"
Sadhana U. - "Know your audience
Understand who the end user is and their role within the organization. Adapt technical lingo to lingo that can be understood by the end user. Diagrams of functions with less dense text is helpful for non-technical users. If it presents like a Manual, that's a turnoff. If it presents like a Guide, non-technical people can follow it.
Simplify the problem
By simplifying the problem you can explain it to your client in her/his own words. Try to use examples from the client'"See full answer
"Define the goal of the experiment. What do you want to test? Are you trying to improve conversion rates, increase engagement, or something else?
Identify the variables to test. What are the different options that you want to test? For example, if you are testing different call-to-action buttons, your variables would be the different button text and colors.
Set up the experiment. This involves creating two versions of the app or website, one for each variation of the variable that you are testi"
Praful B. - "Define the goal of the experiment. What do you want to test? Are you trying to improve conversion rates, increase engagement, or something else?
Identify the variables to test. What are the different options that you want to test? For example, if you are testing different call-to-action buttons, your variables would be the different button text and colors.
Set up the experiment. This involves creating two versions of the app or website, one for each variation of the variable that you are testi"See full answer
Product Manager
Technical
🧠Want an expert answer to a question? Saving questions lets us know what content to make next.
"A full stack developer could be summarized as the person who both writes the APIs and consumes the APIs. They are familiar with Databases/Data-layer services, middle-layer/application services and business logic, and finally familiar with the consumers whether front-end applications/UIs or other systems. They can understand the trade-offs up and down the stack, where to adjust along the service-call-path. Ideally they are comfortable programming both async calls (front end javascript promises, e"
Luke P. - "A full stack developer could be summarized as the person who both writes the APIs and consumes the APIs. They are familiar with Databases/Data-layer services, middle-layer/application services and business logic, and finally familiar with the consumers whether front-end applications/UIs or other systems. They can understand the trade-offs up and down the stack, where to adjust along the service-call-path. Ideally they are comfortable programming both async calls (front end javascript promises, e"See full answer
"licensing violations for mis-use, integrity of the data (how often is data refreshed), unstructured/garbage data, potential to download virus, mis-interpreted data, unreliability of system (i.e. 3rd party unplanned downtime),"
Tiffanie K. - "licensing violations for mis-use, integrity of the data (how often is data refreshed), unstructured/garbage data, potential to download virus, mis-interpreted data, unreliability of system (i.e. 3rd party unplanned downtime),"See full answer
"Assuming that trades will have information like
trade_type buy or sell
trade_price
with these tuples, one can iterate over each trade while maintaining a stack which maintains all the open buy trades.
If we encounter a sell trade then we pop one element make it a buy/sell pair and calculate the profit/loss for that pair. Moreover, keep adding pair-wise profit/loss to calculate overall profit as we continue iterating over trades.
At the end print pairs and their profit/loss along with"
Parth S. - "Assuming that trades will have information like
trade_type buy or sell
trade_price
with these tuples, one can iterate over each trade while maintaining a stack which maintains all the open buy trades.
If we encounter a sell trade then we pop one element make it a buy/sell pair and calculate the profit/loss for that pair. Moreover, keep adding pair-wise profit/loss to calculate overall profit as we continue iterating over trades.
At the end print pairs and their profit/loss along with"See full answer
"My company was acquired and I was responsible for planning and managing a transition & integration of custom real-time time-series data and event capture software.
I worked with lab scientists (who were running the instruments from which the data would be captured) to understand their unique needs compared to the use cases the software was originally written and deployed for.
I wrote proposals for integrating specific components of the software and abandoning others, receiving review and a"
Marwan O. - "My company was acquired and I was responsible for planning and managing a transition & integration of custom real-time time-series data and event capture software.
I worked with lab scientists (who were running the instruments from which the data would be captured) to understand their unique needs compared to the use cases the software was originally written and deployed for.
I wrote proposals for integrating specific components of the software and abandoning others, receiving review and a"See full answer
"In order to train a machine learning model for license plate detection, which is essentially image recognition, I would first need a large labeled dataset of images featuring license plates. From hereon, I would use a model architecture suitable for image-related tasks, like CNNs (Convolutional Neural Networks).
When it comes to deploying the model, I would first optimize it, aiming for the best balance between speed and accuracy. Depending on the specifications, the model could be deployed eith"
Surbhi G. - "In order to train a machine learning model for license plate detection, which is essentially image recognition, I would first need a large labeled dataset of images featuring license plates. From hereon, I would use a model architecture suitable for image-related tasks, like CNNs (Convolutional Neural Networks).
When it comes to deploying the model, I would first optimize it, aiming for the best balance between speed and accuracy. Depending on the specifications, the model could be deployed eith"See full answer
"I will compromise on the statistical parameters up to some extent (significance value and test power) and complete the test."
Naga M. - "I will compromise on the statistical parameters up to some extent (significance value and test power) and complete the test."See full answer
"My preference would likely be server-side deployment given the specification of millions of users. However, it is worth considering a hybrid model too; where basic, non-sensitive, and less compute intensive tasks are processed on the client-side, while the heavy-duty processing is done on the server side.
The main advantage of client-side deployment is it can work in real-time and offline. It also significantly reduces the load on your servers, making it more efficient in handling other tasks. N"
Surbhi G. - "My preference would likely be server-side deployment given the specification of millions of users. However, it is worth considering a hybrid model too; where basic, non-sensitive, and less compute intensive tasks are processed on the client-side, while the heavy-duty processing is done on the server side.
The main advantage of client-side deployment is it can work in real-time and offline. It also significantly reduces the load on your servers, making it more efficient in handling other tasks. N"See full answer
"Establish more servers on regional bases or locally and move network traffic to these servers instead of keeping on one server."
Parth P. - "Establish more servers on regional bases or locally and move network traffic to these servers instead of keeping on one server."See full answer
"The first part is to design with either a linked list of IDs or an array of boolean values. The second part is to optimize both time and memory."
Seamus L. - "The first part is to design with either a linked list of IDs or an array of boolean values. The second part is to optimize both time and memory."See full answer
"Determine the requirements
Perform basic checks on the frontend before submitting to the server
Length
Check for invalid or required characters
Client-side validation messaging
Perform more advanced checks on the server if required
Does the password include the user's name, etc
Handle server-side validation messaging"
Casey C. - "Determine the requirements
Perform basic checks on the frontend before submitting to the server
Length
Check for invalid or required characters
Client-side validation messaging
Perform more advanced checks on the server if required
Does the password include the user's name, etc
Handle server-side validation messaging"See full answer
"Started at 1.48
Clarifying question:
Are we interested in a particular lens for this problem?
Looking back in history to understand what significant changes did fast internet made in the world:
-> Fast Internet - More consumption
-> Fast Internet - More Adoption
-> Fast Internet - Cheap Internet
Let's try to see what kind of things will change in each of these categories. Let me look at it from a lens of an end user (internet consumer uses the internet for work and maintaining their socia"
Anubhav A. - "Started at 1.48
Clarifying question:
Are we interested in a particular lens for this problem?
Looking back in history to understand what significant changes did fast internet made in the world:
-> Fast Internet - More consumption
-> Fast Internet - More Adoption
-> Fast Internet - Cheap Internet
Let's try to see what kind of things will change in each of these categories. Let me look at it from a lens of an end user (internet consumer uses the internet for work and maintaining their socia"See full answer
"The single forward slash xpath is called the absolute xpath. The double forward slash is called the relative xpath. The double forward slash xpaths are the most preferrable ones as it directly points to the object by its name, id, label etc."
Santhiya V. - "The single forward slash xpath is called the absolute xpath. The double forward slash is called the relative xpath. The double forward slash xpaths are the most preferrable ones as it directly points to the object by its name, id, label etc."See full answer
"Set clear goals- What do you want to achieve by learning this new technology? Are you trying to build a specific project, or are you just interested in learning more about it? Having clear goals will help you stay motivated and focused.
Find a good learning resource There are many different ways to learn a new technology. You can take online courses, read books, or watch tutorials. Find a resource that fits your learning style and budget.
Start with the basics- Don't try to"
Praful B. - "Set clear goals- What do you want to achieve by learning this new technology? Are you trying to build a specific project, or are you just interested in learning more about it? Having clear goals will help you stay motivated and focused.
Find a good learning resource There are many different ways to learn a new technology. You can take online courses, read books, or watch tutorials. Find a resource that fits your learning style and budget.
Start with the basics- Don't try to"See full answer