大家好,我来自帝国理工学院计算机学院,读的是computing(general)项目,在今年计算机秋招“地狱”难度的模式下也拿到了一些offer,现在在华为做软件开发工程师。下面给大家分享一下我的留学和求职经历。
大三果断转码
我本科是信息工程专业,也就是EE电子通信类相关。由于通信是我们学校的优势专业,本科同学有很大一部分选择继续在本校读研通信类相关。我从大三时就确定自己更喜欢软件开发这个方向,也决定要转专业读研究生。
据我了解,很多本校本学院的学长学姐,在本硕都是EE的条件下,最终求职也选择了转码,所以我决定研究生就换方向,也能为之后求职做好准备。国外学校的计算机课程设置比较先进,能满足工业界的需求,再加上我本来就想出国留学,所以也早早定下了申请计算机相关项目的目标。
在考虑申请项目的时候,IC的计算机项目(special)方向都需要计算机类本科背景,所以我选择了computing(general)这个项目,课程满足转码的需要,也能在课余时间做一些项目来丰富简历。
留学前抓紧实习
现在转码的同学数量很多,作为研发岗,要在秋招中竞争的话,简历上的项目或者实习不可或缺。我的目标岗位是后端开发这个方向,当时主要用的语言是C++。
大四下学期,已经拿到了留学offer之后,我也接着开始找实习。在大四的寒假,我开始进行leetcode刷题,以及自学一些计算机基础课程,接着在春招中顶着非常“弱鸡”的代码能力开始面试各个厂的实习岗位。21年的时候,想要获得一份开发岗的实习offer并不是很难,基本上leetcode刷100-200题,然后有点计算机基础知识,不是硬要求大厂的话都可以有一份实习。
这里建议第一次找实习不一定非要把目标局限于大厂,毕竟门槛比较高,中小厂也可以很大程度上提升大家的工程能力,以及形成较好的开发规范。还有一点是,实习能帮助大家确定自己到底是不是喜欢这个职业,可能很多同学只是看到了计算机薪酬高就盲目选择了转码,但实际并不喜欢写代码,这样的话以后长期工作可能会比较痛苦。
大四下学期一直到出国前的9月份,这段实习经历也让我简历上有了相关岗位的项目经历,然后就去英国开始了留学。由于英国的学制,我们毕业证上的时间一般是次年11月,对于一些公司来说可以参加两年秋招,可以投递几家,拿一些保底offer,这样的话第二年秋招找工作压力不会太大。注意不要盲目投递,有些公司会有面评记录,如果不太好看的话会影响之后求职。
在IC丰富项目经历
Computing项目的课程安排较紧,虽然是general项目,但是如果之前完全没有基础,压力会比较大。第一学期会把计算机基础课程上完,比如面向对象的编程,计算机组织与结构,操作系统等等。然后第二学期可以自由选课,可以选一些advanced课程, 第三学期就是毕业设计了。
第二学期会有一个software engineer group project,需要和班里的同学组队,做一个软件工程小组项目。我们当时选择的是给学院导师开发一个内部网站系统,我主要负责写网站的后台。由于做项目的同时还要完成这些课程考试,可以说时间非常紧张。在项目过程中会接触到一些敏捷开发,项目管理的知识,也锻炼来了我的coding能力。
由于这个项目是实际需要上线使用的,所以写在简历上也会让面试官感兴趣。很多硕士项目都会有这种做group project的课程,这其实就是丰富简历中项目经历部分的好机会,一定要好好把握。就算可能接触不到这种大型项目,在国外学校的计算机课程中会经常有大作业,大作业其实就相当于是一个小项目,可以挑一些亮点写在简历上。
求职时间线梳理
我在之前没有集中投递过,前一年的秋招春招零零散散投递了几家公司,也拿到了保底offer,但不是很满意,打算23届秋招集中投递。
计算机秋招的话时间线一般是7-8月提前批,有的可能6月就开始了,9-10月正式批,然后会发意向,11月开奖。国企银行这种会晚一点,基本10-11月开始。秋招的时间基本与我们做毕设的时间重合,秋招信息可以关注各大厂招聘的微信公众号,以及一些校园招聘的公众号,都会及时推送。
笔面试注意事项
之前说的项目经历,计算机基础等等都是都是长期准备的过程。此外,对于开发岗来说,不会特别在意绩点,奖学金这种东西,所以IC的master在学历关上不太会受阻,剩下的就是硬实力了。
在临近秋招的时候也可以抱一下佛脚。首先就是算法,leetcode起码hot100+剑指offer要比较熟,建议多刷几遍,有余力的可以多刷一些别的题目。因为笔试会有算法题,面试会有手撕代码,这都是必不可少的环节。我在研究生期间,因为有一些基础,课程对于我来说并不是很难,所以依然每天会刷一道leetcode。
给大家笔试的建议是,有的笔试题算法会比较难,实在没有思路的话可以跳过,或者输出一些值,能过一些case是一些。以及注意输出格式,每道题都会有特定的格式,比如一些空格和换行,少一个就会判定错误,比较可惜。
至于面试,一般研发岗会有2-3轮技术面,会挖简历的项目,手撕代码以及一些八股。在聊项目的时候注意重点介绍自己项目中所用到的技术栈,把面试官往自己准备到的知识上面去引导。
根据我今年秋招的经历,大厂的话,八股已经不仅仅是计算机基础知识了比如数据库,操作系统这种,很多面试官会问一些场景设计,以及工业界会用到的一些技术。普通的八股还是建议面试前多复习,如果有一两个不会的也不用担心。手撕代码的时候注意和面试官多交流,暂时没思路的话大多数面试官还是会及时引导。
选择华为的理由
我投递的企业主要是科技公司,包括互联网,软件,AI以及一些手机通信厂商,后续也补投了一些银行的金融科技岗位。主要是C++开发,后端开发相关的岗位。
在今年互联网寒冬的情况下,前期投递的时候也不顺利,笔试没过,面试官故意刁难,没有HC,调到不是意向的base地这种情况也常常发生。所以,在秋招的过程中一定要心态放平,有时候并不是我们自身的问题,可能就是碰到的面试官聊不来或者HC招满了。
软件开发是一个比较万金油的职位,各行各业几乎都会有相应的需求,选择的时候除了考虑薪资福利待遇,加班情况等等,行业也是需要考虑的。最终我拿到了一些AI公司,外企,华为,以及一些银行软开的offer。
其实华为并不是这些offer里薪资待遇最好的,最终选择华为的主要理由是: 1、我所投递的部门为核心业务,赚钱多。2、华为作为通信基础设施服务的提供商,业务较为稳定(相比互联网大厂的一些部门来说),不会那么轻易被裁。3、我比较想进一个技术氛围比较浓厚的企业,所以国企相对弱一些。当然“华子”也有一些不太好的,比如加班,公积金少等等。
以上只是我个人选择的标准,我希望一直走技术路线,所以可能国企就不太满足我的标准。而现在银行金融科技岗所开的年包并不低,再加上各种福利,待遇也很不错。大家选择的时候可以进行多方面考虑,选择适合自己的offer。
这一年在帝国理工学院读研,不仅学习了很多专业知识,也给了我时间来提升技术背景,coding能力,我认为时间效率上还是很高的。虽然现在互联网寒冬,秋招难度较大,但是喜欢技术的同学们努力提升自己背景,也不用把目光局限于互联网公司,过分焦虑,还是可以获得理想的offer!