"A project charter is a formal document that authorizes a project and outlines its objectives, scope, stakeholders, and key details. It serves as an agreement among stakeholders and provides a clear foundation for the project by defining what needs to be done and why. Typically, the project sponsor issues the project charter to the project manager or team, formally initiating the project.
A project charter typically includes the following key elements to ensure a comprehensive and clear unde"
Jatin S. - "A project charter is a formal document that authorizes a project and outlines its objectives, scope, stakeholders, and key details. It serves as an agreement among stakeholders and provides a clear foundation for the project by defining what needs to be done and why. Typically, the project sponsor issues the project charter to the project manager or team, formally initiating the project.
A project charter typically includes the following key elements to ensure a comprehensive and clear unde"See full answer
"Top three most important variables Uber could use to estimate the ETA for passenger pickup, beyond the ETA on Google Maps can be:
Driver related - sometimes driver cancel rides after they are assigned or agree to pickup, especially at odd hours. Sometimes, they can also cancel midway through their journeys. Other factor can be that they drive slower or faster than google maps ETA.
Car related - The car may be old or not maintained well than other cars. It can be CNG, Diesel, petrol or elec"
Malvika S. - "Top three most important variables Uber could use to estimate the ETA for passenger pickup, beyond the ETA on Google Maps can be:
Driver related - sometimes driver cancel rides after they are assigned or agree to pickup, especially at odd hours. Sometimes, they can also cancel midway through their journeys. Other factor can be that they drive slower or faster than google maps ETA.
Car related - The car may be old or not maintained well than other cars. It can be CNG, Diesel, petrol or elec"See full answer
"Payment system requirement assumption:
Need to be ACID
Amount limitation - some validation for max input size can be done at client level/ API level.
Need to store historic info - GDPR
The information to be stored for database assumed can be structured so RDBMS like mysql or Postgres
Notification requirement - if fail or success need to be text or email to user and or caller
Scalable - Assumption that it deals with critical transaction so Availability and Scalability requirement i"
Personal W. - "Payment system requirement assumption:
Need to be ACID
Amount limitation - some validation for max input size can be done at client level/ API level.
Need to store historic info - GDPR
The information to be stored for database assumed can be structured so RDBMS like mysql or Postgres
Notification requirement - if fail or success need to be text or email to user and or caller
Scalable - Assumption that it deals with critical transaction so Availability and Scalability requirement i"See full answer
"Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn)
Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn)
Approach 3: Quickselect. Time complexity O(n)
I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also
The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"
GalacticInterviewer - "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn)
Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn)
Approach 3: Quickselect. Time complexity O(n)
I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also
The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"See full answer
"My answer-
A. Clarifying questions-
External factors- Timelines, Geography, Competition
Internal factors- Meta's goals for entering into fitness space, full-fledged app or part of any existing Meta app
Goals- Will go after engagement, since it is a new app.
B. Identifying users-
Heavily/ Professionally into fitness
Casual fitness enthusiasts
Not interested in fitness
C. Prioritizing user segments-
I will prioritize #2. Segment #1 does not really need external motivati"
Aakanksha R. - "My answer-
A. Clarifying questions-
External factors- Timelines, Geography, Competition
Internal factors- Meta's goals for entering into fitness space, full-fledged app or part of any existing Meta app
Goals- Will go after engagement, since it is a new app.
B. Identifying users-
Heavily/ Professionally into fitness
Casual fitness enthusiasts
Not interested in fitness
C. Prioritizing user segments-
I will prioritize #2. Segment #1 does not really need external motivati"See full answer
Product Manager
Product Design
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"def encode(root):
if not root:
return []
def dfs(node):
if not node:
return
res.append(node.val)
res.append(len(node,children))
for child_node in node.children:
dfs(child_node)
res = []
dfs(root)
return res
def decode(arr):
if not arr:
return None
n = len(arr)
i = 0
def dfs(val, children_count):
if children_count == 0:
return Node(val)
cur_node = Node(val)
cur_node.children = []
for j in range(children_count):
nonlocal i
i += 2
cur_node.children.append(dfs(arr[i], arr[i"
Ying T. - "def encode(root):
if not root:
return []
def dfs(node):
if not node:
return
res.append(node.val)
res.append(len(node,children))
for child_node in node.children:
dfs(child_node)
res = []
dfs(root)
return res
def decode(arr):
if not arr:
return None
n = len(arr)
i = 0
def dfs(val, children_count):
if children_count == 0:
return Node(val)
cur_node = Node(val)
cur_node.children = []
for j in range(children_count):
nonlocal i
i += 2
cur_node.children.append(dfs(arr[i], arr[i"See full answer
"Clarifying questions
Are we referring to the credit card users of a particular card company or the overall number of users? : Overall number
And we are referring to the number of unique users right, as in a person may have more than 1 card? : yes
Can I assume the time setting of the question to be 2024? : Yes
Thanks. Here's how I would approach this.
India's total population = 1.4 Bn
I know for a fact that in India only 2.5% of population pays income tax.
A salaried employee who doe"
Kartikeya N. - "Clarifying questions
Are we referring to the credit card users of a particular card company or the overall number of users? : Overall number
And we are referring to the number of unique users right, as in a person may have more than 1 card? : yes
Can I assume the time setting of the question to be 2024? : Yes
Thanks. Here's how I would approach this.
India's total population = 1.4 Bn
I know for a fact that in India only 2.5% of population pays income tax.
A salaried employee who doe"See full answer
"Any cycle would cause the prerequisite to be greater than the course. This passes all the tests:
function canFinish(_numCourses, prerequisites) {
for (const [a, b] of prerequisites) {
if (b > a) return false
}
return true
}
`"
Jeremy D. - "Any cycle would cause the prerequisite to be greater than the course. This passes all the tests:
function canFinish(_numCourses, prerequisites) {
for (const [a, b] of prerequisites) {
if (b > a) return false
}
return true
}
`"See full answer
"Firstly, congratulations to both the interviewer and interviewee. This was a great learning experience
However, being a Full Stack engineer and I was having the following suggestions around the Data Model -
Driver & Approval can be two different tables
Approval & Document - Approval can be a tuple of (userid,documentid) - comments against a rejection (marks the document which triggers rejection)In this way we can capture the entire history of approval workflow (initiate/pending/appr"
Nilanjan D. - "Firstly, congratulations to both the interviewer and interviewee. This was a great learning experience
However, being a Full Stack engineer and I was having the following suggestions around the Data Model -
Driver & Approval can be two different tables
Approval & Document - Approval can be a tuple of (userid,documentid) - comments against a rejection (marks the document which triggers rejection)In this way we can capture the entire history of approval workflow (initiate/pending/appr"See full answer
"The user table no longer exists as expected - I get an error that user does not contain user_id.
Note that querying the table results in only user:swuoevkivrjfta
select * FROM user
`"
Evan R. - "The user table no longer exists as expected - I get an error that user does not contain user_id.
Note that querying the table results in only user:swuoevkivrjfta
select * FROM user
`"See full answer
"A load balancer, web application servers and a large database. Database is the core of the application containing the songs and tags related to each song. Application server will provide the search interface to find songs, play them and search them in specific categories or channels."
Soraya B. - "A load balancer, web application servers and a large database. Database is the core of the application containing the songs and tags related to each song. Application server will provide the search interface to find songs, play them and search them in specific categories or channels."See full answer
"
Functional Requirements
Content Ingestion\:
Ingest news articles from various sources (websites, social media, etc.).
Handle different types of content (text, images, videos).
Content Analysis\:
Extract and preprocess text from articles.
Analyze the content for potential indicators of fake news.
Model Training and Prediction\:
Use machine learning models to classify content as fake or real.
Continuously improve models with new data and f"
Scott S. - "
Functional Requirements
Content Ingestion\:
Ingest news articles from various sources (websites, social media, etc.).
Handle different types of content (text, images, videos).
Content Analysis\:
Extract and preprocess text from articles.
Analyze the content for potential indicators of fake news.
Model Training and Prediction\:
Use machine learning models to classify content as fake or real.
Continuously improve models with new data and f"See full answer
"Agile processes have been a game changer for Software development projects from last 2 decades.
But there are situations where Agile practices don't work very well and demand a workaround. Some of those scenarios are mentioned below:
No Project Plan or Status reports: Agile Project team does not produce formal project plans or status reports unlike Traditional SDLC Projects. Sometimes it is hard to represent project status to senior executives who are interested in the overall status and risk"
Saket S. - "Agile processes have been a game changer for Software development projects from last 2 decades.
But there are situations where Agile practices don't work very well and demand a workaround. Some of those scenarios are mentioned below:
No Project Plan or Status reports: Agile Project team does not produce formal project plans or status reports unlike Traditional SDLC Projects. Sometimes it is hard to represent project status to senior executives who are interested in the overall status and risk"See full answer
"There are couple of reasons for it -
Kind of role : Its a product manager role loaded with analytical work, So working with data in stringent regulatory guideline make it more exciting and thrilling.
Location & industry is like - Cherry on the cake, Bangalore weather and BFI is at its all time peak as people spending behavior is changing continuously, it will be interesting to see big giants like visa are managing it."
Nidhi S. - "There are couple of reasons for it -
Kind of role : Its a product manager role loaded with analytical work, So working with data in stringent regulatory guideline make it more exciting and thrilling.
Location & industry is like - Cherry on the cake, Bangalore weather and BFI is at its all time peak as people spending behavior is changing continuously, it will be interesting to see big giants like visa are managing it."See full answer
"Should be able to charge the airpod case when pluged into energy.
Should be able to charge when the airpod case has battery.
Should be able to alert if the airpod case is out of battery.
Should be able to sync with non-paired devices.
Should be able to sync automatically with paired devices.
Should be able to sync automatically with paired devices that are closer to the airpod.
Should be able to switch the connection to a device answering a call.
Should be able to pause during us"
Daniel M. - "Should be able to charge the airpod case when pluged into energy.
Should be able to charge when the airpod case has battery.
Should be able to alert if the airpod case is out of battery.
Should be able to sync with non-paired devices.
Should be able to sync automatically with paired devices.
Should be able to sync automatically with paired devices that are closer to the airpod.
Should be able to switch the connection to a device answering a call.
Should be able to pause during us"See full answer
"Comprehend the situation:
“When we say video streaming, do we mean watching videos such as movies and TV shows from devices using the internet?”
Yes
“Is it a fair assumption calling 65+ as seniors?”
Yes
“Any specific goal in mind?”
Up to you
“Timeline? constraints? “
None
“Is this an extension of one of the existing streaming apps or a brand new one?”
Brand new
“Is there hardware needed for this app or will we be using the existing hardware and only developing the app?”
You decide
I’l"
Nagi E. - "Comprehend the situation:
“When we say video streaming, do we mean watching videos such as movies and TV shows from devices using the internet?”
Yes
“Is it a fair assumption calling 65+ as seniors?”
Yes
“Any specific goal in mind?”
Up to you
“Timeline? constraints? “
None
“Is this an extension of one of the existing streaming apps or a brand new one?”
Brand new
“Is there hardware needed for this app or will we be using the existing hardware and only developing the app?”
You decide
I’l"See full answer
"def changeString(org: str,target:str) -> bool:
lOrg = len(org)
lTarget = len(target)
\# They have to be equal in lenght
if lOrg != lTarget:
return False
counter1 = Counter(org)
counter2 = Counter(target)
\# Counter internally iterates through the input sequence, counts the number of times a given object occurs, and stores objects as keys and the counts as values.
if counter1 != counter2:
return False
diff = sum(org[i] != target[i] for i in range(n))
return diff == 2 or (diff == 0 and any(v > 1 f"
Rafał P. - "def changeString(org: str,target:str) -> bool:
lOrg = len(org)
lTarget = len(target)
\# They have to be equal in lenght
if lOrg != lTarget:
return False
counter1 = Counter(org)
counter2 = Counter(target)
\# Counter internally iterates through the input sequence, counts the number of times a given object occurs, and stores objects as keys and the counts as values.
if counter1 != counter2:
return False
diff = sum(org[i] != target[i] for i in range(n))
return diff == 2 or (diff == 0 and any(v > 1 f"See full answer