如果是你投简历到的话,据说先需要经过算法筛选,通过的才能到 HR 筛选;通不过的话,你的简历没被人肉眼看到就直接被拒绝了。因此,听说也有人是专门提供简历优化服务的,类似 SEO,让你的简历能通过算法这一关。如果 HR 挑选到你的话,会主动联系你。最基本的,要确认你不是个捏造简历来浑水摸鱼的人,为此 HR 会了解一下你的经验,看看你是否真的是个工程师。如果在中国的话,HR 还会跟你用英文对话几分钟(我遇到过让我陈述工作经历和亮点的),确认你能适应可能需要英文沟通的工作环境。之后,我遇到的情况是 HR 让我去 Codility 做题,就是最简单的算法题,我不确认这是不是个别现象。简单的题,在学校里算法及格的人都知道 O(n) 能解决,也没必要怎么优化;难一点的题目,一看就知道 O(n ^ 2) 能解,再思考一下还能找到 O(n log n) 甚至 O(n) 的解法。总之可以认为是 OI 题吧。随后,那就
面试官问的面试题: 如果你在中国区面试,那么你就等着做 ACM 难度的题目吧。无论是不是刻意考算法的题目,难度都会明显高一些,要用到的算法也是更像 ACM 难度。如果你在别的地方面试,难度就是 OI 题目的难度。我面试过 中国区,同时面试过其它同类大公司的非中国区,感觉中国区面试就是「有心刁难你又如何?」因为中国区人太多,聪明人也太多,必须用更难的题目才能有区分度。如果你能在非中国区面试,尽量就别来中国区面试了,前提是英文口语沟通没问题。如果你的面试平均分数过线了,那材料就有机会进 Hiring Committee。根据网上那些职位比较高的 说,这份材料包括面试官反馈,也包括其它人提供的信息。可能会找出过去跟你在同一时期在同一企业或学校有共同经历的 ,让他们提交对你的评价。碰巧认识你的人也可以在这个时候提出评价。(所以职业生涯上要注意人品,你不知道将来谁有权影响你的应聘。)