本人大龄程序员,一直想去国外工作,最近拿到了几个 offer。已经递交了辞呈,在办离职和等签证的阶段,所以写下这篇博客,记录一下这半年来的过程。
个人背景末流 985 CS 小硕,BAT 大厂底层搬砖,工作 5 年。个人感觉背景重要性从大到小是,大厂背景(几乎所有的国外面试官都知道我厂),学校(国外的 HR 只知道 TOP2,但是申请签证的时候,有些国家会看你的学校),工作经验。
职位搜索1. 100 offer 上的新加坡和澳大利亚专区,你可以勾选你想去的地区。我只接到过新加坡公司的面试邀请,新加坡的大厂 Sea Group,Grap 等基本上很多国内工程师过去的,所以面试的时候你会感觉面试国内互联网公司。也有一些小厂,面试都是英文面试,但是他们所需的人比较少,面试的人又多,所以会比较挑剔。
2. Stack Overflow 这个是我觉得很赞的,搜索功能可以根据公司是否提供 visa sponsor 过滤。像澳大利亚的公司,如果你没有工作签证,是需要雇主担保的。
3. 其他的例如,glass door,LinkedIn,个人感觉差不多。
简历准备和面试技巧推荐 coursera 上的课程 https://www.coursera.org/specializations/english-interview-resume,里面详细说了如果搜索信息,简历如何写,behavior question 如何练习,推荐主要看 course 2,3,4 。
其实面试和 sell 的过程一样,都是需要把你做为一个商品卖出去,那么什么是一个好的销售?有一本书叫做《sell with story》,中文名字叫做《销售就是卖故事》。普通的销售是卖商品,好的销售是通过故事来卖商品的,这个和面试一样,当面对一些 behavior question 的时候,你可以干巴巴的说自己是什么什么样的员工,或者,拿一个曾经在工作中发生过的事情来证明你是他们需要的员工。
behavior question 的回答也可以参照 STAR 法则的,所以你要准备的 story,实际上就是 STAR 中那个 A(action),即你采取了什么措施。有了这个 A 以后,可以应对多种 S(situation)和 T(task)的,也就是说你准备了好了两三个关于自己的故事,可以用在多中 behavior question中。
举个例子,我最喜欢讲的事情是:“我带着我们项目组的某个程序员和客户去开会,看看客户真的需要什么的,然后我们明确了目标,最后项目结果也很好,每个人都很开心。”那么这个 A 可以回答什么问题呢?
Q1: 如果在工作中,你和同事有不一样的看法和意见,你是怎么处理的?
A1: 曾经在一个项目中,我觉得应该这样做,我的一个同事应该这样做,但是我们谁也说服不了谁,甚至在会议上争吵。于是我带着我们项目组的某个程序员和客户去开会,看看客户真的需要什么的,然后我们明确了目标,最后项目结果也很好,每个人都很开心。
Q2: 你是怎么样激励你的 team member 的。
A2: 曾经在一个项目中,有段时间我们都很低沉,因为没有产出,我也没有明确的方向。 于是我带着我们项目组的成员和客户去开会,看看客户真的需要什么的,然后我们明确了目标,最后项目结果也很好,每个人都很开心。
很多人有一个误区,觉得面试国外的公司就是需要我算法好,技术强,用的框架多。其实面试官通常都是你以后的同事,所以在通过基本的算法测试以后,不妨实际一点,be real。我的简历上有个项目,是我优化了我们系统的部署工作。这个项目,我没有写一行代码,但是总会有人问到。我就给面试官解释,我们当时面对的困难是什么,我自己去找了一个开源的部署软件,结果效果很好。最后我总是说一句 “Actually, this project is not about coding or designing a sophisticated system, it is just about picking up the right tool for right task.” 说完这句话之后,没有面试官不认同的,谁关心你是不是用 docker?
面试过程 online test一般简历通过以后,HR 会发一个 online test 的连接给你,多数是 https://www.hackerrank.com,,我的两个建议
1. 做题目之前去 https://www.glassdoor.com/index.htm,https://www.careercup.com/ 上把该公司所有的面试 review 都扫一遍,如果提到了 online test 的算法题目,现在自己做一遍。
2. 别整个复制粘贴,有些平台有 replay 的功能的,所以你的屏幕上突然出现一大段文字是有问题的
3. glassdoor 的题目都要自己处理输入输出,所以对于输入的处理方式最好了解一下。(这点在工作中用的不多,谁写的代码会从键盘读取输入啊)。
screen interviewonline test 以后就会有 4 轮左右的视频面试了,关于这个,在下一篇里面说。