我的2016--找工作总结

时光飞逝,不知不觉间,2016年已经快要走到尾声,而我的研究生生涯也即将走到尽头。从今年3月份找实习开始,到10月份签了三方,这中间也经历了起起伏伏各种波折。现在总结一下找工作的这些事情。

先说一下我的基本情况:中科大本硕,所学的专业是电子信息工程,班级排名常年中游,研究方向勉强算是计算机视觉。本科时候计算机方面就学过C语言和数据结构。读研时候做过的项目比较杂,嵌入式视频监控系统开发、数据挖掘比赛、图像处理都接触过一些。不过都做得比较浅,缺乏自己的核心竞争力, 这在找实习/工作的过程中吃了不少亏。下面按照时间顺序回顾一下整个求职的历程。

2015.10月份以前

     没有准备求职的概念,都是上课和做一些实验室的项目。当时实验室的项目是视频监控系统开发,所以这段时间对嵌入式linux和C/C++还算积累了一些经验。

2015.10月-2016.12月

      阅读《统计学习方法》这本书,对机器学习的常见算法基本上是看了一篇,并且参照《机器学习实战》,用python将这些算法实现了一篇。然后参加了阿里的数据挖掘比赛(广东公共交通客流量预测比赛),最后的名次大致是前6%的样子。这时候一门心思要找数据挖掘的工作,有迷之自信。

2016.3月-2016.4月

      各个大厂的实习招聘相继开始,于是各种找师兄内推。内推的有阿里、腾讯、网易,百度是自己投了简历,都是数据挖掘方向。

       阿里:3月十几号的时候接到了阿里的电话一面,这是第一次求职面试,最后是跪的很惨。其实当时问的问题也不是很难,大部分都是算法(RF、GBDT、K-means、CNN)有什么缺点、如何优化之类的。由于自己基础不怎么好,就看了看《统计学习方法》,能知道各个算法的基本模型,但是并没有想过算法的优缺点和优化问题。所以这次面试表现非常之差,意料之中的一面挂,说实话当时对自己打击还蛮大。。

      网易:3.22号 参加网易数据挖掘的笔试,这同样是求职阶段第一次在线笔试。网易的笔试题偏难,前面选择题考了各种知识:C/C++、JAVA、Hadoop、Spark、算法等等,做的一般吧。然后后面有五道大题,三道编程,两道推公式的题。编程题一个是二叉树中和为某一个值的路径、一个是要编程实现朴素贝叶斯算法,还有一个不记得了。最后三道编程题基本写了出来,推公式的题就完全懵逼了。最后笔试也挂了。当时实验室就我一个投的数据挖掘,其他同学投的都是JAVA、C++、前端这些开发的工作,然后他们笔试也都过了。

      百度、腾讯:内推没有用,压根就木有给我面试,需要走后续的笔试实习招聘流程。。

      美图:当时美图还来学校宣讲招实习生,做了线下数据挖掘笔试,结果也挂了。。那时我就发现了问题的严重性,感觉数据挖掘这条路不好走。实验室的同学和师兄也没有做这方面的。总之就是很迷茫。。

3月底的时候仔细想了想,感觉数据挖掘这条路很难走下去,或者说风险有点大。最终在3.22这天决心换方向,转向到Linux c/c++后台开发这个方向。

2016.4月-2016.5月

这一个月前期是各种看书恶补知识的过程,因为那时候我连C++里面的虚函数是啥都不知道。Linux C/C++后台开发这个方向大体上需要 编程语言(C/C++)、数据结构与算法、计算机网络、操作系统这四个方面的知识,我就上网看了看别人的准备经验,然后主要看了这些书:《C++ primer plus》《STL源码剖析》《程序员面试宝典》《剑指offer》《UNIX网络编程》《UNIX环境高级编程》《TCP/IP详解 卷一》(TCP相关部分)《操作系统概念》(重点看看进程、线程、死锁这些基础知识)。现在想想这段时光真是艰难,每天从早到晚都是看书学习。

       4月初的时候做了腾讯的实习生笔试,4月下旬做了阿里和百度的实习生笔试。最后貌似是因为腾讯笔试不怎么刷人,所以在4月底的时候收到了腾讯的面试通知,而百度、阿里不出意料的都挂了。

        腾讯一面:首先是介绍项目,我的主要项目就是一个视频监控系统的开发,涉及到的知识点是linux环境编程、线程同步、进程间通信(使用FIFO),这个项目讲的还好。然后面试官就问了一个语法问题:static关键字在c/c++里面的用法,这个自然知道。最后就是算法题,要求将一个字符串数字比如“666”转换成数字666,这个也很简单,就在纸上写了代码。一面感觉挺简单的。

        腾讯二面:也许是运气好,我的二面面试官有事没能来合肥,于是二面是电话面试。面试官好像很急的样子,就问了一个智力题,两个算法题。智力题我不会做,两个算法题都是《剑指offer》的原题,所以都知道思路。

        腾讯三面:三面就是hr面了,这就比较轻松了。

      4月份还参加了华为的实习生笔试和面试,华为因为比较看重学校,所以主要都是让我讲项目,没有问什么具体技术问题。在5.1前收到华为的实习offer,也算是给自己一个鼓励。

2016.5-2016.7

五一回来之后的一个周五,收到了深圳打来的电话,是拿到了腾讯的实习生offer。对于我这样一个临时转行的彩笔而言,实在是难得,运气因素也起了很大作用。5月之后,找实习就结束了,得到了喘息的机会。这时候正好之前投的期刊结果出了,是拒稿重投。于是这段时间一方面就是改论文,另一方面就是看了看nginx,加深对epoll、网络编程这些知识的理解,还有就是每天一般会做一道leetcode的题目,以及巩固STL等知识。

6.24号,到达深圳,于是开始了腾讯的实习经历,一开始,我的心里是充满期待的。可是生活往往不会尽如人意。

2016.7-2016.9

《阿甘正传》里面有这样一句话: 生活就像一盒巧克力,你永远不知道下一秒会发生什么。在腾讯实习的两个月,怎么说呢,有好有坏。

腾讯实习经历:

我实习的部门是广点通,实习的小组是做公共组件开发的。组里面是有在维护一些很有意思的开源工具库,比如RPC库、ZooKeeper等等。然后遗憾的是,这些库的开发维护工作跟我半毛钱关系都没有。安排给我的工作主要有两个:一个是基于jenkins搭建和二次开发持续集成的环境、一个是仿照cpplint开发一个protolint工具来检测.proto文件是不是符合公司的代码规范。

先说jenkins,一开始是让我搭建php的持续集成环境。于是噩梦开始了,php的项目是其他组在做的,他们有自己定制的php代码、有自己定制的公司各种后台服务,各种配置等等。而我每天的工作就是跟那边的一个高级工程师扯皮,每次都是我问10句,他回一句,最后他直接不回了。为什么呢?因为我做的这个环境是要把他们组的项目拉过来进行管理,然后统计他们代码的单元测试覆盖率等等直接汇报给质量控制部门(QA)的。他们当然不愿意受到QA的管理,,而且我还是个小小的实习生。  

可是我又不得不问,因为我根本不知道他们代码用了公司内网的什么服务,做了什么配置。而大公司的各种代码权限、服务权限等等是非常非常繁琐,我一个实习生是各种没有权限、各种访问策略不通,于是又需要各种沟通....我花了整整三周时间才能跑起来他们组里面的代码,这三周真是痛苦不堪。而更痛苦的是,你花了大量时间,做的却是对自己没有收获的工作,整整三周没有写一行代码。。。到7月20号左右终于是完成了这个工作。

再说说protolint,这个工作好歹是写代码的工作,虽然是用python开发的。这个工作主要就是检查.proto文件的定义是不是符合公司的规范,比如空格啊、间距啊、变量命名啊等等。比较枯燥,但是能让我写写代码,我也知足了。这个工作大概在8月初的时候就基本完成了。

8月份的主要工作是基于jenkins的二次开发,主要是用python写一些脚本, 比如发发邮件啊、整合一下单侧覆盖率数据啊等等,这些都还好办。到8月中旬的时候,组里面又让我搭建gcc-4.9.4的持续集成环境。那个时候组里面刚刚能用gcc-4.9.4去编译部门的代码,但是跑单元测试时候会各种出错。于是就让我去找问题。这些问题呢,都是编译器升级带来的,不是代码的逻辑问题。于是我需要查看出问题的代码是谁负责的,然后再跟对方各种沟通。。可能我能力有限吧,说实话我真得不知道怎么解决这些问题,所以又是各种折腾。而且当时找工作内推已经开始了,我还天天在那边折腾,心中很是苦闷。

到8月20号,我已经萌生退意了。因为我发现实习做的这些事情真得不是我想做的事情,我只想好好地读代码、写代码,可是每天做的都是在折腾,都是在费劲的沟通。而且这些折腾的事情对我正式找工作又能有什么帮助呢?当时我们部门实习生还要答辩,但是我没答辩就回去了,我已经下定决心放弃鹅厂的光环,去追寻自己喜欢的生活。后来了解到实习时候的导师和组长给我的意见都是建议留用,要是参加答辩还是有很大机会拿到offer的。其实他们人都很好,只是怎么说呢,我觉得对我实习任务的安排还可以做的更好。也容易理解,人都是站在自己的角度考虑问题,又有谁会真正考虑一个实习生的发展。

虽然腾讯实习的项目没太多价值,但是腾讯内部有很多很好的资源。我利用周末和晚上的时间读了组里面RPC库的网络部分代码,对于异步非阻塞这样的高并发网络编程有了较深的理解。我还在实习期间抽空阅读了《Linux多线程服务端编程:使用muduo网络库》,并且自己写了一个简易版的muduo。我把这个自己做的小项目说成是腾讯实习生的mini项目,事实证明,后来整个找工作期间,这个项目被问了很多次,而jenkins那些几乎就没有人关心过。。

腾讯公司的氛围很好,环境很好,确实是一家很好的公司,只是不是很适合我吧。现在回过头想想,那段实习的时光,让我印象最深的:是每天晚上回到租的隔断间刷leetcode的冥思苦想、是每个周末自己看代码时候的豁然开朗。也许每个人都会经历这样一段努力而艰难的时光,回过头来想想,往往会感动自己。

内推面试:

校招内推在8月就正式开始了,我也海投了一波简历。最后电话面试的是这样几家公司:阿里、微店、百度。

阿里:一面主要问项目,把异步非阻塞高并发这些扯了一通,面试官就说我过了,准备下一面。二面问的很深,问了不少TCP/IP协议优化的事情,当时准备的不充分,就挂了。。阿里内推挂了,其实隐约知道校招其实也没有机会了。

微店、百度:一面都是问项目、C/C++、算法、STL等。我感觉都面的不错,然而一面之后都没有下文了。。

网易:又一次笔试挂了。。

2016.9-2016.10

9月份,大规模的校园招聘开始了,我是想去杭州工作,所以杭州的公司投的多一些。这也是至关重要的一个月,我这个月经历了大大小小各种公司,主要如下:

搜狐:搜狐9月十几号来学校搞了一个提前批,线下笔试,第二天面试。不知道是我笔试做的好还是啥,第二天面试就问了我一个智力题,我不大会,但是面试回来之后hr就给我说面试过了。就这样稀里糊涂的拿到第一个校招offer-搜狐。

地平线机器人:做过CV的应该都知道余凯自己创业开了这样一家做人工智能的公司。这家公司是来学校线下笔试,第二天直接面试。笔试很简单。第二天一共三轮技术面,一轮hr面。一面的面试官是做图像的,因为我的毕设是基于深度学习的车牌检测,所以一面主要问论文的思路、CNN的基础知识,不难,所以直接进入二面。地平线的面试是当天全部完成,所以马上进入二面。二面面试官全程板着个脸,除了项目之外,主要问了这些问题:

1.jenkins是做啥的,持续集成的意义
2.手写消息队列
3.如何用两个栈实现一个队列
4.ajax是干啥的
5.linux基本指令:awk grep等等
6. 缓存服务器的作用与意义
前面4个我都会,后面awk就不怎么记得了,最后一个缓存服务器也没答上来。当时面完感觉很差,但是也让我过了,进入三面。
三面面试官是科大师兄,所以比较轻松,就问了两个算法题,不难。最后hr面就不说了,反正当天现场就通过了面试并且签了两方协议。

百度、阿里、网易、京东:笔试全挂,算法实在是渣。。

华为(杭研所):华为之前跟杭研所欧拉部门的人交流过,所以投的岗位是操作系统工程师。华为的面试是全程问项目,问的非常细,讲的很累。华为比较看得起我吧,最后给了我一个非常高的offer,最后我也就签了华为杭研所。

滴滴(杭州):很难得,滴滴的笔试过了。滴滴是两轮视频面试,然后在现场还有一轮技术面和一轮hr面。两轮视频面试问的都是常规的问题,比如STL里面有哪些树结构?反转链表程序?多重继承的内存空间布局?求两个链表的公共节点(考虑循环链表等情况)。而最后的现场boss面另我郁闷不已,全程没有get到面试官的点。boss面的问题如下:
 1.假设在中国和美国之间传文件,现在不知道文件传的对不对,你怎么解决?(我就说了分段进行校验、使用hash这些,面试官不置可否,我也没懂他到底想问什么)
 2.假设你是公安局局长,你们现在需要调监控来找到一个嫌疑人的轨迹。请问应该怎么布局监控摄像头的位置才能效率最高?(同样get不到点)
 3. 一个算法题,还算常见,就这个答出来了
 4. 一个智力题(具体不记得了,我这个人是不擅长急智,也没有准备过智力题,不会做
滴滴于是也挂了。被互联网公司虐的不要不要的。但是说实话,我并不觉得会这些题能说明什么,我也并不觉得我的能力离滴滴的要求差了很多。对我们这种非科班出身的,没有互联网公司感兴趣的项目经验,面试其实挺吃亏的。

科大讯飞:问的都是CNN相关的,比较简单,顺利通过。

TP-LINK(杭州): 我投的是嵌入式开发,还算对口。TP的招聘很看重学校牌子,问的问题除了项目之外都是常规的,比如进程与线程的区别、什么叫不可重入等等。

其他公司:还有很多其他公司,要么是不在杭州没有投,要么就是面试很晚没有去,就不细说了。

最后是签了华为杭州研究所,开得package也非常高。感谢华为看得起我,让我在最想去的杭州有了一份很好的offer,我知足了。去华为做的应该是linux内核开发(终端手机os、物联网os这些),这块以前接触的不多,但是我也乐意于做底层的开发。

最近在看《曾国藩》《大秦帝国》这些历史小说,越发的感觉到造化弄人和人类的渺小。一个人的命运,真的既要考虑自身的奋斗,也要考虑历史进程。

人生中很多事都不会是一帆风顺,很多事都不会尽如人意。我们所能做的,只是不断的去努力,不断的完善自我。看了这么多历史小说,能成事的人物大多器局开阔、坚韧顽强。希望自己在以后的生活中也能做到器局开阔和坚韧顽强。







 




评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值