美国软件工程师面试注意事项
尽量找推荐,有人推荐的话简历筛选通过的可能性较大。师兄师姐一般都会非常乐意帮你的。
所谓纯英文面试,其实英语的问题并没有那么大。尤其是同工程师之间的面试,都是技术名词,一般关键词说到了,对方就明白了。整个面试过程中,基本不用考虑语法问题,对方的理解能力远比你想象的好。
面试考察的是你的思考过程,分析解决问题的能力,而不是最终你有没有完美地解决问题。所以有的人虽然解决了问题,却挂了;有的人虽然没写完代码,但是通过了。
面试官希望的应该是,你一开始是不会这个问题的,但是能够很快地理解问题,然后给出一个最普通的解法;然后通过自己的思考,或者通过与面试官的交流,发现了更好的算法;然后实现之。这才是一个很好的面试过程。
整个过程中,要保持联系,时刻将自己的想法,假设或者纠结的问题都告诉面试官,这样一来可以像他展示你的思维过程,二来可以向他寻求确认或帮助。如果你一直想,但是不说话,对方对你的判断就是他听到题目之后傻了,没想法!
对代码的要求,一定是bug free!对方期待你的代码原样敲入计算机,是可以编译、运行并得到正确结果的。更严格的说法是,对方想要的是production级别的代码,就是说你的代码是应该可以直接加入产品的。所以你要考虑参数校验,容错,命名,代码规范,注释等等所有的东西。能直接加入产品库哦!
会写test case。一个算法写完了,要能自己写出很多的testcase,十个八个也不嫌多哦,但是不要无意义地重复。
算法复杂度分析,对自己的想法、算法要有基本的空间、时间复杂度分析的能力。
要问问题,有的人喜欢被问问题。但是很少会有人仅仅因为问几个问题而被拒掉。问问题,也是展示自己能力和知识的一个机会。