又是一个清静的周末,之所以清静是因为小宝宝还在呼呼大睡,冲了杯浓咖啡慢慢的品了一口,渐渐进入了沉思。
在一家通信公司做软件开发有6年了,到了该走的时候了,年底面试了华为和上海贝尔都拿到了offer,中兴也通知我去面试,但我不打算去了,据我了解的情况中兴开的薪水不会比华为高,再说面试如果没通过还影响我的心情。忙碌了六年,一下空闲起来到有点不适应,想写点什么。就写写我的面试经历吧,给志同道合的朋友们分享一些经验,也算造福人类~
华为面试经历:
一大早就到了,公司真是气势恢宏,环境优美,问了门岗后来到了培训楼,拿了张狗牌贴在胸前(临时出入证)就被带进了一间阶梯教室,给了糖块沙琪玛边吃边等,之后一共来了有30~40人的样子,开始领了表格填简历,写好交给接口人后就坐等面试了。
第一轮技术面试,面试官30来岁看起来很稳重,自我介绍了一下就开始谈工作了,先是问了一些编程的基本问题,像链表、二叉树、二分算法什么的,又问了Linux编程的一些东西,像socket编程,进程和线程,信号量等等,最后在简历上选了一个项目详细的介绍。
他选的是7号信令系统,估计他擅长这方面,问了很多协议和底层的东西,比如msc的协议栈(我答的是:TDM方式是MTP123、sccp、tcap、map,ip方式是sctp、m3ua,sccp、tcap、map);问了sccp这个协议的作用(我答:sccp主要是寻址功能,根据GT寻址、或点码寻址,把7号信令正确的传给对方);问了ip化增加了m3ua协议起到了什么作用以及哪些消息(我答:m3ua是一个适配协议,为了使7号信令能适应在IP链路上传输,在sctp链路建立起来后,要进行m3ua的ASP_UP和ASP_AC激活,激活后就是心跳了,在信令传输的时候作为承载层把载荷透明发出去等等),反正问了一大堆,像msc的主要功能,位置更新的信令流程,手机的编码什么的,当然也问了几个我不太懂的问题,我虚心向他请教了~比如Linux进程间通信有哪些,我答了有消息通知、管道、socket这些方式,没有说全,后面他给补充了2个,还有防止死锁除了用互斥信号量外还可以用什么…一个小时左右的问答后就去阶梯教室休息了,继续吃沙琪玛。
本来第二轮是上机编程,不知道为什么不让我去了,直接进入第三轮HR面试。不过之后上机考试给了我一个网址又让我回家写,一共两个题目,第一个题目忘记了,反正很基本用了链表和递归查找,得了满分;第二个题目是地牢逃生,说地牢要塌了,一个人要逃出来,离洞口S米,他跑的速度是x米每秒,走的速度是y米每秒,瞬移的速度是z米,Z>>X>Y,但是瞬移后要走路才能回复能量,跑步是不回复能量的,走路回复能量需要b秒后才能再次瞬移,写一个最优的逃生程序。这个程序没有得满分,当时一个小时的做题时间没有考虑全面。
第三轮HR面试官也很好,总是面带微笑,年纪比我大不了多少,闲聊了一通,为什么来华为面试啊,你是怎么做好一个项目负责人的啊,你的优点缺点啊,职业规划呀,薪水待遇呀,聊了有半个小时吧,然后继续去阶梯教室吃沙琪玛。
第四轮是性格测试,我的接口人告诉了我一个技巧,说答完了前面题目的就放过,再答后面的题目就不要想前面是怎么答的了,要不然会绕进去,反正本着积极向上的态度,一定把工作做好的冲劲答题就OK了,我按照他的答题方式果然过了,据说一大批人是因为性格测试被刷的。这时已经12点多了,一个MM给了我一张饭票让我去食堂吃饭,员工真不少,跟大学有的比,吃完饭去大门口吸了只烟就去阶梯教室了。
下午进行第五轮面试是1点半吧,目测了一下只剩下7~8个人了,有点小紧张,终于大BOSS了。深呼吸了三次走进去,BOSS果然很威严,敞开衣服,表情严肃,目光直盯着你;开始还是自我介绍,后面谈家庭,谈公司,谈行业前景,自始至总一副很威严的样子,像要用眼神把人kill掉…难道这就是压力面吗,搞的我忐忑不安,最后定待遇了,这一关我被忽悠了,之前的种种压力是为了这最后的时刻---压低你的薪水。找了好几个理由(如在我看来你达不到你的期望薪水,我们招人优先录取最合适的不是要价最高的,最后来了句我给你开**K,你能接受我们就接着谈,不能就到此为止),唉,当时想已经比目前高了不少了,就没坚持下来,同意了砍薪,事后越想越觉得被坑了。
上海贝尔面试经历:这次面试被分成三天,难道这就是国企的节奏么…
一共四面,第一面笔试,可能有外企的成分,笔试的题目都是英文;主要分两大块,第一块是通信基础部分,这一块又分成几个部分(无线通信、光通信、其他领域),你可以选一个擅长的部分做,我选的是无线通信。第一道题目是信道编码的作用,描述信号编码的过程,(这些在通信原理这门课里都有,无非就是抽样、量化、编码、调制解调这些,为了抗干扰、压缩模拟信号提高利用率什么的),还有画GSM网络的结构图,描述各个网元的作用(这个就是这几年做的项目,MS->BTS->BSC->MSC->HLR,BSC分出分组域PCU->SGSN->GGSN->WAPGW->SP,每个网元写个几句话描述了下主要功能);画OSI七层模型,ARP、RARP协议在哪一层,调相、调频、时分多址、码分多址等等,都是些通信的东东。第二部分很easy,基本的编程题目,进栈出栈、冒泡排序什么的。
做完后就进入第二轮:技术一面,估计是项目经理,来了两个人。先自我介绍(中文),然后大同小异,问了编程的、Linux的问题。因为我主要是做通信协议和接口的开发,问了擅长哪些通信协议,我一口气说了30多个协议,面试官很无奈的听着我说完(GB口的NS、BSSGP、GMM_SM,智能网的SCCP、TCAP、CAP、软交换的SCTP、M3UA、BICC、RTP、RTCP、IUUP,BSC A口的CC 、MM、BSSAP、BSSMAP等等,反正把这几年做过的项目中涉及的协议都说了一遍…边说边画协议栈和接口位置图,估计有20分钟)。
这次是让我选一个项目介绍,我选了软交换语音,详细介绍了框架设计、线程分布、功能块、主要通信流程等,然后就开始问他们认为的项目难点(像协议层之间怎么通信的,模块间怎么交互的,为什么把mos计算放在单独线程,呼叫信令线程和语音线程如何交互的,这个项目划分了哪些功能块,我在这个项目中做了哪些东西,团队间的代码是如何管理的,常见的bug(内存泄漏、踩堆栈等)是如何分析查找的,开发周期、开发工具、编译器、调试工具什么的,都是开发中经常碰到的,所以答的很顺利。期间问了我一个问题,一下把我们关系拉近了,就是你会用wireshark吗?
我去,这个工具我用了六年了,从开始的协议学习,到编码解码编写、再到后期调试抓包这个工具贯穿整个开发过程,我说这个工具虽然是开源免费的但我愿意为它每年捐献1000块钱作为回报,把他们逗乐了。不知不觉聊了一个半小时,一面完了已经11点多了,让我回去等通知。
等了两天,这次是南研中兴的大领导面试:技术二面。说是技术面,其实就是谈大的方向。同样来了两个人,领导很年起没有架子,另一个女领导时不时冒出一段英文,好像是海归。开始又是自我介绍(英文),然后谈项目,主要是项目的方向、实际效益和解决的问题;开始他们以为我们做的都是小项目,我说项目都是经过运营商招标的,有正规的合同、项目在200万到1000万不等,期间还谈了些用户感知、KPI、KQI、LTE等热门话题。也被问到了不擅长的领域:数据库,我说只会数据库的proc编程和基本的sql语句查询,没有做过深入的研究,他就问如何实现大数据量插入的,我答用了缓存机制、批插和多线程实现的,虽然答的不是很专业也总算忽悠过了。这次是下午,也聊了一个多小时,回去继续等通知。
又是两天的等待,HR从上海过来给我们面试,我早到了半个小时,HR堵车晚到了20分钟,一共等了50分钟,期间给了我一瓶矿泉水。进门岗的时候保安说你怎么又来了,我说我到是想天天来,就是不知道你们公司要不要…感觉这个公司的人蛮和气的,工作氛围也很好。HR很nice,是个气质型的大美女,开始也是自我介绍,问了些基本情况和技术面试的一些经历,以及对贝尔公司的了解,我把他们公司主页的内容描述了一遍(贵公司是国资委的直属企业,是第一家外商投资的股份制公司,有贝尔实验室和多处研发中兴,通信产品涉及无线网、接入网、核心网、IP网、光网络…..),当说到贵公司的核心价值观是快速、简洁、尽责、信任的时候,明显感觉HR脸色好看了些,总算功课没有白做。聊了一会最后就是谈薪水了,这次吸取了教训,坚决不松口,心想大不了谈蹦了去华为。反正做到不卑不亢外加尊重礼貌的讲价呗…最后她说要跟大老板和技术面试的领导商议下,根据我面试的表现给我定个合理的薪酬。谈完就回去等通知了。
总结了下,华为的面试难度要大于贝尔,贝尔给的薪水比华为高,但华为的年终奖比贝尔多,年薪两家相差不多吧(贝尔有10%的住房补贴,再加上公积金够还房贷了),华为天天加班,贝尔偶尔加班,华为离我家很近(我们小区很多都是中兴华为的,就近买房吧),贝尔离我家比较远,好在有班车到也方便,何去何从正在考虑中….