Square phone

原帖地址:一亩三分地

整个过程是两轮电面和两轮onsite, 非常之快,而且四轮的难度也比较相似,没有任何白板coding和system design, 全是pair programming。

总体来说都不是很难, 但是需要当下运行通过一些简单的test case. 我的建议是尽量很快给出一个workable Solution, 因为往往test case都不太大,efficiency 的重要性要略小于correctness, 这点也和别的公司不太一样。 通常面试官都有很多followup 或者feature需要你加,所以先运行一个workable Solution很重要, 不然还没开始followup就结束了。

phone 1: get a list of conflicting time for meetings, 有点类似leetcode 的meeting rooms, 区别是要列出每个slot里面conflict 的meeting有哪些。我当时想了一个很复杂的方法,最后编不出来。。。后来在面试官的提示下用直接bruteforce 每个slot出来了。。。这里非常感谢面我的第一个小哥。因为我当时觉得我已经挂了,可是他让我过了。。。
phone 2: Ant’s Langton

Onsite:
由于签了NDA,就不透露很具体的题目了, 而且题目很长,。Square的题目总体来说比较活,有个面试官直接给我一张纸,让我现场读题
1. 一道和trie有关的题,基本上用了trie就搞定了。
2. implement一个histogram plotting的class, 面试官会带你考察各种边界case,加feature, 不过这道题其实是最简单的,由于经历了前三场(含两个phone), 我总觉得这一场有陷阱,为什么这么简单。现在想想估计是因为infrastructure team的人考察的面不太一样吧。

之后就是behavior了,就面了不到半个小时。

总体感觉,hr很efficient, 食堂很帅,面试很快,所有的面试官感觉都很聪明,而且很helpful,不要求你一定一次bug free,但是你debug的过程也是面试的一部分。