"I would first call out the two types of Google Doodles that are published. First would be the static doodle which just shows a picture, and users can get more information on it by hovering on it or clicking on it. Second would be the dynamic google doodles which are either short videos or games through which users engage a bit more.
My top 3 metrics that covers both would be:
Click-through rate and post-click CTR - Although different metrics, I clubbed them since they fall under similar"
Rahul R. - "I would first call out the two types of Google Doodles that are published. First would be the static doodle which just shows a picture, and users can get more information on it by hovering on it or clicking on it. Second would be the dynamic google doodles which are either short videos or games through which users engage a bit more.
My top 3 metrics that covers both would be:
Click-through rate and post-click CTR - Although different metrics, I clubbed them since they fall under similar"See full answer
"Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited:
def diameterOfTree(root):
if root is None:
return 0
diameter = 0
stack = deque([[root, False]]) # (node, visited)
node_heights = {}
while stack:
curr_node, visited = stack[-1]
if visited:
heightleft = nodeheights.get(curr_node.left, 0)
heightright = nodehe"
Gabriele G. - "Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited:
def diameterOfTree(root):
if root is None:
return 0
diameter = 0
stack = deque([[root, False]]) # (node, visited)
node_heights = {}
while stack:
curr_node, visited = stack[-1]
if visited:
heightleft = nodeheights.get(curr_node.left, 0)
heightright = nodehe"See full answer
"Maybe we can use this solution:
1, connect all the strings together, and add an integer value ahead each string.
2, use Huffmans algorithm to encode the step 1 result, to make the result size smaller.
3, return the root of Huffmans tree.
This solution man be slower than the common serialize method, but it can save a lot of memory, I think, at lease doing serialize is mainly for tranfering data or storing data."
Jordan Z. - "Maybe we can use this solution:
1, connect all the strings together, and add an integer value ahead each string.
2, use Huffmans algorithm to encode the step 1 result, to make the result size smaller.
3, return the root of Huffmans tree.
This solution man be slower than the common serialize method, but it can save a lot of memory, I think, at lease doing serialize is mainly for tranfering data or storing data."See full answer
Software Engineer
Coding
+1 more
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"def friend_distance(friends, userA, userB):
step = 0
total_neighs = set()
llen = len(total_neighs)
total_neighs.add(userB)
while len(total_neighs)!=llen:
s = set()
step += 1
llen = len(total_neighs)
for el in total_neighs:
nes = neighbours(friends, userA, el)
if userA in nes:
return step
for p in nes:
s.add(p)
for el in s:
total_neighs.add(el)
return -1
def neighbours(A,n1, n2):
out = set()
for i in range(len(A[n2])):
if An2:
out.add(i)
return out"
Batman X. - "def friend_distance(friends, userA, userB):
step = 0
total_neighs = set()
llen = len(total_neighs)
total_neighs.add(userB)
while len(total_neighs)!=llen:
s = set()
step += 1
llen = len(total_neighs)
for el in total_neighs:
nes = neighbours(friends, userA, el)
if userA in nes:
return step
for p in nes:
s.add(p)
for el in s:
total_neighs.add(el)
return -1
def neighbours(A,n1, n2):
out = set()
for i in range(len(A[n2])):
if An2:
out.add(i)
return out"See full answer
"Situation:
As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot.
Task:
I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"
fuzzyicecream14 - "Situation:
As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot.
Task:
I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"See full answer
"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
"I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"
Bini T. - "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"See full answer
"Clarifying questions: is this a brand new product, or are we improving an existing one? (i.e. are we going to have to migrate an existing codebase or are we starting from scratch?). are we resource-strapped (e.g. # engineers, time)? are there any specific priorities for the product, or should i leave it open-ended?
Assume: brand new product, well-resourced, no specific priorities.
It seems that there are two sides to this question: 1) technical evaluation of different languages, and 2)"
Laura S. - "Clarifying questions: is this a brand new product, or are we improving an existing one? (i.e. are we going to have to migrate an existing codebase or are we starting from scratch?). are we resource-strapped (e.g. # engineers, time)? are there any specific priorities for the product, or should i leave it open-ended?
Assume: brand new product, well-resourced, no specific priorities.
It seems that there are two sides to this question: 1) technical evaluation of different languages, and 2)"See full answer
"Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals.
I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily.
I am passio"
Piyush D. - "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals.
I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily.
I am passio"See full answer
"Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"
Sourabh G. - "Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"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
"After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"
Chinedu ekene O. - "After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"See full answer
"As far as i know, when we type a web address in the browser-
the broswer connects to the DNS server & finds the address of the website we are looking for
after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user.
all of this information is sent using TCP/IP protocol across your internet"
Debajyoti B. - "As far as i know, when we type a web address in the browser-
the broswer connects to the DNS server & finds the address of the website we are looking for
after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user.
all of this information is sent using TCP/IP protocol across your internet"See full answer