G家面经(已被HC挂,求分析)# JobHunting - 待字闺中
l*r
1 楼
背景:中部弱校master,去年五月毕业,刚工作一年(中部小公司),骑驴找马中。
Onsite一共五轮:
--------------------------------------
第一轮(中东人):
给一个字符串,让压缩并解压,压缩算法类似leetcode中的count and say
输入:aabbbccd 压缩结果:2a3b2cd(注意,'d'前面没有'1')
引申:输入中如果有数字的话,解压时需要注意歧义问题,例如2a可以解压为'2a'或
者'aa',问如何解决。答曰用类似ascii码中加反斜杠的做法,或者加个header来标
志压缩过的位,表示同意。
第二轮(老印):
(leetcode) edit distance,以DP解之,喜。
(leetcode) word ladder,直接给出BFS,不喜,要优化,想了半天给出的答案皆不
喜,最后提示我可以双向BFS,时间不够,没有给出代码。
-----------------午饭-------------------
第三轮(老白)
给一个int的矩阵arr,让返回一个同样大小的result矩阵,每一个result[i][j] = arr
[i][j]及其所有左上方元素的和,DP解之,喜。问了各种test case,一一例举之。
(左上方元素定义:以arr[0][0]和arr[i][j]为对角线的矩阵的所有元素和)
第四轮(老印)
给两个int,第一个代表分子,第二个代表分母,让返回转化成小数后的string
循环位用括号括起来。例如:输入1,3,返回“0.(3)”。输入1,7,返回“0.(142857
)”;暴力解之,用一个LinkedList记录每次的余数,如果出现相同余数,则出现循环
,与前一个相同余数的距离就是循环的位数,插之以括号。喜。
第二题:判断两个二叉树结构相等(左右subtree可对调),递归解之,喜。
第五轮(老白)
(leetcode)search in rotated sorted array。直接背答案,条件二分。
----------------------------------------
一周后HR来电话说HC没过,追问details,拒绝告知,求各路大牛帮分析。
Onsite一共五轮:
--------------------------------------
第一轮(中东人):
给一个字符串,让压缩并解压,压缩算法类似leetcode中的count and say
输入:aabbbccd 压缩结果:2a3b2cd(注意,'d'前面没有'1')
引申:输入中如果有数字的话,解压时需要注意歧义问题,例如2a可以解压为'2a'或
者'aa',问如何解决。答曰用类似ascii码中加反斜杠的做法,或者加个header来标
志压缩过的位,表示同意。
第二轮(老印):
(leetcode) edit distance,以DP解之,喜。
(leetcode) word ladder,直接给出BFS,不喜,要优化,想了半天给出的答案皆不
喜,最后提示我可以双向BFS,时间不够,没有给出代码。
-----------------午饭-------------------
第三轮(老白)
给一个int的矩阵arr,让返回一个同样大小的result矩阵,每一个result[i][j] = arr
[i][j]及其所有左上方元素的和,DP解之,喜。问了各种test case,一一例举之。
(左上方元素定义:以arr[0][0]和arr[i][j]为对角线的矩阵的所有元素和)
第四轮(老印)
给两个int,第一个代表分子,第二个代表分母,让返回转化成小数后的string
循环位用括号括起来。例如:输入1,3,返回“0.(3)”。输入1,7,返回“0.(142857
)”;暴力解之,用一个LinkedList记录每次的余数,如果出现相同余数,则出现循环
,与前一个相同余数的距离就是循环的位数,插之以括号。喜。
第二题:判断两个二叉树结构相等(左右subtree可对调),递归解之,喜。
第五轮(老白)
(leetcode)search in rotated sorted array。直接背答案,条件二分。
----------------------------------------
一周后HR来电话说HC没过,追问details,拒绝告知,求各路大牛帮分析。