注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
本帖最后由 匿名 于 2019-12-20 14:11 编辑
白人男面试官,面试时感觉面试官怪怪的,做完了两题+问了工作背景最后还有时间问面试官问题竟然还是跪了(楼主FANG背景)。
一开始就问有什么问题要问他吗,我说可以面试结束前再问吗,先做问题。
他说可以,然后就叫我解释下工作背景,然后问了些问题,用了差不多10到15分钟。
之后他说我目前工作用Java,要求我用Java写代码,但我说我面试用C++,然后面试就用了C++进行。
第一题:
https://leetcode.com/problems/peeking-iterator/
做得有点慢,因为以为next() 和 hasNext() 需要depend on peek(),做出来后面试官要求不能depend的情况下写出另一个解法。
第二题:
给一个matrix的origin,matrix里的每个element是个object(暂且叫Object),Object里有6个fields:
class Object {
Object left;
Object right;
Object top;
Object down;
Object nextObjectToOrigin;
State state;
enum State {
Origin,
Empty,
Blocked,
}
// 和一堆setters 和 getters
}
设置matrix里的每个element的nextObjectToOrigin指向最靠近origin的邻居。
Example:
O = origin element
E = element with empty state
B = element with blocked state
E1 E2 O3
B4 B5 E6
E7 E8 E9
要求
E2.nextObjectToOrigin = O3
E1.nextObjectToOrigin = E2
E6.nextObjectToOrigin = O3
E9.nextObjectToOrigin = E6
E8.nextObjectToOrigin = E9
E7.nextObjectToOrigin = E8
注意blocked的element障碍物不能通过。用了BFS(二个queues)解决。
解释了好久swap(curQueue, nextQueue)是什么意思,还强调了这个也许只有C++能跑,Java也许不行。
但面试官还是听不懂,然后说时间到了问他问题。我立即查看了写了的代码,感觉也写完了就开始问了他问题。
然后2天后追问HR说跪了,问我要不要再面其他组。最近AAPL太高了,我就说谢了不用了。等明年后年再试试。
|