萌新的面试第一弹

Redfin是我求职生涯中的第一家,第一个电面,第一个onsite。除了结果不好,其他过程都很好。。。

春节当天风风火火去西雅图面试,之前分配的五个面试官其中有两个中国人,然而全部被临换成美国人,原因是中国人去过年了。

然并卵,春节面试一样会挂掉。今天拿到denied letter,心情复杂。为了纪念此次经历,分享此次面试经验,也是回馈地里。

Time line:

1.16  约电面

1.26 技术电面

电话是从SF打来的,面试官是个美国人,Hiring Manager。一开始问了一些BQ,比如在小组内如何解决conflict,disagreement,每天如何安排时间,prefer什么时间做project。

Coding 部分 LC268 missing number。首先我提出可以用HashSet存1-N数字,逐一比对,直到找到missing number。面试官追问时间复杂度和空间复杂度,并且提出不让用额外空间。

于是我选择用先算1-N个数字的和,再依次把出现的数字减掉。在Codepad上码了Java,秒了。

第二个challenge是要求时间复杂度更低,其实是需要用二分法。方法是比较数组里数字的index是否和数字match,不相符说明有missing number。然后继续二分。

整体的Coding部分不难所以剩了近20分钟。。面试管竟然继续问我BQ。。

面完试的后一个小时就收到了onsite的通知,激动到爆。

Time line

2.16 onsite interview

每一轮面试都有BQ和Coding组成:

第一轮,BQ:为什么选择学cs,介绍一下最proud的项目

白板 coding:给定一个字符串,其中只有一个字符出现一次,其他字符出现两次以上,返回出现一个字符的index。用了HashMap实现,问了时间复杂度和空间复杂度,并且问了HashMap的containsKey的复杂度。

第二轮,吃饭轮,也就是BQ轮,问了what do you hear about Redfin, how to solve conflict/disagreement(真爱问这个), what's your ongoing project etc.

第三轮,BQ:问我还有没有没介绍的项目想说一下啦

白板coding:给一个family tree,和指定树节点,返回和指定节点相同level的所有节点。很可惜,明明可以用List of list轻松解决,却想尝试bfs,结果无解,跪了,stuck了一阵之后提出用list of list后没有时间实现了。。。

第四轮,How to implement that the server can give the 99% available to client under the hardware which of 90% available?

面试结束觉得还好,可能因为面试题都不难,candidates都自然而然能想到,但我语言没优势吧。虽然结果不好,但是过程的每一步都让人感觉很舒服,特别喜欢这家公司,可惜与我无缘啦,希望能有小伙伴成功拿到offer!也希望自己能整理心情,重新上路,继续努力下去。

04-28 15:11