本文主要是介绍应届生求职经历,这一篇就够了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
往期精选(欢迎转发~~)
-
如何看待程序员35岁职业危机?
-
Java全套学习资料(14W字),耗时半年整理
-
我肝了三个月,为你写出了GO核心手册
-
消息队列:从选型到原理,一文带你全部掌握
-
肝了一个月的ETCD,从Raft原理到实践
-
更多...
今天发一篇水文,应在校学弟学妹的要求,希望给一些求职方面的建议
这篇水文是我2015年写的,因为时间原因,就偷个懒,直接贴过来哈
以下是我2015年的复习过程和求职经验,时间虽有些久远,但异曲同工哈~~
在这次应届生求职过程中,我一共拿到4个offer,分别是展程科技、武汉百纳、北京无双科技、北京百度,下面将我个人的求职经验分享给大家,希望在未来的求职路上对在校的学弟学妹们能有所帮助。
复习
我正式复习是从6月20号开始,本来打算7月1号,闲来无事就提前了几天,既然要开始复习,选择好的复习资料很重要,经过师兄师姐们的介绍,同时也结合广大网友的求职经验,我买了《程序员面试宝典》和《软件工程师》,然后把以前看过的《编程之美》、《计算机网络》、《操作系统》、《设计模式》搬出来,加了《数据结构》和《面向对象程序设计》,资料算是全了,为了能有好的复习环境,我特意买了辆自行车,每天到北区的图书馆和考研的学弟学妹们一起复习,现在回想起那段经历,感觉还是满充实的。
既然要复习,制定一套详细的复习计划是必不可少的,借鉴了考研的那一套经验,我把复习阶段分为3轮,第一轮6.20-7.20,需要把《程序员面试宝典》看完,同时附带复习《数据结构》,并把《软件工程师》中关于操作系统、计算机网络和数据库的知识看完,并做完近4年真题中的选择题部分,并把《编程之美》前三章看一遍;第二轮7.21-8.15,就是把上一轮看过的内容重新再看一遍,并温习《设计模式》;第三轮8.16-9.1,再过一遍《程序员面试宝典》和《编程之美》,然后开始在网上搜罗各大公司的历年考题,并练习在纸上写算法,同时完成简历的编写。9月1号后,就没再复习新的内容了,只是温习之前看过的知识,然后就在各大公司官网上投简历,一直持续到9月8号。算下来,前后共花了2个半月的时间来准备找工作,期间走了很多弯路,在此列举下来,希望学弟学妹们引以为戒:
1. 没有复习好《计算机网络》和《操作系统》,这点是我最失败的地方!这两块内容我是根据《软件工程师》这本书来复习的,这种方法可以借鉴,但是里面有些知识基本不会考,且比较难,例如磁盘的移臂,读磁盘文件,但该知识点在软考中考得比较多,会被误导!同时,里面又有很多内容比较欠缺,例如tcp和udp的区别、socket编程等。对于这两块内容,建议先提前看看各家公司都考了什么,再有针对的复习,当你看完公司考的题型,你就知道怎么去复习这两块内容了,对于那些没学过这两门课的同学,就更得下功夫了!
2. 做完了《软件工程师》近4年真题中的选择题部分,回过头来,感觉浪费了些时间,其实该真题中只需做数据结构、操作系统、计算机网络的知识,数据库的可以看看,因为数据库的选择题考的比较少,更多是给个大题,让你写比较复杂的SQL语句。要是大家没有很多时间,也可以不用做,提前看看历年公司的考题也行,做到心中有底。(之所以做《软件工程师》中的真题,是当时听师兄师姐们说,每年的考题和软考很像,不过现在回头来看,数据结构部分很像,其它的还是有很大差别的)
3. 《编程之美》的内容看多了,第一章完全没必要看,只需要看第二章和第三章的内容,里面关于数组、字符串方面的操作都很经典,有时笔试面试还会考到原题。第一章和第四章,一方面太难,另一方面基本不会考,不过如果你对算法非常感兴趣,可以看看。看《编程之美》,其实主要是为笔试后面的编程题和面试准备的,它能给你提供很多常规题型的不同解题思路,特别是在面试时,我常常会想给一个比较low的方案,然后再给一个改进后的方案,因为很少人能一下子想到很棒的方法,同时也为自己争取思考的时间,这些都是我从《编程之美》中学到的。还有另外一本书《剑指offer》,和《编程之美》属于同一个系列,听说很好,个人建议两本选一本,然后把它看精看透,千万不要贪大求全。
4. 时间没有协调好,我把75%的时间用来准备笔试,25%的时间用来准备面试,这是个很大的错误,其实能否拿到公司的offer,主要还是看面试,笔试只是个敲门砖,而面试通常有2-3面,所以大家在准备时,要有意识的多复习面试方面的知识。另外一点我也想提一下,在笔试时,很多同学都在抄,特别是选择题,记得在9月中旬,我连续参加了5-7场笔试,没有一场进入面试,按道理我对自己的笔试很有信心,当时感觉很不公平,不过10月后就能拿到很多面试机会,道理我就不多讲了,再啰嗦一句,能不能拿到offer,还看你的面试。
5.数据库部分没有复习好,我只是复习了数据库的基本知识,没有复习如何写比较复杂的SQL语句,所以在笔试时,碰到写SQL语句的,很多都不会,建议大家多练练,网上的资料比较全。
上面只是我在复习中走的一些弯路,还有些建议,接下来进行补充:
1. 《数据结构》,重要程度我就不多说了,除基本知识外,链表、队列、栈、二叉树非递归遍历、6大排序算法都要会写。统计一下,我记得二叉树非递归遍历考过3次,注意是非递归,队列也考过3次,链表考了7-8次吧,栈没有单独考,但二叉树非递归遍历就是需要通过栈来实现。
2. 《程序员面试宝典》,重中之重,至少得看2遍,3遍最好,争取每道题都会。这本书有个很大的缺点,对于操作系统、计算机网络和数据库方面几乎就没怎么涉及,所以这几块就得去补了,至于怎么补,上面已经说过。对于数据库部分,除了写SQL语句,还会让你设计表,这个考过3次,感觉也挺重要的,至于如何提高数据库的查询效率、事务的特点等,考过很多次,也提一下。
3. 《计算机网络》和《操作系统》这两本书,里面的内容太多,没突出重点,其实看看《软件工程师》中的相关内容就行,不够的再补充,这只是个人见解,当然你要是觉得直接看这两本书的效果更好,那也可以。
4.《设计模式》是一本相当经典的书,这本书让我在面试时加分不少,这本书我看过3遍,如果想应付面试,大可不必像我这样,可以选3-4个比较经典且有点难度的设计模式,然后把它们整透,通常面试时面试官会问你知道哪些设计模式,这时你的机会就来了,但千万不要露馅了哈!
笔试+面试(创新工场)
本来以为9月10日才开始正式找工作,没想到有的公司很早就开始进行了,第一家笔试的公司是创新工场,开始都不知道这个公司是个啥,只知道是李开复创办的,然后就去听了它的宣讲会,接着就是笔试,选择题都是数据结构、操作系统和计算机网络中的知识,刚好有两道题选择题在《软件工程师》的真题中见到过,还有一道是腾讯某年笔试原题,大题有3道,第一道是单链表节点删除,写过N次了,第二道是部分循环字符串反转,感觉有些难度,但还是写出来了,第三道题不写源码,只给出思想即可,具体的记不清了,我当时借鉴《编程之美》中的思想,给了2种方法,第二天上午接到了面试通知,很是欣喜!
得到面试通知的第二天,我一大早就去了华科的面试地点,里面是个不大的办公室,坐了5家公司的负责人,按来的先后顺序进行面试。我是第一个,感觉很是紧张,上来就给你一道题,分割数组,记得当时用了个二分法,然后还分情况讨论。在面试过程中,他还反复给你施压,我本来就很紧张,现在就更紧张了,大约面了40分钟,前后都是围绕这个算法,面完后,感觉很糟糕,回去找师弟们吐槽了一番,刚吐槽完,就接到晚上双选会的通知,我当时感觉很惊讶,不会吧,这样都过了,的确让我很意外!
当天晚上就开始双选会,来的学生近70人。当时来了5家公司的负责人,都是创新工场的孵化企业,分别为展程科技、糗事百科、涂鸦移动、微车,还有一个给忘了,当时感觉有点失望,没有我想去的豌豆荚和知乎。后来才知道,我们需要选择3家公司,然后它们会通知你终面,我靠,还有一面,当时我选的是展程科技、糗事百科和涂鸦移动。
第二天下午在华科笔试完腾讯后,就骑自行车往地大食堂赶,刚到食堂门口就接到展程科技的面试通知,然后又折回华科,找到展程科技的终面地点,里面只有一个面试官,就是展程科技的boss,打听了一下,里面坐的都是华科的学生,足足有20多人,感觉压力山大!由于我是外校,HR准备让我下一个面,好让我早点回学校,我进了房间,需要填一张表,当轮到我时,我给HR说我的表还没填完,让我后面的同学插到我前面去,其实我是想听听整个面试过程中会问到哪些问题,也让自己有个心理准备。大体了解了面试官要面试的问题后,我组织了下语言,预估了我需要的薪资待遇,然后就开始面试。由于boss非技术出身,没问技术方面的问题,加之之前做了小小的准备,整个面试进行得相当顺利,给我开的薪资待遇比我预期的还要高,心情很是激动了一把,出门后我就给我爸打了个电话,第一家公司面试就拿到offer,真的感觉非常幸运。
失败+失败
拿到offer的第二天,就开始面试涂鸦移动,上来就写个堆排序,没想到近十天没写这个算法,突然写得有些吃力了,不过最后还是写出来了,然后问了我堆和栈的区别、二维数组的初始化、const和typedef的区别、网络七成协议等,感觉都比较基础。可能堆排序写得比较乱,有些地方我自己都看不清,然后还有些边界条件没有注意,同时关于计算机网络方面的知识没答上来,最后就一直没有消息,感觉自信心有些受打击。接着晚上的糗事百科,不用写算法,只需要说思想,第一道题是在时间复杂度为O(1)时,如何用栈实现最小数的获取,想了半天没想出来,后面的几道题也答得不怎么好,然后也没消息。后来的腾讯面试,上来也是写算法,这个倒还简单,然后是指针偏移,感觉也没问题,但后来问的都是与内存相关的知识,例如线程和进程有几个堆和栈,还有文件方面的知识,总之操作系统方面的知识偏多,刚好当时这块没复习好,也就挂了!之后就是天天笔试,从拿到第一个offer后,几乎每轮笔试都挂,当时记得已经连续挂了5-7轮,不是自己笔试做得不够好,是大家都做得都很好(大家都在抄,狂晕),加之自己的学校非985,专业非计算机,自然就更没优势,不过如果笔试非常严格的话,我想我应该可以拿到相对较多的面试机会。虽然基本都挂在笔试上了,但还是有一家公司笔试通过了,就是武汉百纳,当时给我的感觉是,终于又有面试机会了,不容易啊!
笔试+面试(武汉百纳)
武汉百纳的笔试题,前面比较基础,感觉没什么区分度,但后面几道大题比较考验编程水平,其中选择题全是数据结构、操作系统和计算机网络的知识,各占1/3,大题好像有6道,前3道非常基础,都是程序改错,后三道就比较难了,考的就是你的编程思维。
估计武汉百纳不歧视地大的学生,这次一起去面试的同学有6位,感觉是空前的多,以前能有1-2个认识的就已经不错了。一面时先问你试卷上的题目,检查你是不是抄袭的,特别是选择题,之后就问了些比较基础的知识,如何判断循环链表、内存管理方法、TCP协议等,最后就问了个比较考验思维的题目,好像是关于大数据排序,我当时先给了个比较low的方法,然后又给了个改进的方法。一面下来,感觉自己希望不大,操作系统和计算机网络方面的知识没复习好,最后一道题回答得也不怎么好,于是就在一旁等通知,正准备收拾东西回学校,没想到HR告诉我已经进入二面,正给我安排面试官。
接着就是二面,面我的是个大牛,我当时也是抱着破罐子破摔的心态,反正捡个二面的机会,即使进不了三面,我觉得也无所谓了,正是这种心态,让我在面试时格外放松,和面试官有谈有笑,当时感觉不像面试,更有点像技术交流,即使有些地方不懂,他会给我提示。记得最后一题,当数据库中的数据很大,这时该怎么办,我当时就想到分布式数据库,然后他问我怎么构建该分布式数据库,怎么找到对应的数据,怎么高效率的查询数据等等,我当时异想天开,把哈希表都整出来了,但感觉面试官还比较满意。在面试过程中,他会引导我,其实他并不是要你给一个确切的答案,而是对于一个没遇到过的问题,考察你思考问题的方式,其实对于这道题,我以前完全没遇到过,分布式数据库,我以前也只是听说过,通过他的引导,当我给出一个他比较满意的答案后,我当时感觉二面基本上没什么问题了,果然如此,他直接让我进入HR面,虽然最终HR没有直接给我offer,但我估计也没什么问题了。这个offer,给了我很大信心,虽然之前笔试一直挂,但还是感觉之前的准备没有白费。
笔试+面试(北京百度)
海豚面试结束后,第二天就是百度的笔试,感觉百度笔试很正规,监考非常严,这一点让我感觉很公平,但当时我应聘的是深圳的移动开发,全国只招10个,当时没想过能进百度,只是希望自己能过百度的一面,就很满足了。百度的笔试没有选择题,都是大题,并且这些大题都不简单,有树的非递归遍历、Android界面设计、数据库表设计等,题目非常灵活,不过感觉自己答得都还不错,加之笔试很公平,所以对自己进入面试还是很有信心的,果然,第二天就接到百度的一面通知。后来问了班中其他同学,还有一位也通过了百度笔试,所以感觉百度笔试通过率还是比较低的。
百度一面,比我想象的要简单很多,不像腾讯,上来就是坑爹的内存。百度一面的知识都很基础,从C++到数据结构,再从操作系统到计算机网络,还写了算法,并问了设计模式,前后面了40多分钟,除了最后一道智力题没答上来以外,其它基本上都没什么问题,晚上就接到百度的二面通知。
第二天同样的时间点到武大进行百度的二面,一面一点不紧张,但当进入二面时,我反倒紧张了起来。二面是个技术大牛,由于开始有些紧张,很多回答描述得不是很清楚,当面了近30分钟后,整个面试进入了僵持状态,气氛不是很好,感觉自己没戏了,说来奇怪,当感觉自己没戏时,心态顿时好了很多,反正也无所谓了,面就面吧,能进入百度二面,其实已经很满足了。带着这种心态,又面了一个多小时,问的问题很多,C++、数据结构、操作系统、计算机网络、数据库,感觉能问的都问了,前后持续了整整2个小时,最后给我2分钟,让我写个算法,用递归的方式反转链表,不过我花了不到一分钟就写完了,整个面试也就到此结束,这也是我有史以来经历最长的一次面试。(对于这次面试,还有一个小插曲,因为当时身体出了点问题,不能坐,更别提走路了,所以在整个面试过程中,我是躺着面试的,在此真心感谢那位面试官,希望以后在百度还能见到他,向他表示感谢!)
第三天就是百度的三面的,真心没想到能进百度的三面,过五关斩六将,这话一点都不假,百度的三面仍是技术面,前两面考你的基础,最后一面就考你写代码的能力和思维。先是自我介绍,并谈谈自己的优势,之后让我写个队列,当时有个地方写得有些问题,被问了好长时间,第二题是一道与火车订票系统相关的数据库设计题,让你设计一个数据库,能满足用户订票和退票功能,同时能满足快速查询功能,设计是基础,查询是重点,虽然没买过火车票,但没吃过猪肉总见过猪跑吧,我也知道面试官并不奢望我能马上给出一个满意的答案,他只是想看看你思考问题的方式和解决问题的能力,我先设计数据库,然后将查询问题进行转化,具体细节也记不清了,不管怎样,我至少给出了自己解决问题的方法,并且该方法也有其可行性。(三面过后,比较优秀的学生过了几天就收到offer,我第三面表现平平,就一直没通知,直到11月初才给我offer,所以过了百度三面没有马上拿到offer的学生也不用灰心)
其他公司
最后一个offer是北京无双,拿到这个offer是10月10日,一轮笔试一轮面试,感觉相当顺利,在10月15日三面4399,需要一个星期才能得到通知,由于武汉百纳催得比较紧,同时薪资待遇在武汉相当不错,15日下午就签了海豚,所以说10月15日,我提前结束了找工作这段旅程,不过后来拿到百度的offer后,就准备毁掉海豚,然后签百度,不过这些都是后话了。在找工作这段过程中,我其实面试过很多家公司,除了上述提到的公司外,还有搜狐、深信服、酷派、京东等,笔试过的公司就更多了,有PPS、美团、航班家、thougntworks、数字政通等,至于具体笔试了多少家,自己也记不清了!
总结
在找工作时有一个非常明显的特点,由于各大公司非常看重学校,非985学校的学生在9月份找工作时会处于很大劣势,所以大部分地大的学生都是在10月份才能找到工作,对于我们这些211且非计算机专业出身的学生,想在9月份找到工作就更难了,所以在9月份没找到工作的同学不要急,10月份才是我们拿offer的时候,但有句话“金九银十”,即像BAT这样大型互联网公司的招聘都集中在9月份,10月份中小型的公司偏多,所以要想拿到BAT的offer,还是很有难度的,但只要有一丝机会,希望大家都能努力争取!最后预祝大家也能找到心仪的工作!
这篇关于应届生求职经历,这一篇就够了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!