一直以来都是看别人的面经啥的,现在总算有了一个相对满意的结果,把自己这一路的体验都记录一下,也好给大家一个参考。
先自我介绍一下,本人西南地区某211院校软件工程专业,因为地理位置不太好,校招季基本没有什么大公司愿意过来。相对于很多校招拿到BAT的offer的同学来说,我的经历不算什么,只是想记录一下,希望以后的同学能避过我踩过的这些坑。顺带提一下我最后签了金立北京分公司,做Android应用开发。
关于项目
我大学期间没做过什么特别大的项目,从开始学Android到校招也只是有一年的Android开发经验,项目比较少,所以简历上能也只是写了3个项目。关于技术类我想说一点,项目之类的最好是自己先定一个目标,比如想做Android开发啊,想做Java后台,想做网站前端什么的,有一个目标,然后自己在平时的课程项目中在这些方向上有所侧重,这样在写简历的时候才不至于拿不出项目经历。
关于实习
在校招之前最好能找公司实习一下,我就在这方面踩了大坑,大三下的时候忙着学校的课程,丰富项目经验什么的,没能好好找个公司实习,在校招的时候发现有实习经验的话会好很多,大公司其实还好一些,不太要求实习经验,当然有是能加分的,但是小公司的话,没有实习经验可能简历都不能通过,因为小公司是希望你进去就能干事儿的,他们没有太多的时间和精力培养你。所以最好在大三能找到一个不错的公司实习,学习一些东西是最好的。
关于基础
由于没有去实习,我在大三的暑假都在家里复习基础相关的东西了,但是效果不太好,之前也没有太好的规划,导致有机会的时候没能好好把握住,这是非常不好的。基础这东西确实非常重要,特别是在技术岗。因为大公司既然选择校园招聘就应该知道,学生没有什么实际经验,所以很多都非常看重学生的基础,当你基础非常扎实的时候,他们会相信你学习其他的东西会非常快。计算机相关的基础,主要是以下几大类:
算法和数据结构:推荐《剑指offer》,上面是C语言的,你也可以尝试用其他语言来实现,对于手写代码,或者大公司的在线笔试很大程度会涉及到上面的题,就算不是原模原样的题,也会有类似的地方。多动手实践,否则很有可能出现看到题目感觉似曾相识,但是就是写不出来的尴尬。还有牛客网,上面有很多在线编程题,可以经常练练。
计算机网络:这方面我只是看了几篇博客,没有太深入的复习,大家可以看看这个面试·网络笔记,感觉写的还是很不错的。
操作系统:没有太多准备,主要是看了《程序员的自我修养》,也只是挑着看,没有看完。其实类似于操作系统,计算机网络之类的复习,我觉得可以看考研的复习书,上面的知识点都比较细,还帮助我们做了很多总结,这一点大家可以上网找一下,很多推荐的考研复习书都是非常不错的。如果时间比较充裕,其实看平时上课的教材也是不错的,只是这个知识点比较散,需要自己去总结。
编程语言:编程语言这个,看倾向于什么岗位,有C++的,java的,python的,分类还是很多的。我当时投的岗位都是Android开发的,所以Java方面考察会多一些。Java方面的很多会考察一些非常基础的知识,可能自己平时开发中都不太注意到了,而这方面算是一个考察的重点,我自己没有总结完,推荐大家看这个面试心得与总结,这篇主要是Android的面经,写博客的人是大牛,我看到的时候其实已经挺晚了,但是对我的帮助还是很大的。这里强烈推荐缺乏总结能力,或者没有精力做知识点总结的同学好好找一篇写的非常详细的面经,类似上面这样的,参照上面总结的知识点一点点突破,对个人会有非常大的帮助,毕竟你是跟着人家的脚步走的,如果努力到位了,也不会差到哪里去。还是那句话,注重基础。
有的可能会涉及到设计模式:设计模式考察不会太多,但是出现的可能性还是挺大的,不用全部都看,也记不了这么多,挑常用的几个看,再结合实际开发,什么单例模式,观察者模式都可以看一下。如果是Android开发的可以看一下这个Android源码设计模式分析开源项目,个人觉得写得非常好。Android这方面可以结合源码进行一些总结和分析,顺便说一点,关于看源码这个,一开始想必是非常痛苦的,毕竟大牛都是经过多次修改才得出最后的这个版本,但是也必须要坚持,多看几遍自己再理一理就好多了。关于源码的分析,如果能在面试的时候展示出来,会有非常大的加分,这体现了你的钻研精神。
关于笔试
很多大公司都喜欢弄在线笔试,而很多同学都跪在了在线笔试,当然,我也跪了,这也是我要强调的地方,多练习在线笔试。在线笔试题型一般就是选择题,在线编程和问答题,问答题的部分一般结合自己平时的项目经历或者上面说的,找到一篇全面的面试总结,针对每个知识点好好复习,都可以答出来。在线编程占很大的比重,所以这一部分参照我上面写的**算法和数据结构**那里。而选择题范围可能会非常广,一定要提前做一些准备,结合上面提到的,牛客网,考研复习资料什么的来准备,胜算会大很多。笔试是硬来的,想想期末考,不会就是不会,所以提前一定要做好准备,多做练习,多刷题,多刷题,多刷题!!!
关于面试
由于笔者没有经历过几次正规的面试,所以这方面不太好给出什么建议。根据我自己的经验来说,面试的时候适当和面试官有所交流,比如说他提的问题你没听懂,不要装作懂了然后胡说,把问题问清楚了再思考如何回答。不要说太多次不知道,当然也不要不懂装懂,可以换一种方式来解答。如果面试官问你一个什么问题,你不知道怎么回答,但是这个问题和你遇到的另一个问题很相似,你可以说:这方面我没有接触过,但是根据我以往的经验我觉得可能是这样的。。。把你会的东西尽可能多的展示出来。其他的看看大牛的面经吧。
关于心态
这也是我最想说的地方。在整个校招阶段,你可能会有很多次笔试面试的机会。当你面试没通过,或者简历投了没有结果时,不要气馁,这说明你还有需要改进的地方。简历没有回应就反省一下是不是简历写的不好,写简历的时候主要要针对具体的岗位要求进行一些修改,突出一些他们看重的地方。面试没通过,可能是你的技能和公司不匹配,可能是你某方面还有欠缺,比如数据结构可能不太扎实啊,可能编程语言基础不太牢固呀,这些问题可能面试官不会和你说,或者说的很模糊,这个时候就需要你自己去总结,到底是什么地方还做的不够好,千万不要因为失落就不去努力,因为你永远不知道什么机会就来了。整个校招,我觉得我最庆幸的地方就是一直没有放弃学习,之前参加了网易的面试,但是没通过,那次打击还挺大的。后来的在线笔试也做的不好,感觉校园招聘就这么过去了,而我连面试都没有几次。后来学校来了几个比较好的公司,中国航信重庆研究院,金立和浪潮,在来本校校园招聘的公司里面,这3家算是比较好的,去参加面试之后都通过了,最后因为工作地点和职位发展,我选择了金立北京分公司。对我来说也是一个很满意的结果。
所以不管什么时候都不要放弃学习,反思,然后补充学习,最后都能找到好工作的。最差的不过就是先找实习,然后好好准备,等来年春招,所以没什么大不了的,要相信一切都会好的。
最后祝大家都能找到好工作!