Google SDE L3/L4 interview | Virtual Onsite II, III, IV | Taipei, Taiwan

google logo
google
SDE L3/L4Taipei, Taiwan
June 3, 20253 reads

Summary

I had virtual onsite interviews for a Google SDE L3/L4 role in Taipei, Taiwan, consisting of three technical rounds. I received mixed feedback, passing most rounds but failing one coding interview, which resulted in a 6-month re-application period.

Full Experience

Google 5/21 2nd interview

The interviewer first asked me about the difference between substring and subsequence. Then comes the coding question.


You are given a dict of valid_word= {“” ….} and an input string S. Find all subsequences of size 3 or more in S And check if it’s valid or not.

I only gave the brute force solution, finding all subsequences and check whether the size of subsequence is greater than or equal to 3. Then check whether this subsequence Is in the valid dict or not. The interviewer said I can use itertools.combinations. Later when I was asked the time complexity my brain was not clear so I was stuck for a long time.

from itertools import combinations
valid_dict={“aaa”, “abcd”,...}
input_word
ans=set()
for _len in range(3, len(input_word)):
    for sub in combinations(input, _len):
		cur_sub= “”.join(sub)
        if cur_sub in valid_dict:
			ans.add(cur_sub)    	
return ans	

I later find a similar problem on leetcode. https://leetcode.com/problems/number-of-matching-subsequences/description/


Google 5/23 3rd interview (interval problem)

You are given the following input and output. Design a function that takes input and gives the following output.

Input
Name      Start   End
Abby      10      50
Ben       60      100
Carla     80      120
Donna     150     300

Output Start end Name 10 50 Abby 60 80 Ben 80 100 Ben, Carla 100 120 Carla 150 300 Donna

You can decide input and output format yourself.

I format the input like the following…

[(“Abby”, 10, 50), (“Ben”, 60,100) …]

And I format the output using print.

print(“Start, End , Name”, start, end,name)

Follow up question: What if the input have the same start and end time?? The interviewer asked me to generate an example input test case and implement the solution. Example input:

Input
Name   Start    End
Abby    10      50
Apple   10      40
Ben     60      100
Carla   80      120
Donna  150      300

Google 5/26 4th interview

An array of length n [4, 5, 3, 6, 7 ] Find Index i, j that satisfy the following 3 conditions: 1. i <=j 2. array[i] ==array[j] 3. max( sum(array[i:j+1]) ) return index i, j


Follow up : What if the second condition was taken off? —> a variation of max subarray https://leetcode.com/problems/maximum-subarray/description/

An array of length n [4, 5, 3, 6, 7 ] Find index i, j that satisfy the following conditions: 1. i <=j 3. max( sum(array[i:j+1]) ) return index i, j


6/3 Feedback from HR

I got feed back from HR, she said the result was mixed.

She said my second interview on 5/21 was considered not passing the bar on L3/L4 SDE roles. But I have passed my other 1st, 3rd, and 4th technical interview. (My 1st interview experience: https://leetcode.com/discuss/post/6679035/google-l3-interview-question-taipei-taiw-qd44/)

She will help me to pass my resume and interview results to other teams to see whether I can proceed to the behavioral interview. If there are team leaders interested in me, I can proceed to the behavioral interview.

Personally, I don’t have much expectations about proceeding to the final round. She also said if I want to re-apply SDE roles in Google, normally, I have to wait for at least 1 year. However, because of my solid performance, I can re-apply SDE roles in 6 months.

Interview Questions (5)

Q1
Difference between Substring and Subsequence
Other

Explain the difference between a substring and a subsequence.

Q2
Find Valid Subsequences of Size 3+
Data Structures & Algorithms

Given a dictionary valid_dict of valid words and an input string S, find all subsequences of S that have a size of 3 or more and are present in valid_dict.

Q3
Merge Overlapping Intervals with Names
Data Structures & Algorithms

Given a list of intervals with associated names (e.g., [(“Abby”, 10, 50), (“Ben”, 60,100)]), design a function to merge overlapping intervals and output the start, end, and all names associated with that merged interval. Example Input/Output:

Input
Name      Start   End
Abby      10      50
Ben       60      100
Carla     80      120
Donna     150     300

Output Start end Name 10 50 Abby 60 80 Ben 80 100 Ben, Carla 100 120 Carla 150 300 Donna

Follow up question: What if the input have the same start and end time?? The interviewer asked me to generate an example input test case and implement the solution. Example input:
Input
Name   Start    End
Abby    10      50
Apple   10      40
Ben     60      100
Carla   80      120
Donna  150      300

Q4
Max Sum Subarray with Same Start/End Elements
Data Structures & Algorithms

Given an array arr of length n, find indices i, j that satisfy the following 3 conditions: 1. i <= j 2. arr[i] == arr[j] 3. max( sum(arr[i:j+1]) ). Return i, j. Example: [4, 5, 3, 6, 7 ]

Q5
Maximum Subarray Sum (Kadane's)
Data Structures & Algorithms

Given an array of length n (e.g., [4, 5, 3, 6, 7 ]), find indices i, j that satisfy the following conditions: 1. i <= j 3. max( sum(array[i:j+1]) ). Return i, j.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!