"First I want to look at how Facebook stories overlaps with Facebook’s mission. I can see pretty instantly that stories stays true to Facebook’s mission with bringing the world together and connecting friends and families.
I want to make sure I understand the product journey. Facebook stories allows users to post videos and photos. While also being able to add filters, music, and stickers. Users are also able to comment on other stories and react to them.
Does that sound correct? Interview: Ye"
Ben L. - "First I want to look at how Facebook stories overlaps with Facebook’s mission. I can see pretty instantly that stories stays true to Facebook’s mission with bringing the world together and connecting friends and families.
I want to make sure I understand the product journey. Facebook stories allows users to post videos and photos. While also being able to add filters, music, and stickers. Users are also able to comment on other stories and react to them.
Does that sound correct? Interview: Ye"See full answer
"My use of Pinterest is somewhat limited. Pinterest is a social network that enables users to save and share ideas in a visual manner. So whether you are interested in fashion, health, lifestyle, decor, sports, you can learn about those in a visual manner. Am I correct?
Of course, Pinterest provides recommendations for people to follow, makes it easy to save images as pins, categorize into various topics. The source of revenue is advertisements. That’s my understanding. Is there anything else I"
Bg - "My use of Pinterest is somewhat limited. Pinterest is a social network that enables users to save and share ideas in a visual manner. So whether you are interested in fashion, health, lifestyle, decor, sports, you can learn about those in a visual manner. Am I correct?
Of course, Pinterest provides recommendations for people to follow, makes it easy to save images as pins, categorize into various topics. The source of revenue is advertisements. That’s my understanding. Is there anything else I"See full answer
"Wing is a subsidiary of Alphabet that provides technology for drone delivery of freight.
Current pain points :
Noise level when drones are flying
Competitive landscape in terms of traffic management system
Broadcast network IDs to identify the recipient - privacy concern
Considering that privacy concern is a large issue by itself and traffic management system is something I assume Wing would have plans for the future, Idea would be work on the noise level as a recently joined PM.
"
Anjaly J. - "Wing is a subsidiary of Alphabet that provides technology for drone delivery of freight.
Current pain points :
Noise level when drones are flying
Competitive landscape in terms of traffic management system
Broadcast network IDs to identify the recipient - privacy concern
Considering that privacy concern is a large issue by itself and traffic management system is something I assume Wing would have plans for the future, Idea would be work on the noise level as a recently joined PM.
"See full answer
Product Design
🧠Want an expert answer to a question? Saving questions lets us know what content to make next.
"For a mature product, I would do the following -
Review the list of backlog items
Meet with stakeholders and business owners to verify the relevance (are they still valid? esp. for new feature request)
Break down the backlog list by a. Product improvements b. New features c. Operational Resiliency
Do a 70-30 split with New features+Product Imp =70%, Resiliency =30%
Prioritize by impact/scale and effort (team's capacity) by quarter
Revisit Quarterly
For a new product -
Start"
Amishr - "For a mature product, I would do the following -
Review the list of backlog items
Meet with stakeholders and business owners to verify the relevance (are they still valid? esp. for new feature request)
Break down the backlog list by a. Product improvements b. New features c. Operational Resiliency
Do a 70-30 split with New features+Product Imp =70%, Resiliency =30%
Prioritize by impact/scale and effort (team's capacity) by quarter
Revisit Quarterly
For a new product -
Start"See full answer
"Clarification
Am I the PM for overall Xbox or certain part of the Xbox team?
Interview (I): let's assume you own the overall Xbox product
Are there particular user segments that the MSFT Gaming division is trying to focus on as their strategy?
I: nothing in particular, why don't you tell me where we should focus?
What are some challenges that Xbox have been facing? (ie revenue from xbox hardware purchase? xbox live subscription purchase? engagement?)
I: nothing in pa"
Mark - "Clarification
Am I the PM for overall Xbox or certain part of the Xbox team?
Interview (I): let's assume you own the overall Xbox product
Are there particular user segments that the MSFT Gaming division is trying to focus on as their strategy?
I: nothing in particular, why don't you tell me where we should focus?
What are some challenges that Xbox have been facing? (ie revenue from xbox hardware purchase? xbox live subscription purchase? engagement?)
I: nothing in pa"See full answer
"
O(n) time, O(1) space
from typing import List
def maxsubarraysum(nums: List[int]) -> int:
if len(nums) == 0:
return 0
maxsum = currsum = nums[0]
for i in range(1, len(nums)):
currsum = max(currsum + nums[i], nums[i])
maxsum = max(currsum, max_sum)
return max_sum
debug your code below
print(maxsubarraysum([-1, 2, -3, 4]))
`"
Rick E. - "
O(n) time, O(1) space
from typing import List
def maxsubarraysum(nums: List[int]) -> int:
if len(nums) == 0:
return 0
maxsum = currsum = nums[0]
for i in range(1, len(nums)):
currsum = max(currsum + nums[i], nums[i])
maxsum = max(currsum, max_sum)
return max_sum
debug your code below
print(maxsubarraysum([-1, 2, -3, 4]))
`"See full answer
"Count how many 1 and 2. calculate how many remaining items with '0'. Override existing data with knowledge of how many '0','1','2' in that order; TC=O(n), SC=O(1)"
Konstantin P. - "Count how many 1 and 2. calculate how many remaining items with '0'. Override existing data with knowledge of how many '0','1','2' in that order; TC=O(n), SC=O(1)"See full answer
"public static void sortBinaryArray(int[] array) {
int len = array.length;
int[] res = new int[len];
int r=len-1;
for (int value : array) {
if(value==1){
res[r]= 1;
r--;
}
}
System.out.println(Arrays.toString(res));
}
`"
Nitin P. - "public static void sortBinaryArray(int[] array) {
int len = array.length;
int[] res = new int[len];
int r=len-1;
for (int value : array) {
if(value==1){
res[r]= 1;
r--;
}
}
System.out.println(Arrays.toString(res));
}
`"See full answer
"
This is mostly correct and fairly fast.
My code has a bug somewhere where it fails on cases like the last case, where there are negative number on both ends of the array and the sums .
from collections import deque
debug = True # False
def prdbg(*x):
global debug
debug = True # False
if debug:
print(x)
else:
return
def max_sum(arr, start, end):
if type(arr) == type('''
"
Nathan B. - "
This is mostly correct and fairly fast.
My code has a bug somewhere where it fails on cases like the last case, where there are negative number on both ends of the array and the sums .
from collections import deque
debug = True # False
def prdbg(*x):
global debug
debug = True # False
if debug:
print(x)
else:
return
def max_sum(arr, start, end):
if type(arr) == type('''
"See full answer
"This could be done using two-pointer approach assuming array is sorted: left and right pointers. We need track two sums (left and right) as we move pointers. For moving pointers we will move left to right by 1 (increment) when right sum is greater. We will move right pointer to left by 1 (decrement) when left sum is greater. at some point we will either get the sum same and that's when we exit from the loop. 0-left will be one array and right-(n-1) will be another array.
We are not going to mo"
Bhaskar B. - "This could be done using two-pointer approach assuming array is sorted: left and right pointers. We need track two sums (left and right) as we move pointers. For moving pointers we will move left to right by 1 (increment) when right sum is greater. We will move right pointer to left by 1 (decrement) when left sum is greater. at some point we will either get the sum same and that's when we exit from the loop. 0-left will be one array and right-(n-1) will be another array.
We are not going to mo"See full answer
"this solution here is much faster than the exponent reference soln. It is also far more concise and easy to understand
def moveZerosToEnd(arr: List[int]) -> List[int]:
left = 0
for right in range(len(arr)):
if arr[right] == 0:
pass
else:
if left != right:
temp = arr[left]
arr[left] = arr[right]
arr[right] = temp
left += 1
return arr
`"
Devesh K. - "this solution here is much faster than the exponent reference soln. It is also far more concise and easy to understand
def moveZerosToEnd(arr: List[int]) -> List[int]:
left = 0
for right in range(len(arr)):
if arr[right] == 0:
pass
else:
if left != right:
temp = arr[left]
arr[left] = arr[right]
arr[right] = temp
left += 1
return arr
`"See full answer
"Questions to ask :
Are there negative values in the input array? Interview : YES
Will the product of two number fit into 32-bit Integer. If not, will it fit 64-bit Integer. If not, then is it safe to use Big Integer? Interview : let's worry only about 32 bit Integer
What should we return if the input array is null or size (size of input array) is less than 2? Return 0
From above Information:
General approach is as follows :
a) Track smallest 2 elements in the array -> p"
Rajendra D. - "Questions to ask :
Are there negative values in the input array? Interview : YES
Will the product of two number fit into 32-bit Integer. If not, will it fit 64-bit Integer. If not, then is it safe to use Big Integer? Interview : let's worry only about 32 bit Integer
What should we return if the input array is null or size (size of input array) is less than 2? Return 0
From above Information:
General approach is as follows :
a) Track smallest 2 elements in the array -> p"See full answer
"int main()
{
int a1[7]={1,2,3,4,5,6,7};
int a2[7]={1,9,10,11,12,13,14};
vectorv;
v.insert(v.begin(),begin(a1),end(a1));
v.insert(v.begin(),begin(a2),end(a2));
int a3[v.size()];
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)
{
a3[i]=v[i];
}
}
`"
Aryan D. - "int main()
{
int a1[7]={1,2,3,4,5,6,7};
int a2[7]={1,9,10,11,12,13,14};
vectorv;
v.insert(v.begin(),begin(a1),end(a1));
v.insert(v.begin(),begin(a2),end(a2));
int a3[v.size()];
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)
{
a3[i]=v[i];
}
}
`"See full answer
"Clarifying question:
Am I the first one to notice the fire, or there are people already on it?
Extent and source of fire - I am assuming it's localized and I am inside the data center, safe so far.
Response:
It is an emergency. I will do and coordinate the people to do the following in parallel, if I am the first one to know.
Get immediate attention of folks in the data center. Get someone and many people to call 911 and security. Coordinate to have people in need evacuated.
Turn off th"
Bg - "Clarifying question:
Am I the first one to notice the fire, or there are people already on it?
Extent and source of fire - I am assuming it's localized and I am inside the data center, safe so far.
Response:
It is an emergency. I will do and coordinate the people to do the following in parallel, if I am the first one to know.
Get immediate attention of folks in the data center. Get someone and many people to call 911 and security. Coordinate to have people in need evacuated.
Turn off th"See full answer