前两天刚签了欢聚时代,也算是为自己找到了一个归宿,回首这半年来的求职路,可以用命途多舛来形容,也算是靠着稳扎稳打一步步的走下来了,拿到了金山WPS与欢聚时代两个offer,最终推了金山WPS,选择了欢聚时代,虽然薪资不是很满意,但是欢聚时代的发展平台还是不错的。接下来写写9月以来的笔试与面试经历吧。
8月份的阿里在线笔试,Linux菜鸟的我脑残的选了系统工程师这个岗位,然后在网测中被虐成狗,由于时间久远,具体题目也记不清了,最后的大题是关于服务器设计的,反正如打酱油一般参加了网测,结果也是可想而知,就此打住吧。
9月份开始,腾讯校招来临,为了9月份的校招特地重新做了一份新的简历,然后开始征战。在华工大学城校区,参加了腾讯的笔试,笔试岗位为后台开发,腾讯的题目基本无论岗位都做同一份题,基本为C++,参杂了几道未知语言的题,总的是来说是C++,所以听说搞JAVA的人被这道题虐了很惨,很多JAVA大牛都没能过这次笔试,题目的选择题内容大概是虚函数、指针等C++基础知识,还有一些数据结构的题,比如根据树的高度来计算树的最多与最少节点等诸如此类的问题,相当简单,简答题也没什么太大难度,最后的附加题是关于实现一个内存管理的vector类的,也不算很难,但是很多细节要考虑,最好熟悉STL。两天后收到一面面试通知,去到westin酒店,腾讯在这里包了大半动楼来面试,技术类的酒店客房单对单面,非技术在大堂以9人一组的无领导小组讨论进行。进到客房后,面试官是一个大概35岁左右的男人,他笑着请我坐下,然后微笑的叫我先介绍下自己,那是一种让人觉得很放松的笑,在我自我介绍的过程中,他一直微笑的听着,偶尔还是会小聊一下,然后他拿着我的简历开始问我做过的项目的问题,问的很仔细,期间还有很多他自己的看法和疑问,然后会就项目中存在的一些问题向你提出一些质问,此时考验的就是你的思维逻辑,还有问题分析和解决的能力,我基本可以说出个大概,这个过程持续了20分钟,基本是在纸上比划项目上可能出现的新问题,所以一定要对自己的做过的项目有一个很深入的回顾,否则有可能被问跪了,最后问了下我笔试的时候那个附加vector类的实现,聊了一下他就让我回来等通知了,然后就再也没有然后了,我感觉这个面试官应该是个大牛,所以面跪了我也能找到问题,比如有些被问到的问题我确实解决的不好,还有就是那道附加题的实现我确实也有些问题,腾讯一面就这么跪了。PS:我有个渣渣的同学也是面了一面,但是面试官是个女的,而且只问了一些基本的数据结构与算法,然后写了个洗牌算法就过了一面,这难道是真的是个看脸的世界吗- -!。所以说面试有时候也要看运气。
4399笔试与两面:关于4399的笔试,我的应试岗位也是游戏开发--服务器端开发,关于他的笔试题目也是基本以C++基础为主,当然还是老规矩的涵盖数据结构跟离散数学的一些东西,特别是关于树的,然后大题是两道算法编程题,其中一道主要考字符串的KMP匹配算法 ,由于时间关系,第二道KMP算法没有写完。考试完当晚收到面试通知,第二天早上第一个面试,面试官坐下之后问了一下我做过的项目和平时的生活爱好,然后看了一下我的成绩单就给我过了第一面。于是乎下午第二面,是个大概40岁左右的大叔面试的我,那个时候看得出来的是面试官很困,然后听完我的自我介绍之后也是问了一些相关的项目经验跟生活爱好之后就让我回来。这次神奇的经历让我再次对4399这个公司产生了很奇怪的感觉(之前实习生招聘的时候过了第一面,然后去到公司本部面了HR面后,了无音讯,居然HR面都跪了,当时很是不能理解),两次面试都问同样的问题,让我觉得好奇怪,当然一如既往的,这次面试之后又是了无音讯,反正我是摸不透他们这样面试能面出什么,反正吧,就这么没了。
招行笔试与一面:在大街网投了招行软件中心(融博软件中心)的软件开发工程师的职位,收到了笔试通知,在华工的一间大讲堂,那天有点事去晚了,迟到了半个小时,在门口的那个大妈HR硬是要看我的简历还有短信通知,然后顺便奚落我一番才让我进去,进去之后听完他们的宣讲会才开始的笔试,这里补充一下才考试开始之后,所有迟到的人想进来霸笔都被拒绝,理由是迟到了一个小时,他们不接受。说说他们的笔试题风格吧,老规矩考C++基础(很多公司都爱这么考),然后考了相当多的离散数学的东西(比如无向图,关键路径,拓扑图)等,还有一个最奇葩的是填空题(考了前面几家,这家是唯一出了填空题的),而且考得很泛,有数据结构的比如数据结构的三大特点、有计算机组成原理的比如IO通讯方式、有软件工程的知识,还有操作系统的一些基础知识,这些东西觉得要填出来相当难,毕竟忘得差不多了。然后是一道数据库大题,有四个小题,给了两张表,第一道考创表,第二道考修改数据,第三道考权限修改,第四道是比较难的一道嵌套查询,反正我是没做出来,后面是两道算法填空题,基本代码框架已经给出,要你填充算法,并不是很难,细心点可以做出来,有C++跟JAVA两个版本,据说两个都做有加分。虽然考得很杂,但是过笔试还是不难,所以第二天晚上收到了面试通知,在华工大酒店,去到那个大酒店的面试等待室,身为一名屌丝程序员的我差点以为走错地方了,为毛这些都穿着正装,而我则一副很正常的t恤加牛仔装扮,显得很是不合群,在等待面试的过程中听到已经面过的几个人在讨论,听出来他们是中大的研究生,顿时压力倍增,等了半个多小时进到里面面试,然后噩梦开始了。那是一个大会议圆桌,对面坐的是3个面试官俨然一副拷问的架势,上来第一个问题就是为什么不考研,然后以下是接下来的问题列表:
1.本科生?为什么不考研
2.为什么没过六级
3.拿过奖学金没有,拿了?证书怎么没打印过来
4.成绩单为什么不是学校打印的
5.为什么大一成绩这么差
6.家里有多少个兄妹
7.想做什么岗位,为什么?
等等这类和由这些问题引发的相应的问题的问答,3个人轮番质问,对于没面过这类压力面的我来说,短短的15分钟的面试简直让我头脑风暴,甚至凌乱,面试结束之后走出华工大酒店我就觉得没希望,第一次碰到技术类面试不问我技术反而是这类问题的,这次面试也给我一个启示就是对于这类银行类型的企业是很重成绩跟形象的,所以身为学渣兼屌丝的我妥妥没有希望,但是我并不遗憾,因为这本来就是我的一个尝试而已,而且相比于这种只重成绩跟学历的公司,还是互联网公司比较适合我的性格,成绩单这张纸只能证明我对有些东西不感兴趣,我搞不懂难道穿着正装写代码能力会有加成? 呵呵,天知道呢 ?
深信服笔试与两面:在招行一面回来的晚上就赶去华工笔试深信服,当时对这个公司也没多大研究,就觉得有C++的笔试(说实话,能找到个招C++的公司的笔试在一开始还是相当难的,因为JAVA还是占主流)就该去试试,我是跟我舍友坐在一起做的这份题,一开始是打算互相帮助的,后来监考官说了什么作弊一经发现就要报告学校之类的某某云,就打消了鸟头,当时还签了什么保密协议,反正无关紧要,然后笔试终于开始了,试题正面赫然写着不写编程题将不给面试机会,好像很厉害的样子- -,后来发现确实很厉害啊,这份卷子现在看来是我做过最难的一分关于C/C++的卷子,里面大都考的是关于指针、有无符号数的转换跟位运算,这些都是相当底层东西,所以做起来相当费脑,关于大题的话,就一道创建链表的跟一道根据给定序列删除链表节点的编程题,不能算难,但是说实话答题纸实在小没办法完全写下(建议还是应该练下手动写代码的能力),还有两道简答题是关于哈希表的查找冲突时的查找速率提高问题,另外一道就是关于C语言指针的内存泄露定位问题,由于那天面完招行又写了这么一份题,是相当累的。两天之后就收到了面试,还是在华工A4-602,我去到并没有等待多久(之前的几个面试都是等待差不多半个小时左右的时间,只有腾讯是最准时的),面试官先是问我做了这份题目的感觉,然后就拿出纸开始考了,一开始是写一个memcpy函数,要求考虑内存重叠的情况,但是一直在面试官面前写代码的能力比较弱,所以虽然实现了大部分,但是还有部分没做好,然后又要求我非递归的二分查找法,当时已经有点紧张的我愣是没写好- -,坑死爹了,然后问了一下我Linux下的进程间通讯方式,然后由socket转而问我阻塞与非阻塞的区别,然后又问了Select跟Epoll的区别,我都一一解答出来(还好我之前我有看过腾讯后台开发的面试题),然后面试无奈的说如果你之前两道题有一道题是做出来的,印象会更好,他说这样吧,给你多个机会,下午过来二面,自己把握机会,于是。。。下午去到二面了,换了另外一个面试官,上来就问我那些项目经验,有鄙视的说我做的这些项目逼格不够高,然后进入到正题,然后他就开始问我Linux内核的东西,Linux菜鸟根本招架不住啊,所以这一面基本是没啥希望,当时他也没有再说什么就让我回来通知了。奇怪我记得我简历写的是熟悉Linux基本编程,没有写到精通内核啊,哎,又坑爹了,不过整体来讲的话,面试官还是有水平的,只是我水平不够,没想到深信服对Linux内核要求这么高啊,所以结果可想而知,没有消息了。
WPS笔试与三面:忘了WPS的笔试是什么时候开始的,只记得在中大,那天还是差点迟到了,去到之后身边坐了一个妹子也是应聘c++工程师的,瞄了一眼学校,我去,又是中大的,瞬间又觉得压力大了好多,然后笔试题只有8道选择题,不是很难,只有一道关于cout的参数压栈问题的,参数是函数调用,而函数里面又static变量的时候的影响,然后是四道编程题,其中4选2,选了第一道矩阵顺时针输出的做,还有一道就是实现一个内存池分配的(跟腾讯的笔试题附加题有点类似),这两道题做起来第一道比较费时间,第二道则是比较考细节一些。然后几天就收到面试通知了,还是在华南理工大学面试,第一面的大题大概是这样的:
1.C++的虚函数机制实现
2.传值与传参的区别
3.引用与指针的区别
4.大型系统的内存指针管理
5.看过哪些书?学到什么东西
6.shared_ptr的使用
7.weak_ptr的使用
8.vector与map的底层实现
9.程序启动的流程
10.上过github吗,有无项目
11.学习的方法
12.windows消息机制
大概就是这些,都是一些很基础的问题,没有太难的,所以都答得出来,然后就让我准备下午过来面二面。二面的时间HR改了3次,先是3点半,然后打电话过来是说是2点半,最后直接在我午睡到1点半的时候催我过面试,真不知道怎么搞的,然后去到面试地点后,面试官就开始说,我们直接设计一个题目来做吧,我笑着答可以,问题是实现一个引用共享计数的string类,然后我们一起分析了解决方法跟思路,然后模仿shared_ptr( 之前有研究过他的源代码)开始写代码,实现是45分钟,然后是在面试官的电脑上采用VS2010写的,期间面试官一直在我身边转悠,最后我写完了,不过在跟面试官探讨答案的时候还是出现了一些bug,不过看得出他对我总体的实现还是满意的,然后他就让我回来等消息,当天晚上11点就收到三面的面试通知,第三面是HR面,这种谈人生谈理想的面试我就不再赘述了,最后一步是签约,当时他给我开出的待遇是实习2500,包吃住,试用8k包吃不包住,转正10k包吃不包住,有一千房补,地点是在珠海,由于我当时希望在广州,还有种种原因,当然这都是后话了,我就拒绝这份offer,当时其实真的是很心动,因为当时没想过自己能拿到这么高的薪水,不过吧,人生总是很难十全十美吧,拒了之后马上跑去欢聚时代面试。
欢聚时代笔试与三面:欢聚时代的笔试是在华工五山校区,记得当时是在深信服早上一面之后赶过去的,时间很赶,因为下午我还要回来面第二轮,所以那天快1点赶过去五山,1.50分到笔试地点,坐下就是开始笔试,还是C++开发工程师,题目是40道选择题加4道大题,总共120分,选择题考得相当基础,没啥太难的题目,简答题分别是一道快排、一道二叉中序、一道关于页面替换算法的原理实现描述、一道2.5个亿找出不重复的数的实现,都是相当简单的。果不其然收到一面通知,那天是拒了金山的offer后马上赶过去面试的,当时心情很是沉重,因为拒绝这样一份offer需要很大的决心吧,当时也是想了一个多小时下的决定。有等了半个小时,遇到了一个同班同学,不过他貌似面跪了,据说他因为虚函数的例子都说不出,就被冠以你各方面都不行而被打发走了,然后轮到我,当时那个面试官看了一下我的试卷分数,选择题得了70分(总分80),大题得了20分(总分40),问了是不是刷了题,大题怎么这么高,我笑着说没有啊,他后面又翻了一下,发现原来是漏改了两道大题,改完后加了20分给我,所以那份卷子是110分(满分120分),哈哈,感觉像是学校的考试那样子简单,然后他就开始问我看了什么书,我说看了侯捷的一些书,比如《深入探讨C++对象模型》,于是他就是给了一段代码,针对虚函数跟虚继承来考我,还好我对这方面还是比较有把握,所以妥妥过了,然后接着就是问了一下C/S模式, 还很扣细节的问了我bind、listen、accept所做的一些事跟原理,然后又问了socket阻塞与非阻塞,同步IO与异步IO的区别,然后就转到了STL上面了(还好这阵子一直在看Effective STL》,还是问了vector跟map的使用和实现,然后要我使用vector实现一个FIFO的队列,然后问我实现这个队列最佳容器是哪个? 然后又问了一个1000个单词,长度小于6,进行字典排序,问我实现方法有哪些,当时想到了vector与sort的结合使用,还有set的保存元素,还有就是Tried树。然后他就满意的叫我留下来面第二面(当时都6点半了,简直没人性,肚子都快饿死了),HR也考虑到这个有点晚了,就叫我先回了,然后第二天的技术面是一个技术大牛来面我的,基本围绕我之前写的一个网络对战的五子棋在探讨,而且他问的问题确实都是我之前没有考虑过的,我们也研究QQ游戏的服务器端实现,还有就是外网跟内网的区别,还有就是一些之前学习方法的问题,最后他的总结就是我的经验比较少,需要人带,然后对外网的知识不是很熟悉,这一面说实话我自我觉得面得很不好,暴露了自己相当多的问题和不足,心里还是很感谢这个面试官的,虽然我觉得我可能会跪,但是我当然就收到了HR面的通知,还是相当开心的,老规矩,HR面就不说了,就问了薪水期望和工作岗位意向,然后就让我回来了,前两天去到欢聚时代公司签约,在羊城创意园,这里环境似乎还是不错的,当时跟看了一段短片后,HR就安排人签约了,跟我谈签约事宜的那个人是我HR面的HR,然后她当时说根据评级,公司给我的薪水7k,当时听完之后真是心塞,可能是因为有了金山的对比吧,不过她说可以根据我的意向给我去做后台吧,额,怎么说呢,还是很纠结,但是我怕这个不签,之后就没有更好大公司了,所以再三考虑下,我还是签了,走出公司的那一刻,仿佛签了卖身契一样的沉重,假如将来违约,也是一笔沉甸甸的5k违约金啊。。。
签完了YY之后,我就不想再找了,因为当时我还有一个动网先锋的面试,但是我已经很累了,是心累,因为从今年4月份开始,我就是开始找实习了,但是几乎所以大公司的笔试我都跪掉了,个中原因我自己相当清楚,网络基础方面跟STL的方面我吃了很大的亏,于是再几次跟小公司谈实习时间未果之后(小公司基本都要我做到今年年底,当时我害怕错过校招所以没有同意,因而失去两份实习的机会),我狠下心来继续修炼自己,过了大半个暑假,整天除了踢踢球就是在宿舍看书写代码,自学了Linux跟python,增强自己的软实力吧,然后也自学C++ 11标准,发现自己的越来越喜欢C++了。然后就开始了我的校招路,一开始的基本没多少C++的职位,所以我经常笔试JAVA职位的题目,结果也可想而知,因此我也没有再去此类笔试,而是专挑有C++的笔试,ehaha,怎么说呢,从那以后的笔试都是所向披靡吧,正如前面所说,YY的笔试题是我考过的最高分,所以我个人的经验就是要熟悉C++基础,STL基础,还有网络、操作系统、数据库、算法等基础知识,有了这些我觉得笔试题的大部分是可以拿下来的,除了服务器设计这类溜溜的题招架不住,另外的建议就是纯C++的还是别去考c++以外的职位,纯属浪费时间,还不如在宿舍多看书专研提升自己,以下还是推荐一下本人觉得可以的书吧
《深入探讨C++模型》《程序员面试宝典》《剑指offer》《effetive STL》《C++ PRIMER》第五版,还有就是记得积累平时笔试下来累计的经验,比如各个排序的算法复杂度、链表逆序、快排算法、二分查找非递归版本、TCP的三次握手连接与四次挥手、TCP与UDP的区别、线程与进程的区别、进程死锁的必要条件、银行家算法等。哎,怎么说呢,签是签了,我不知道当初推了金山的offer是对还是错,因为我再也没有退回那个原点去重新选择的机会,要说发展前景的话,在金山我可能是去做PC桌面的客户端,而在YY我可以做到服务器后台,这两者的发展前景来看我还是比较倾向于后者吧, 工作地点上我的规划是在广州,因为我害怕珠海的稳定增长我的惰性,薪资待遇的话,就不用说了,金山完爆欢聚时代。人生总是很难十全十美吧,在即将步入社会的伊始,这些求职经历都是人生宝贵经历的一笔,今天写到这里都是为了给以后的师弟师妹们一些提示跟经验吧,其实很多东西还是自己要靠自己去体会才会更加真切吧。好了,上学容易,找工作不易,奇找且珍惜,那么我的选择是对还是错?走着瞧啦!!
那个时候我们都有梦,关于未来,关于工作,如今我们深夜碰杯,杯子碰到一起都是梦破碎的声音。