在美国做程序员2年了,来美国也马上3年了,前两个月跳槽了一次,想把作为new graduate和找第二份工作的面试准备过程和体会总结下来。因为大多数读者都在找第一份工作,所以学校期间的准备比较详细。 2011年8月末,来美国读Cornell只有两学期的水硕士,本科学EE时只上过一门C和一门c++,会一些Matlab。刚来时候听到所有人说CS最容易找工作,于是跟风的选了database,OS和一个用C#做游戏的project。学CS的动力不强,没有找到组织,自己蹲蹲图书馆,学的完全不入流,因为编程基础差作业做的很费力,过了2个月OS扛不住就drop了;database非常挣扎的学完了,编程能力稍微进步了一点。第一学期没认真找工作,唯一的面试是Epic,居然用本科学的c++过了电面,onsite被问各种GRE词汇,跪的彻彻底底。如果Epic给我offer我当时肯定开开心心的去了。 2012年1月,第二学期开始,一下听说好几个同学已经拿到了oracle的offer,瞬间有压力了。同时也找到了中国同学的组织,开始全身心投入的学编程准备面试,旁听了data structure,选了算法(上了2个月精力不够drop了)和web service的课。开始了每天早上8点30出门,晚上12点半回家,除了上课吃饭就在机房编程的生活。很仔细的用2周看了一本讲Data Structure的书 (Data Structures and Algorithms in Java),蛮推荐的,对于没有编程背景的人来说,深入了解数据结构的原理,实现和应用是准备程序员面试的第一步。看完这本书后就基本可以秒杀数据结构的作业。通过学校的网站申请了一些程序员岗位,几个电话面试都跪了。电面中发现会被问一些os和db的概念题,就把课本讲义翻出来看看。之后开始做CC150,题目基本是数据结构作业的延伸,一道道code出来。面试依然在fail,但每天都可以感觉到自己在进步,所以也没有太灰心。身边的更多中国同学拿到oracle,微软 offer,每个offer都击打着自己脆弱的心情。当时安慰自己想:我每天都在进步,拿到offer早的同学都不怎么学了,如果我能毕业时候正好拿到offer,我就学到最多的东西。学校career fair上投的amazon2个月后联系了我,经过2轮的电面我拿到了第二学期的第一个onsite。
....