老公司架构调整,调整后的工作内容和自己的职业规划不符,就离开了。碰巧有同学在腾讯,叫他帮忙内推去面试了一下,第一次只面完了四面,在总经理面前表现不是很好,四面没有通过,不过整个流程下来,觉得腾讯的社招面试还真的挺有含量的,去面试了,不过也没有通过,对自己的前一阶段的工作都是很好的总结和提升的机会。
我觉得面试流程跟面试的岗位还是有挺大的相关性,不过我觉得研发的岗位应该都是大同小异,下面就我总结的面试经历总结如下。
1:做简历,简历不要做的太难看,因为自己是打算找同学内推面试,太难看有时候丢的不是自己的脸,还拉同学下坑,所以在这方面下点功夫
链接是我的简历,供参考
2:联系同学找内推,根据五度关系,我觉得找到一个腾讯的同学应该不是问题,然后跟同学说明自己想要的岗位,叫同学帮忙看下有没有合适的岗位
我第一次面试的是:数据分析工程师,自己的项目经历和这个岗位的匹配度还是挺高的,简历做的自认为还不错,所以简历筛选应该没什么问题。
3:然后接下来,如果顺利的话,至少会有无论面试,不过很遗憾第一次至少面完了四面,下面主要讲一下面试的内容。
面试准备
项目经历
面试必不可免问到自己的项目经历,所以对于自己的项目,要有足够程度的熟悉,保证不会出现简单的问题就把你问倒的情况为止。
相关知识
- 编程语言:知道有一门自己的常用语言,几门辅助的语言;常用语言最好是精通的等级,知道语言的特性和不足
- 开发工具或者常用的库或者依赖:总要有一些拿得出手的东西来展示最近的实力
- 岗位要求的相关知识:比如我要面试的岗位,有很多算法的要求,这些你知道要知道,我自己的原则是:简单的一定要理解透,复杂的要知道,懂事最好
几个必问的问题:
- 为什么离开上一家公司?:我是因为老公司架构调整,调整后的工作内容和自己的职业规划不符,就离开了;事实上,确实也是,我本来打算在老公司锻炼两三年再做考虑的,没想到啊;这个问题在每一轮面试都会被问道,所以还是想好怎么回答吧
- 自我介绍:其实自我介绍很重要,是你跟面试官怎么开始话题的关键,因为我知道第一个问题基本是必问的,所以我一般就直接说我为什么要离开上一家公司。或者直接反问一下面试官有什么想了解的吗?如果面试官有回答他自己想要了解的方面,就直接回答面试官的问题;没有的话,就说下为什么离开上一家公司?或者直接主要研究或者工作的方向。我觉得兴趣爱好这些在hr面的时候说比较合适,当然了,跟技术相关的爱好可以在技术面的时候说。总之一句话,自我介绍要看面试官是谁决定,而不是千篇一律。
- 说下你做了什么:也是必问项,所以还是好好准备自己的项目经历的,最好写好背熟,在一二三面的过程中面试官想了解的层次不一样。
一面组员
开始的随便聊聊,问下常规必问的问题,我总体觉得,组员面试随意性比较强,想到什么就问什么,基本会问到他自己不懂为止。
比如我说的决策树模型用到的xgboost,他说他们也用,然后就问xgboost的特性,为什么选择xgboost而不是其他;xgboost的优点;xgboost常用的调参参数有哪些;基本会一直问下去,直到他自己也不懂为止。
所以建议:对自己的项目(至少有一个)要很熟悉,最好到比较高的等级,比如调优,而不是简单的码代码。
我一面的时候没有考什么题目,也不需要写代码啥的。
二面组长
上来先是一个自我介绍,然后我问他有什么想了解的吗?他说说下你的项目吧,然后我就开始了。突然觉得,面试官之所以问你自我介绍,可能完全是不知道怎么跟你开始话题,习惯性而抛出的问题,你要做的可能只是接下他的话,然后开始你们整个面试的交流过程,他不一定要听你的自我介绍,个人感觉,哈哈。
组长了解的内容和组员有很大的不一样,表现的是不会对你一个具体用到的框架追问下去,组长比较关注的是这个项目整体的上下游以及业务需求。考察的是你平常有没有去关心自己做的项目的上下游或者业务需求,是不是一个只是整体码代码的程序猿。
一面和二面会考一些笔试题,二面完之后,在等三面的时候跟一面的组员聊天的时候问起为什么是组长考我笔试题,他说他跟组长说他没有考,所以组长考了。所以笔试应该在一面或者二面会考察一些。
三面总监
一开始还是那几个必问的问题,不同的是,总监问项目经历的时候,问的层次更高了,都是基于整体架构思考的层次,具体的表现就是:你们的项目是为了完成什么,效果怎么样,跟业界相比怎么样?了解的层次由公司内部向业内拓展,考察的是你做的项目的意义。
总监问了我三个问题,我总结了一下,都是基于全局思考的问题,我也简单说一下吧
1:甲、乙两地相距S,火车A以20的速度从甲开向乙,火车B以15的速度从乙开向甲,A上有一只小鸟以30的速度和A同时出发,小鸟碰到另一辆火车的时候立刻调头,问:
火车AB相遇的时候,小鸟飞了多少距离?
问题很简单:答案是S/(20+15)*30
我觉得这个问题迷惑人的地方有几个:距离不具体,速度具体,面试的时候紧张很容易陷入繁杂的过程中去。或者相遇的时候,实际上小鸟也是在那个位置,问题也会误导你思考的方向。
正确的思路参考:AB相遇所需的时间就是小鸟飞行的时间,时间*速度即是小鸟飞行的距离。
2:一个人9块钱买了一只鸡,十块钱卖了出去,觉得亏了,又11块钱买了进来,最后14块钱卖了出去,问这个人是赚了还是亏了多少钱?
问题很简单:收入24,支出20,赚了4块钱。
不过你要是一步步的算,答案也行,不过我觉得不是面试官想看到的。
3:64匹马,8个跑道,要比赛几次才能找到最快的4匹马,不能记录每匹马的速度?
简单的思路:8+4+2+1=15次(每次8匹 马比赛,每次淘汰4匹,也就是一半)
然后面试官问,有什么可以优化的地方吗?
这也是 面试比较坑的地方,你不知道那些信息是可以用的,所以想了一会,还是想不到什么优化的地方,因为根本没有什么可用的信息?
所以,当你想不出来的时候,你就跟面试官说你为什么想不出来,这个时候面试官一般会提示一下还有那些可用的信息
面试官说:一次比赛的快慢的相对信息是可以知道的
这样的话,首先用一开始八次比赛的第一名比赛,最快的四匹马肯定是在这八个第一名里最快的那四匹马对应的队列里面,所以再比赛一次,就可以选出最后的16匹马了
接下来就是在那四匹马对应的队列里面的这16匹马里选出最快的4匹马,这四个队列按照第一名的快慢排列如下
1:O O O O
2:O O O *
3:O O * *
4:O * * *
可能的情况:
每个队列的最快就是最快的四匹马
1,2,3的某一个的第二名是最快的四匹马
1,2 的某一个的第三名是最快的四匹马
队列1的四匹马就是最快的四匹马
所以可以知道有可能要比赛的马一共有10匹,上图的O,*是不可能是最快的四匹马之一
所以最坏的情况是在需要比赛两次,也就是8+1+2=11次
第十次可以考虑选3+2+2+1这八匹马跑
最好的情况队列4的第一名比其他队列的第二名|队列3的第二名比1,2的第二名好队列4的第一名都快,这样只需要比赛多一次就可以找到最快的4匹马了。
这个问题是总监问的最复杂的问题,一句话,不要害怕,思考过后没有思路可以请求提示一下,我觉得笔试和面试不同的就在于此,笔试可能只会看结果,面试看的是思路
四面总经理
哎,虽说是伤心事,不过还是说一下。
开始还是常规的那些交流,和前面三面不同的是,一二三面都是面对面的聊天,比较随意,四面是在总经理的办公室,里面有一个可以写写画画的地方,对于你做的那些项目你要展示一下,最好还考了一个开放性题目,也是我表现最不好的地方。所以四面考研的是一个人的全面的综合实力。
说实在的,我确实没想到四面是这样一种形式的面试,感觉就跟做汇报一样,应该就是做汇报的形式,所以你最好有做项目展示的打算。
总经理考了一个电梯规划问题:一个五星级酒店,50层*每层50间房*每个房间住一人,假如你是设计师,你觉得需要多少个电梯?
我第一反应就楞了,我还真的没有去过五星级酒店,五星级酒店的要求是什么?然后我就傻逼了
我错误的假设五星级酒店的服务是很高级的,就是无论什么情况下,都不能让客人等超过一分钟,然后我就说了一个应该是超级浪费的想法,丝毫没有考虑成本的问题,所以,我就没有通过面试了。
不过回来我想了一下,这个问题的描述实在是太简单了,完全就是领导交给你的任务的样子,对比前面的一二三面,问题是越来越宽松,
从一开始的组员具体一个库问到参数调优,到组长的上下游,再到总监业界对比,到总经理的项目汇报,对人的考察是越来越高级,考察的能力也是从一开始的技术到汇报工作,以及整体结构的思考,果然是考察的很全面。
我觉得,总经理面试的难点在于两点:
1:汇报工作的能力
2:整体架构,特别是成本(电梯的个数)和用户体验方面 (客人等电梯的时间)的平衡。
最后说一下这个电梯问题吧,虽然我还是不知道实际应该怎么做?
1:首先是电梯是使用场景,(应急|日常|小众),电梯是日常用的,我犯错的地方在于极端化了,我的设想是在紧急情况&全部住满人&在极端时间内把人全部运到一楼,这样的想法就是不合理的,因为这种情况出现的概率几乎为零,并且,紧急情况不能坐电梯,真是傻了
2:成本考虑,电梯的闲置率很高,酒店的用电梯的高峰期基本会在一到两个小时之间,尽量满足高峰期
3:设计考虑,高低层电梯避免频繁停层
综合这三点,下面说下自己应该给出的方案
电梯分布,50间房,有五个电梯口应该可以够浪费了
高低层,就假设是25+25吧,这样就至少需要5*2十个电梯了
最后我们考虑一下,每个电梯口需要多少个电梯吧
酒店的上客率,假设是50%,一个电梯口需要负责运送10房*1人*25层*50%=125人
假设高峰期是1个小时,那么平均每分钟有125/60≈2人等电梯
假设电梯的往返时间是2分钟,考虑停层需要的时间,以及可能一分钟出现2人以上(不同楼层),在尽量保证客人等候时间不超过一分钟的前提下,同时考虑上下的关系,设置两个电梯是比较合理的,
所以总的电梯数是
5个电梯口*分为高低层2*2个=20个电梯
最后去了腾讯视频P2P下载组,去做数据分析。