上午到的位于Long Beach的公司总部报道,然后中午和HR一起在公司吃午饭,一起吃饭的HR都不是后面问technical questions 的HR, 主要就是聊天,了解公司文化,估计人家也顺便从侧面看你是否适合企业文化。饭后,HR带被面试的人在公司内部转了一圈,主要是介绍各个部门和参观公司内部办公环境,每个被面试者都被分开,由一个HR带到一个空房间里面,然后有两批HR来面试,每批都是两个HR,先是走一遍简历,问一下我的简历的项目的具体内容,然后开始出题写代码,每批HR出两道题
面试官问的面试题: 校招时招聘会上问的:
输出从1到n的所有质数的和,以及优化。(这题Leetcode里面解的很详细)
第一批HR:
1. Best Time to Buy and Sell Stock (LeetCode 121)
2. IsPageInside (string range, int page){
}Sample input
range = 2 | 1-3, 5 | 1-5, 7
第二批HR:
1.Int Multipliacation (int x , int y){}
Implement the multiplication without using * operator
2.Climbing Stairs (LeetCode 70)
一共三轮,每轮一小时,前两轮背靠背,休息一小时,到第三轮。每一轮面试官都不一样,有印度人,国人以及美国人。面试风格会有不同。
面试官问的面试题: 第一轮
BQ:
Meet an obstacle and how you solve it. What’s the impact. Out of responsibility. OOD:
设计一个游戏,两个人玩, 每个人一开始安排好自己的舰船位置,然后后面每一轮互相射
击,直到有一个人所有的舰船位置都被射到
bq 讲了半个小时,然后 OOD 讲得很详细,最后一小时到了,没时间问问题。
第二轮
BQ
Criticized feedback
Simplify a complex work
Coding:
Unique Paths 一开始用 recursive function + cache 写,面试官让候选人分析复杂度,候选人说由于 cache
了结果,所以对于一个不同的 position 每次只会调用函数一次,所以一共调用了 MN 次,而
每个函数内部除了递归之外只有常数操作,所以一共的复杂度就是 MN。可能是候选人的解
释面试官没明白或者解释的不清楚,面试官不是很满意。于是又用迭代的方法写了一遍,用
了个二位矩阵做 DP。然后又讲了一遍时间复杂度和空间复杂度,然后面试官问了一个 follow
up, 问是否可以优化空间复杂度,不要用另外的矩阵存结果,直接在原来的 grid 上本地操
作。反问了问题,对新人最大的挑战是什么
第三轮 manager
BQ:
Out of responsibility. Impact of it. Learn new things during work. Coding:
Number of Islands
讲了复杂度,时间空间都是 MN
反问问题,像面试官这样的 manager 对新人的期待是什么