關於RA:如果requested check already,就不能再輸入additional receipts ?# PennySaver - 省钱一族
l*i
1 楼
Update:居然收到了onsite的邀请,三面结束正好2周。很神奇。希望onsite能好运。
一面:
美国人,感觉面试官没有任何准备,没有用collabedit.
coding: BST的深度。
我:BST的深度和普通BT的深度,计算上应该是一样啊。
面试官:恩,好像是
我电话里给了递归计算BT的程序
design:设计一个电影院管理系统
我给了一个类似于MVC的design。一个room class,一个movie class,一个manager
class。
又问了一些基础问题,什么是inheritance之类的。
二面:
美国人,直接collabedit
coding:罗马数字转变为int
design:扑克牌,特别让写了shuffle的代码
面试官最后说excellent,会汇报给HR。
这时以为能拿到onsite了,结果HR说要安排三面。
三面:
印度三姐,直接collabedit。三姐强调,写coding之前,要先和她说我的算法思路。
coding:
BST的LCA,写完,三姐说“do u see the problem in your code?”我纳闷,这题都是
练过N遍的,应该没问题啊。我检查了一遍,回答,I think my code is right。结果
看了30秒,说了句OK。
接着问,BT的LCA。我说算法是递归求解。我写出了leetcode上经典的递归求LCA。
三姐又说“do u see the problem in your code?”我直接回答:“I am sure my
code is right”。三姐说,那好,我们找个例子,把递归的堆栈走一边,你就会看到
bug了。我说可以。三姐自己写了一个例子,自己在collabedit上,把堆栈一个一个写
出来,我每次等她写完,答复,这种情况return是什么。最终,三姐说“maybe the
code is ok”.
此时,我觉得,三姐水平差也就算了,整个面试给我的感觉,纯粹是在找茬。我已经感
觉到,不管怎么面,今天肯定是杯具了。
接着问,如果给parent的节点的BT,怎么实现LCA。我又写出了leetcode上用hashset的
算法。三姐一如既往“do u see the problem in your code?”。我这次回答“I am
100% sure my code is right. If you see any bug, point it out now”.三姐沉默
了一会,说“looks all right, but you use an additional space, can you solve
this problem without any additional space?”我回答“可以”。正准备写,三姐说
,时间不多了,你先告诉我你的算法吧,我就说了算法,让2个node先走到同一个level
,再一起向上走。三姐说“OK".
三姐接着出了一题design,binary expression trees。我不太理解这题,本来就是一
个binary tree,还有什么需要design的。三姐说,让我实现binary expression trees
的compute function,三姐给了我一个例子,一个binary expression trees包含了加
减乘除,返回是一个最后的int结果。
我确认了一下,design一个binary expression trees,实现加减乘除的compute,我还
特意又确认了一遍,是不是这就是你的requirement,三姐说是。
我设计了node class,2种node subclass,一个是加减乘除,一个是数字。一个BET的
class,在BET的class里,有一个compute的method。三姐说,让我写code实现compute
的method。我写了一个后续遍历,实现compute。
三姐此时说, your design is not good。如果我现在需要增加一个!=的operator,你
就需要重新写你的compute。好,时间也到了....你有问题需要问我么?.....
三面结束一周了,HR也没有任何联系,被默剧了。
一面:
美国人,感觉面试官没有任何准备,没有用collabedit.
coding: BST的深度。
我:BST的深度和普通BT的深度,计算上应该是一样啊。
面试官:恩,好像是
我电话里给了递归计算BT的程序
design:设计一个电影院管理系统
我给了一个类似于MVC的design。一个room class,一个movie class,一个manager
class。
又问了一些基础问题,什么是inheritance之类的。
二面:
美国人,直接collabedit
coding:罗马数字转变为int
design:扑克牌,特别让写了shuffle的代码
面试官最后说excellent,会汇报给HR。
这时以为能拿到onsite了,结果HR说要安排三面。
三面:
印度三姐,直接collabedit。三姐强调,写coding之前,要先和她说我的算法思路。
coding:
BST的LCA,写完,三姐说“do u see the problem in your code?”我纳闷,这题都是
练过N遍的,应该没问题啊。我检查了一遍,回答,I think my code is right。结果
看了30秒,说了句OK。
接着问,BT的LCA。我说算法是递归求解。我写出了leetcode上经典的递归求LCA。
三姐又说“do u see the problem in your code?”我直接回答:“I am sure my
code is right”。三姐说,那好,我们找个例子,把递归的堆栈走一边,你就会看到
bug了。我说可以。三姐自己写了一个例子,自己在collabedit上,把堆栈一个一个写
出来,我每次等她写完,答复,这种情况return是什么。最终,三姐说“maybe the
code is ok”.
此时,我觉得,三姐水平差也就算了,整个面试给我的感觉,纯粹是在找茬。我已经感
觉到,不管怎么面,今天肯定是杯具了。
接着问,如果给parent的节点的BT,怎么实现LCA。我又写出了leetcode上用hashset的
算法。三姐一如既往“do u see the problem in your code?”。我这次回答“I am
100% sure my code is right. If you see any bug, point it out now”.三姐沉默
了一会,说“looks all right, but you use an additional space, can you solve
this problem without any additional space?”我回答“可以”。正准备写,三姐说
,时间不多了,你先告诉我你的算法吧,我就说了算法,让2个node先走到同一个level
,再一起向上走。三姐说“OK".
三姐接着出了一题design,binary expression trees。我不太理解这题,本来就是一
个binary tree,还有什么需要design的。三姐说,让我实现binary expression trees
的compute function,三姐给了我一个例子,一个binary expression trees包含了加
减乘除,返回是一个最后的int结果。
我确认了一下,design一个binary expression trees,实现加减乘除的compute,我还
特意又确认了一遍,是不是这就是你的requirement,三姐说是。
我设计了node class,2种node subclass,一个是加减乘除,一个是数字。一个BET的
class,在BET的class里,有一个compute的method。三姐说,让我写code实现compute
的method。我写了一个后续遍历,实现compute。
三姐此时说, your design is not good。如果我现在需要增加一个!=的operator,你
就需要重新写你的compute。好,时间也到了....你有问题需要问我么?.....
三面结束一周了,HR也没有任何联系,被默剧了。