前两天突然接到腾讯一个面试官的电话,开头就询问一些C++虚函数内联函数,静态变量之类,然后就说来公司面试一下。我不知道他怎么会有我的简历,最近也没投递过,倒是几个月之前有一些猎头问过我要,可能是猎头投过去的吧。先不管什么情况,反正去看看也不会怎么样,然后晚上下班就去腾讯面试了。
我后面复查的时候发现,我的这次面试总体来说是失败的,不过还是回顾一下,给后来人一些经验吧,我是第一次去腾讯面试的。
首先,是一个简单的笔试,考察的内容比较基础,就是C++的一些语法,数字求反异或,宏机制,各个进制的数字转换,指针++、–的用法,程序栈空间地址,查找程序Bug并修复,两道比较简单的排序、查找算法,还有一道比较虚的“如何提高服务端的处理能力”。大致就是这些了,不过我后面发现做错了好几道,哈哈,面试官没有当场表现出异样,可见素质还是很高的。如果有意去,那么应该好好复习功课,做好准备。我在这里有很多其实都不确定就随便答了,毕竟很多东西平时不用就忘了,因为那些写法不会出现在我的代码里,就像你忘记了高中大学时学习的数学物理公式一样。
然后,就是面试官和你谈谈一些服务端常遇到的问题。大致就是抓包相关;异常调试gdb相关;tcp的重传机制如果引发网络越来越堵塞,如何处理;mysql、redis数据库深入的程度,注意哦,这里实际上已经进入到优化他们的路上的,也就是对他们的实现机制源码级别的解读,会使用和会优化可是差别很大的。还有一个比较有意思的,比如你的服务CPU达到100%,你如何定位问题?实际上他可能希望你回答的是,处理问题的思路步骤,考察你的思维是不是清晰的。我在这里其实没做好,应该这样做:按照步骤排除法,判断服务是否能正常访问,不能的话有可能是死循环;观察日志打印(如果有的话),看都打印了些啥;如果能正常访问,那么是否是服务满载,该加机器了;在不停止服务的情况下如何定位问题,这里包括不使用gdb,gdb的attach毕竟会阻塞进程。我这边的做法是切换其它服务进程顶上,有可能是某些特殊条件引发,还是强行gdb,哈哈。反正,大致就是这些,如果是你,你可以思考一下如何回答。
说些额外的,虽然说面试官面试你,判断你是否符合他所需的岗位,其实你也要从中反向推测面试人,以及对方项目的一些情况。因为如果你进入的话,很可能这个面试你的人就是你的上司,在职场换公司的档口,谨慎选择你的未来几年工作和发展的位置,很有必要。上面是一些简单的经历介绍,下面我也说说我内心当时的想法。
腾讯是大公司,工资高福利好,我相信很多人都是愿意去的。如果你非常有意向,那么你应该对你的主要领域复习一下功课,不是说基础题目不允许你犯错,这其实是一个态度的问题,态度大部分是从你的答题结果里面反映出来。当然,答完题后,你先不管你的答题结果如何,你要非常留意面试你的人态度和语气。在这个时间节点,如果在他的眼里,你犯了低级的错误,对方在对待你的错误上面的态度,实际上会和他日常对待你工作中的犯错,以及错误后处理非常相近。由此延伸出的,是对方对下属的管理问题。后来我仔细想想,为什么电话一来就直接问虚函数内联函数,我想他肯定是去到我的GitHub上面,看到了我编写的序列化工具eproto,在Lua版本的C++实现上面,我用了一堆的inline,实际上用static定义函数也是可以的,差别很小。好吧,看来我简历上面附带的GitHub代码的地址他还是点击进去看了的。不过在电话里面就直奔这个问题,不禁让我心里一咯噔,看来对方看我的简历之后,对我是持怀疑态度,不知道会不会遇到类似羞辱程序员这样的场景,我内心也是OS啊。这样的场景我以前是遇到过的,不过我还是在这里说一句,我把代码放出来是想,如果能帮到人呢。我并不在意说能提升自己的什么名气,我是一个实干家,学的用的记的造的轮子都是我认为,目前对于我开发的东西最有帮助的。帮助在哪里呢?主要就是效率和成本,包括开发效率、运行效率、节约人工成本、降低软件开发的难度、减低软件维护的代价。程序稳定是最基本的,所以不算在优点里面。这也是为什么我去很多公司面试效果都不好,工资都比别人低一截,但是一旦放到一起工作,我的能力又拉开别人一截。不过我现在再找工作,基本上都不会以这样的方式面试了,我知道目前自己能力的上限,我会直接提出:全套服务器存储-逻辑-接入框架(包括客户端也行,不过目前我只能提供cocos2d的,Unity最近正在搞,服务端客户端都支持C#),简单易用的RPC接口,稳定性高(内存CPU占用),扩展性还行,上手度简单(1-2年经验的员工一个月熟练),效率较高(一定机器下单服或集群QPS达到XXX万),如果做不到我滚蛋。所以了,我就抱着去看看聊聊天的态度,毕竟人家可能也只是想了解一下,去聊聊天还是可以的,我可没有这么大的架子。
最终,估计别人心里也有自己的一杆秤了吧,面试官也没有搞什么,我的担心是多余的。聊天技能方面,发现自己也不太会聊,我不是一个临场发挥的好手,我一般都会花一点时间冷静分析。在这里,给新人一点建议,锻炼一下自己临场发挥的能力,就是思路和表达方面,这个在面试的时候可是关乎面试官到对你的印象,能力打分可是和工资挂着钩呢。还有一个就是诚实一点,懂什么就说什么,不扯皮自己仅限于了解的东西,对于一个方面了解研究多深说清楚就行。
面试心得体会
最新推荐文章于 2025-03-06 23:30:00 发布