写给打算到美国发展理工科同学

 2010年的圣诞节我和甲骨文签订了工作合同,也意味着在明年毕业后我开始自己的第一份工作。可能和多数人相比,我找工作的时间只有3个月,但是面不少大IT公司,在程之中我看到,感受到,以及学到了很多,它我充分认识到自己的长处以及不足,自己有了更加清晰的定位。尽管每个人的背景和经历都不尽相同,但我还是希望能通过分享自己的感受和经历,帮助更多的朋友、同学,尤其是打算到美国发展的理工科学生找到自己理想的工作。

因为我自己有限的背景和经历,我并不了解理工科之外的求职现状,所以可能很难提出一些非常有效的建议,但对于计算机和电子专业来说,我希望下面的内容能够帮助到更多人。如有观点不够准确,敬请斧正。

首先是masterPHD的区别,和国内公司不同的是,美国公司不会去雇佣overqualified的申请人,换句话说在美国,如果他们的工作只需要一个本科生做的,他们就不会去雇佣一个master或者PHD, 因为他们认为这样是一种浪费,所以如果你希望做研究PHD自然是不二之选。 但据我了解,PHD找工作也是局限在一些大公司,比如IntelMicrosoft做一些研究,所以我感觉master在找工作上还是略有优势的,用一句话概括就是“时间短,见效快”。

其次,在美国最好找工作的专业是CS(ComputerScience),没有之一。因为每个公司都有的不小需求,而且很多大公司比如微软、谷歌、Facebook是没有人数指标的,所有符合条件的人都会被聘用,我想这是多数其它产业所不能相比的,所以对于学计算机的同学来说是一种优势。然而很多其它理工科专业的就业情况不是非常乐观,比如EE(ECE),ME等等。很多学ECE的同学相反都会去选CS的课程,然后去申请计算机相关的工作。但毕竟专业不是计算机,所以很多课程可能没有正事学过,所以在面试的时候很容易就会被刷掉。这并不是鼓励所有同学都去学计算机,但希望多数人能够有一个清晰的定位,如果你的爱好是计算机或者软件,那么你可以果断地转到CS专业,但如果你喜欢的就是EE,那么盲目选择CS课程可能并不会帮助到你找到工作,反而会让你失去自己在EE领域的竞争力。

和国内是一样,美国人也迷信名校,很多公司发布的工作description上面就会有明确的要求“毕业于名校”,而有些公司可能虽然不会这样写,但如果不是名校出身,除非有非常杰出的成绩和表现,也很难在大公司落足。

我的本科专业是互联网与多媒体(IMT),之前一直认为与计算机专业差不多,但到了美国才认识到为什么计算机专业叫做ComputerScience。作为一门Science的学科,就需要非常坚实的数学功底。其次,我的本科专业倾向于应用,比如游戏编程,多媒体的网络,但ComputerScience则更加看重计算机基础,例如Datastructurealgorithm。所以对于我来说,这个转型并不是一帆风顺,很多课程学起来都不是很轻松,而对于打算在美国求职的计算机相关专业的同学,一定要打好基础,因为以后你会发现,虽然这些并不一定会在工作中应用到,但它们却是你通过面试、找到工作的关键。

在这三个月的时间里,我参加了不少公司的面试,有电话面试,有校园面试,也有On-site面试,对于各种不同的面试,其实他们所考察的内容都是差不多的。而通过他们的提问,你也能感觉到这份工作是否适合自己。所有的面试无外乎3类问题:general question, 智力测验和技术类问题 。General question这类问题准备起来似乎比较难,但主要就是做自我介绍,讲一讲自己的经历,做过什么project,什么是遇到的最大的挑战,所以只要熟悉自己的简历,之前好好构思一下这些问题的答案就不会有什么问题。不是所有的面试都有智力测验,但很多人都会觉得这类题目很难准备,的确是这样,比如我就被问到“我们公司一共有多少台电脑?”这样的问题,其实面试官是不会期待面试人能答对这些问题,对于他们来说更重要的就是考察面试人是如何思考,推理,给出一个找出答案的解决方案。第三类技术问题则是整个面试中最重要的部分,通常会占用2/3的时间,而对于计算机学生来说,就是写代码。而像Facebook,他们甚至会让申请人上来就直接写代码。我之前一直对自己写代码的能力都非常自信(当然现在还是很自信),但通过一两次面试之后就发现自己在很多基础问题上的知识不足。对于大部分的面试都会涉及到datastructurealgorithm,而由于我本科没有涉及到这些内容,所以需要一段时间恶补一下。问题也都会follow一个标准的pattern:面试官通常会给出一个具体的问题,让你提供一个思路或一个答案,然后面试官会让你对自己的implementation进行评估,然后优化自己的答案。和朋友聊天,其实这些面试官也不容易,因为他们很难在3045分钟内评估一个申请人的编程能力,他们更不可能给你一天时间,让你编写一个完整的软件,所以无论你的经历和project多么丰富,实战能力多么强,最后还是要回到这些基础的问题:数据结构和算法,因为他们没有其它的问题可以问。所以这就是我为什么认为在这些基础问题上打好基础是重中之重。

很多人可能认为如果专业知识过硬就可以,其实不然。对于美国的这些大公司,他们也看重应聘人的沟通能力和passion。而这些就会通过General question体现出来,当然有些公司会更加看重技能能力,或者说他们就要找一个coder,但其实无论什么工作,什么职位都需要申请人有比较好的沟通能力。还有一些职位因为工作需要,应聘人要有很高的Energylevel,所以在面试的过程中就需要表现出自己积极的态度。

可能有些同学看了篇文章会感到力,并不是我的目的,只是希望有似于我的经历的朋友,能够少走弯路,尽快找到满意的工作。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注