华为面试超详细记录第一章《梅林关的战士》华为面试已经过去一段时间了了,但是我现在想起昨日的面试的情景,仍然是历历在目。为什么?难道面试的时候见到很多美女?不是,因为这是一次研发和测试职位的招聘;难道是经历了江湖中广为流传的群面?不是,群面是经历了,而且我觉得也很有趣,呆会会细说。其实说如果这次面试以后能够被作为朋友间谈资的话,我第一个要说的是:面试整个过程实在是太TMD的长了,我早上9:30进的咖啡厅,昀后离开的时候是都19:30了,要是巴西队进去,我估计出来都中国队了。总共交流的环节是四个(技术面试约25分钟,人事面试20分钟,群体面试30分钟,总体面试20分钟),那其他的时间我们这些求职者在干嘛?狂等(为主),看杂志(一下看完了),聊天(干聊),吃饭(两顿)。我先介绍一下这次面试的背景。这次面试的时间是10月的某一天,地点是在深圳南山科技园TCL大厦东部的一个叫“名典咖啡”的两层楼式的咖啡厅里,过来招聘的是华为技术DPS产品线的人,将来的工作地点将会在华为坂田总部。其实说是咖啡厅,但里面也会提供很多快餐,要我说叫快餐店更准确些。除了“名典”之外,南山科技园还有不少咖啡厅,如:老树咖啡,米罗咖啡,上岛咖啡。我想对于华为招聘组来说,这些科技园咖啡厅觉不仅仅是提供食物和饮料的地方,那绝对是一个用来面试笔试求职者的好地方,是一个掠夺人力资源的好地方!要知道南山科技园是有很多的IT企业的,中兴通讯也刚好在其中,而且非常显眼地吸引了深南大道上来来往往的路人和乘客,对于离开这个公司不久的我来说,这,让我的心情有点复杂。离开中兴之后,就感觉自己没什么太大的追求了,虽然工作是要继续的,但我不确定能能否找到一份自己想要的工作,which能提供我漂亮的薪水,有趣的工作内容,能让我觉得办公室里面的空气是有颜色的。我想我是没有GiantcompanyPhobia的,但是对同类型的大公司我实在提不起什么兴趣,我对我的未来很不确定。所以说这几个月来,虽然华为技术那边一些不同的部门给了我面试的邀请,虽然觉得很flattered,但我都一一拒绝了,不是因为我傲慢,是因为我不确定能不能做好他们描述的工作,要知道在通讯公司是少不了要摆弄乱七八糟的硬件的,而对于我这样追求潇洒的人来说,昀烦的就是那种乱七八糟的东西的:什么交换机,什么机柜,什么单板,什么插槽.......,它们有的很庞大看起来让你觉得很难征服,有的很细小让你觉得他们很容易搞定如果这样想那么你就错了,它们静静地躺在那里,莫不吭声,任你拍打,跟你的互动只有指示灯些微的闪动,只有那一行行冷漠的DOS命令,就像一个沉默的朋友或冷漠的路人一样,要搞定他们,是需要蛮高的主动性和耐性的,呵呵,刚好我没有。相比而言,软件就舒服多了,它基本上可以直观的展现出来,基本上所有的问题都可以在一个显示屏上追踪搞定,你唯一要做的就是恰到好处敲击键盘。另外不太想去的原因是,到关外的坂田上班让我心里不舒服。从深圳市内的关外到龙华,需要经过不少崇山峻岭以及不太著名的梅林关。刚开始在中兴上班的那几天我是在一个朋友那里住的,那刚好在关外,我每天上下班座公车经过那些山那些岭的时候我就会有许多乱七八糟的联想并且觉得生活挺惨,尤其是过梅林关看到那些解放军战士的时候,我会觉得很魔幻:他们是在保卫深圳市的繁荣和稳定吗?就像伊拉克的共和卫队在保卫巴格达中心超市一样?如果是那样,那龙华算什么呢?如果某一天有什么流行病度事件或者英国人再打过来的时候,梅林关会不会封起来然后让关外的龙华自生自灭去?在军事意义上梅林关的特殊性会不会保证深圳市的绝对安全,保卫“首长们”或“共和国精英”的安全?猛然间我想起来了,也就在那刻我意识到:特区,我是在特区,深圳特别行政区。华为面试第二章《遭遇潜规则》扯远了,再扯回来。之前我去了几家公司面试,可是结果不太理想,其实跟情场一样,在职场里面要找到一个比较好匹配挺难的,他/她真是你昀想要的吗?我接受这次华为面试的原因:a)我愿意尝试这此匹配,b)如果我这此面试过程完成的话,不管offer或者是rejection,我下次都可以对华为的邀请电话说:我上次去你们华为面试了,现在正在报批呢!省得彼此双方的说服,解释,拒绝。那天早上我是8:30起床的,出门的时候是9:00,由于我住的地方离大冲很近,15分钟之后就到了咖啡厅楼下,在大门不远出的边廊处,我站了2两分钟,朝咖啡厅入口处看到了很多熟悉的面孔:他们跨的包是黑色的,里面不知道是否装了笔记本或者将来要装笔记本,反正看起来很大;他们很多都带了眼镜;他们看起来都很老实很沉默,但他们的表情告诉你他们随时可以会发现并且解决某个系统的问题;他们中有不少人穿着圆领T-Shirt,运动鞋,头发很凌乱或很整齐,但总觉得不是很搭。呵呵,他们不是我认识的朋友,他们是今天来参加应聘的开发人员朋友!看到他们,我微微一笑。在我微笑的同时,有个声音对我说:你不也是个开发人员吗?有啥好笑的,还不快进去!星期天的早上的咖啡厅很冷清,一楼基本没人,但是入口处很显眼地贴着两张A4复印纸,分别上书:“面试在二楼”“DPS产品线”。上了二楼,顿时发现了不少人,看样子有不少面试者他们的schedule是早于我的,华为的秘书来了三个,统一黑色小性感打扮,很亲切,但是她们脖子上挂的灰色带子的工牌仿佛冷冷地说:我现在是在工作。在她们的花名册上面找到我的信息,上面好像写什么:电话面试通过(我压根就没电话面试,电话里他问我是哪个学校的我都懒得说,因为我觉得我简历上写着了),可进行下轮笔试之类的,还在我的名单旁边手写了一个“中”字。签到之后,我被一位先生带到咖啡大厅的一个角落座下填职位申请表,他简单自我介绍了几句,然后让我留下电话,告诉我如果以后要是进华为的话就是一起工作的同事了之类的。在我开始看申请表封面的时候,他就迅速的帮我在“可以长期派驻海外艰苦地区”前面的checkBox打了记号,我忙对他说“我不是想要去这里的”,他说:“没关系,这是一种姿态,这样做的话以后去干部部申报的几率会大些。开发的肯定是在深圳的了”,我立刻明白了,这是一种共识,是没有明确说出来的一种规则。华为面试第三章《你有在别的地方看到过吗》填表没花多少时间,因为这种表格昀近确实填了不少。然后就开始今天的第一次等待了,幸好第一次不算久,忍了大概20分钟,刚才给我留电话的邓老师就叫我名字了,让我到另一位老师(TechnologistInterview,以下尊称T老师)那里座定,准备参加技术面试。这次座的位置是靠窗的,而且由于这侧靠窗的位置与大厅有一排植物隔开,会显得安静一些。由于T老师还在低头写着东西,所以我就摆了一个比较自在的姿势看外面的风景:深南大道上的车还是很多啊,在城市就是好,找工作都可以座得那么舒服!T老师可能内心很丰富,要表达的东西很多,他写了3分钟都还没写完;可能是为了显示自己的统筹知识,或让我不那么无聊,他拿出三张A4空白纸,说句“你把你做的项目都写一下吧,什么架构,技术之类的”,然后不等我允许就继续埋头写了。呵呵,这不正是我想要滴吗?话说前几天有一次面试我没有很好地把对方昀感兴趣的项目讲清楚,因为时间隔得比较久有点东西我都忘了,所以搞得我这几天疯狂补了一下,自我演练了几次。果然,就跟填职位申请表一样,我没花几分钟就把项目画出来了,什么“新增界面”,“树的层次”,“客户端如何跟服务端打交道”,“服务端怎么交互数据库的”都写上了,该包的包上去,该类的全垒上去了。不幸的是,我画好了之后发现T老师的内部材料还没写完,但是T老师用很非常敏锐的余光发现了我的志得意满,立刻放下手中的活和我进行不太轰轰烈烈的对话。我所做的基本上就是给他讲图上画的是什么,把那些类名念了一下,可能是找不到突破点吧,也可能是看我画了很多很有诚意,T老师很满意的说:“好,那你再给我讲讲你做的另一个项目吧”,我说好,然后准备找笔和新的纸好好地画第二个项目,准备又糊弄一番也顺便给T老师时间把剩下的内部材料写完。但是我的诚心和别有用心马上就被T老师发现了,“谢谢,你这次不用画,简单讲讲就可以拉”。虽然没有得逞,但由于这个项目离现在比较近并且我主持了其中对不少设计,我还是比较清楚地把问题描述出来了。之后沿着这个项目探讨了一下BS和CS项目互相转换的问题,其中的难度和可行性怎样理解。令我吃惊的是他居然问我:“你说做WEB的话如果用HTML和JS实现可不可以?”,我吓坏了,心说:“不是吧,你不时要回到1995(JAVA诞生)年以前吧”,但是我很镇定地说:“当然可以了,业务逻辑的处理或者数据库访问时候可以用Servlet嘛,不过做WEB你昀基本的事情的是要把UI做好,而JSP可以很好地完成表现层的工作,与用Servlet写HTML代码处理表现层相比,哪样做效率更高,代码维护更方便,是很明显就能看出来的”,也许这么回答就是他想要的吧,反正他没做什么补充和解释。接着的对话是,T:“你对设计模式了解吗?”,我谦虚地说:“略懂一点吧”,然后他就描绘了一个场景大概是:你需要找你们公司的秘书(他好像对秘书也比较感兴趣)要笔记本,但是她那里可能没有,这样的话你就等待,知道有新的笔记本可获得的时候,你会得到提醒。昀后问我这样的场景什么设计模式好?他话音一落,我假装思考一秒,我说Observer模式比较好吧,再屁话一会之后,他点了点头,接着说了一个汽车安装的例子,什么轮胎不一样啊,外壳不一样啊,窗子不一样啊,总的意思是说要构造汽车的话,用什么模式,还友善地提醒我说,这个可以用同时使用多个模式。对于这样友善的提示,我还能说啥呢?我想我必须假装这个问有点难度,多思考思考?我是这样想的,也是这样做的,整整2秒之后,我说应该是Builder模式和Decorator模式比较好吧。这次,他惊呆了,不怀好意的问我,你对这些的了解是在书上看的还是自己的体会,你有在别的地方看到过吗?作为一个诚实的开发人员,我告诉他,我书上也看了不少,实践中也接触了不少模式,除了刚才说的那些模式外,像Singleton和Factory模式也是非常有用的。其实我感觉如果你作为一个代码民工,花点时间好好看看Java21种设计模式的了解是非常有必要的,为什么?因为面试经常会或明显或隐蔽地考察你,再一个就是比如说我,我在N年前写程序的时候都运用过Singleton或Factory这样的模式了,但是我知道工作3年之后才知道那样的做法是有特定的名字的,呼呼,可怜不可怜?像这样的事情还有很多很多,比如我昀近发现Thread这个知识点也蛮有意思的,特别做Swing的时候如果不了解Thread会导致自己进入误区还不知道。这次的技术面试以关于“UML中时序图的作用是什么”的问和答结尾。耗时:25分钟。这25分钟的表现不说了,相对于我见到过的其他公司面试,我觉得华为的技术面挺简单的。我是随时打算离开面试现场的,若不是T先生说让我先回去座的话,我会立马跨起背包走人的,因为我不想让这次面试在我心里留下太多痕迹,但是不管怎样,我刚才的表现会在T老师的黑材料上留下一些笔迹的。找个位子座定,发现现在的人比刚进来更多了一些,秘书们也更忙碌了,她们的叫唤声此起彼伏,不同人的名字被念到了。我认认真真地听了几分钟,每次面试者起身的时候我都会抱以羡慕的目光:他有事干了。我以为我的结果会很快出来,但是我的名字一直没有被念到,我记得我再被念到的时候是11:00了。这期间我上了两趟厕所,把TCL第二层楼走了一圈,烟圈也吐了不少。华为面试第四章《在深圳买房子是个笑话》下面进行的大概是来自人事部门的面试,在走廊尽头的一个房间里举行,房间不大,里面有一张桌子,每侧4把椅子,桌子的其中一侧靠墙,另一个靠门口,空间足以再放一把椅子。我觉得如果两个人面对面地坐着,是会挺合适的。华为的面试基本上都会叫你带上简历的,还有你的证件原件和复印件。因为一般来说,如果你不幸走完全部的游戏流程的话,你的黑材料将会带到华为的总部再被游戏一次,如果你忘带了其中一部分,你赶紧回去拿吧,一样都不要少哦。这次的面试是位女士,鉴于她可能来自HumanResourceDepartment,我就简称她H老师吧。我进去的时候H老