我是来自重庆邮电大学的学生,主要从事的是Android应用开发。在去年很荣幸收获了百度和阿里和一些创业公司的实习offer,最后选择了阿里并成功转正。作为一个非重本大学生,一路走来,深感整个过程的艰辛和不容易,很多东西只有踩过坑你才知道如何做才好。特别想给刚入大学不久的学弟学妹分享下我是怎么度过大学生活的,也想给即将找实习的同学分享下如何为实习招聘做准备和一些面试经验。
我从来就不是一个很聪明的人,不然怎么会读不了重点大学呢。但我是一个很会努力的人,或者说不甘于平庸。我相信看这篇文章的人跟我一样,不甘人后,不想在大学荒废自己的青春,因此也会比较迷茫。这和我才入学一样。接下来我会分享我是怎么提升自己,还有短暂的大学生涯中大家应该多去做什么,从而少走弯路。
大一、大二篇
考研还是就业?
刚入学的同学总是会因为这个问题而迷茫。曾经有个学弟也问过我:“学长你当时选择就业是在赌博吗?万一未来不能找到好的工作怎么办?”。我知道他怕因为学习技术而荒废了学习考研课程的时间,从而耽误了考研。
其实呢,我想说大一去想这个问题完全是没必要的,考研的时间是在大四上期末。离大一实在太远,与其纠结这个问题,不如好好的跟着老师好好学习,只要没有很严重的挂科,在大三的时候确定要考研的话,1年的时间完全够你复习。我也认识很多跟我一样学习技术的,到了大三励志考研,很快就进入状态,最近才考完,听说考得还不错。其次才入大学的人整个心是比较浮躁的,即使你确定考研,我想也不会花太多时间在准备考研上,毕竟还有很多课要上,期末考试要考,学校这么大,都想去看看。我见过太多一进大学就想着要考研,从而课后从不去学习就业需要的技术,到头来找工作不容易,考研又没有把握。因此真想考研的话大三去思考也不迟。当然选择考研肯定是因为兴趣,纯粹为了未来好就业那么你会很累的。然而事实上身边的确有很多因为觉得自己没技术,找不到好的工作而去考研的,那么为什么不从大一就开始学习技术呢?
培养自己的编程兴趣
如果本身对编程感兴趣的话可以选择跳过这一段。我知道很多学弟学妹会觉得编程很枯燥,因为你们只看到用C语言做出来的黑框框;只知道将编程用于某些数学问题。然而不知道编程可以做出绚丽的网页,有趣的手机应用。没体会过自己DIY出某个应用给朋友玩的那种自豪感和装X感。这也是学校教育比较失败的一点,也是新生对“编程可以做什么”的不了解,信息渠道缺乏,这也是为什么下面的文章我会极力希望大家能在大一大二的时候能多去参与实验室招新,或者加入编程相关的学生组织。有时候兴趣这东西真的是靠后期培养出来的,实验室能提升你的视野,了解某些编程语言的用处,互联网公司的运作模式,实验室的朋友能够和你一起学习编程,互相帮助,一起做项目,从而有动力,不那么枯燥。前期学习编程时,肯定是会非常痛苦和困难的,但当你学到某个点,可以自己动手做些比较有意思的东西时,才是真正体会到编程乐趣的时候。那个时候每天不花点时间在编程上都会觉得满满的罪恶感。
拼命也要加入编程相关的组织或实验室
既然非重点大学提供的技术课程不好,或者落后,跟不上时代。那么就去加入学校某些编程开发组织。我很庆幸我大一的时候就加入了我们学校很出名的互联网工作站“红岩网校”程序研发部。
第一是它让我获取到更多学长学姐就业信息,互联网行业有哪些就业岗位、运作模式,了解了除C语言外的编程语言。这些信息都激励我努力的学习编程。两个人未来发展的不平等,很大部分取决他们获取的信息的不平等,视野的不同。这也是为什么很多人宁愿留在北上广奋斗也不愿意回到二线城市过安稳的生活,因为他们和我一样深深的知道从农村走出来的痛苦,不想自己的儿女以后目光低浅,接受不到更好的教育,获取不到更好的信息渠道。扯远了,这里只想告诉大家能更多获取信息的重要性。
第二加入相关组织会让你编程学得更快。这并不是说学长能给予很多实实在在学习编程帮助。实际上学长最大的帮助是对你学习方向的引导,包括未来做哪个领域的开发,学习哪门编程语言,循序渐进的学习编程的某些技术点,也避免了你在寝室接触不到行业的一些新技术(Android开发变化太快,我认识很多学弟学妹学习Android还在看很老的视频教学,很老的书)。这也是我当了学长才领悟到,以前总觉得学长手把手教学是最好的,实际上那种是很不现实的,毕竟学长这样对你是没有任何酬劳和义务的。他们也很忙,他们给予学习方向上的帮助更多是因为感恩和传承,因为他们也曾被学长所帮助。相反,实验室里跟你同届的同学才是在学习编程上最好的老师,有问题互相讨论解决。你总能发现一些学习超前的大神,他们不但实实在在的帮你答疑解惑,还会给你压力,认识到自己是多么辣鸡,因为实验室的刷人机制(我们是200+的人一学期后只留下10+)才会让你产生拼命学习的动力,我就是这样过来的。
第三加入这些组织,有机会早早的接触项目,锻炼您的能力。这是面试官非常看重的。
第四能够交到更多志同道合的朋友。班上那些从早撸到晚的同学和我从来不是一类人,我知道是在实验室认识的那些朋友让我在学习编程上不感到孤单,给了我很多帮助,一起做项目,一起参加比赛,一起找工作,学长们还可以帮忙内推。阿里有一句名言非常棒:再牛逼的日子也不如和朋友一起“傻逼”的日子。真的很怀恋和朋友一起奋斗的日子。
交到一群志同道合的朋友
之所以把这个从上面提出来,只想说明这是非常重要的一点,理由如上。
多多参与项目开发,多多的参与比赛
我一直很喜欢这么一句话:“你学过的每一样东西,你遭受的每一次苦难,都会在你一生中的某个时候派上用场”。大二和大三上阶段是最适合做项目和参加比赛的时段。别因为做项目没酬劳而不去做,别因为比赛麻烦而不去参加。项目经历和比赛经历能够丰富您的简历,也是您大学没有白过的证明,这是面试官很看重的,不言而喻。可能有些人会因为没有平台让你去参加项目锻炼自己。我想告诉你的是一个人的项目也是项目,自己好好开发,发布到市场上,接受市场的检验;开源到github上,获取开发者的认同,也是面试官喜欢看到的东西。(我的简历里我觉得最好的项目经历就是个人开发的,有一定的用户量,star量。这些都能成为加分点)
大三篇
面试官看重什么?
“开发经历”+“技术能力”。我参加过很多实习招聘面试,很负责的总结出了这两点。一个人在大学编程经历是否丰富和你面试时候的最终表现决定了你是否能够通过(好像是废话)。“开发经历”让面试官决定您是否是一个靠谱的人,是否真正喜欢做开发。而“技术能力”是通过面试官和你的交流的得出来的结果,其中不少于考察你对项目中运用到的相关技术的理解深度,基础知识是否扎实,个人性格和思想是否符合公司的文化等。因此以下几点肯定重要:
内容丰富的简历
内容丰富的简历至少第一眼给面试官的印象是这个人“大学没白过”,而那些简历简洁,内容少的简历就刚好相反,给面试官一种很水的感觉。要知道面试官筛选简历就好比老师阅读高考作文,完全凭第一印象觉得是否要认真的看下去,速度很快。其次写简历,一定要突出重点。比如我就将我的开发经历的每个标题加重,并添加解释说明的副标题,让面试官一下子就能找到并集中在上面,这样筛选通过率我可以保证不会太低。
注重自己的基础知识
我不只一次听到朋友反馈自己面试没通过的原因是基础知识不扎实造成的,包括我自己也是。面试官非常看重我们计算机基础知识是否扎实,其中不限于以下方面:数据结构,算法,计算机网络,操作系统,数据库相关知识,与选择岗位相关的编程语言等。因此能在课上学到的专业基础知识一点要认真上,不然就必须自己下来补。其它的比如算法等面试官也非常看重的只能自己下来好好补了。后文我也会分享一些口碑比较好的书籍和网站。
学会总结面试经验
说白了就是”刷面经“。我参加过很多的电话面试,如果说一开始什么都能答出来那肯定是假的,我也很懵逼。但我有一个好习惯,面试完将面试官问的所有问题依依回想出来并记在电脑笔记本里(推荐印象笔记),并通过各种方式(实践编程,谷歌百度)找出正确的答案,并一同记录到笔记本,方便下次忘了复习,并从中总结出面试官偏爱会哪种技术的学生,哪方面扎实的学生,从而主动去学习总结,这样下次面试遇到同样的技术问题就很顺利了。特别是哪方面技术学得深的,就应该主动的去引导面试官去往那方面提问(例如主动提出某项目用到某某牛逼的技术),而自己不会的,学得不深的要劲量避免提到相关技术名次,防止面试官突然深入的询问你,人无完人,不会并不可耻,但是不会自己又想在面试官面前强行装逼那就是自己的问题了(面试官:怪我咯?)。面试官在某方面的问题一直都是由浅入深,会结合您的项目和他们实际中接触到的问题问你。因此你不只是应该如何使用该技术,而是要深入的去理解为什么要用这个技术,这个技术的优点是什么,原理是什么。这些才是面试官看重的。切忌不要在面试过程中用一些模糊不清的词,例如”大概“,”好像“之类的,宁愿猜错了,也不这样去说。这会让面试官觉得你学得马马虎虎,不严谨。
”不抛弃不放弃“任何一家公司
在找工作时,不要给自己立就业目标,非要去某个地方的公司,非要去知名的公司,非要去工资高的公司。不是说自己有目标不好,而是在自己还没拿到offer前应该多投简历,去获得更多的面试经验。这样在面试自己心仪公司的时候才会有充足的准备,避免猴子搬苞谷的尴尬境地。找工作是双向选择的,既要你喜欢那家公司,也要那家公司接受您,那么何不给自己更多选择的机会呢。很多公司在面试者达不到公司要求的拒绝信都会添加上这么一段话”您的面试让我们印象深刻,简历已经被我们加入了我们公司的人才库,如果需要您的时候会随时和您联系~“,为此很多面试者也会调侃的说:“该公司已经加入我的公司库,我会随时考虑是否接受你们的offer,感谢您的努力”,想起也是挺好玩的。
别错过实习招聘的最佳时机
如果你现在还不知道什么时候是绝大公司实习生的招聘时期,那么你就out了。一般情况下3月份是实习招聘的黄金时期,所以寒假的时候就已经可以开始准备准备了。开学期间有很多在线笔试,因此建议大家利用寒假好好学习哈算法相关的知识,练练算法题。不然开学了才开始去学习会很累,这个我深有感悟。
一般大公司都有校园招聘官网,可以在上面去具体了解实习招聘时间和岗位,在这里作为阿里新人,也提醒各位阿里实习招聘在每年的2/3月开学季,一定要提前准备,流程也很丰富,详情可以直接百度“阿里校园招聘”,点进去查看更多信息。
推荐一些口碑比较好的书籍
学习经典的算法:《剑指offer》
深入学习Java:《Java编程思想》,《Java设计模式》
深入学习Android:《Android开发艺术探索》,《Android 源码设计模式解析与实战》
阿里技术笔试心得:《技术之瞳》