【面经】20200711-腾讯pcg腾讯看点大数据后台开发

昨天,面试了腾讯pcg腾讯看点部门的后台开发岗位,偏大数据方向。

我本人其实是没有大数据相关工作经验的,但对于后台开发,经历了前2次的失败总结之后,我个人还是比较有信心的。如果对我的前两次的面试经验感兴趣,可以移步我之前的2片文章查看:
【面试题解析】快手基础架构中心高级C++开发
【面经】20200621-头条后台开发

面试官是一个年长我一些的人,看上去就很厉害。。。但整个过程下来,我觉得人还是蛮好的。

上来先让我做一下自我介绍,我简单介绍了一下背景,然后说了一下我工作前两年是嵌入式软件开发,去年年初才转做后台开发。然后提了一下自己最近的项目是关于性能优化的。(ps,我觉得面试官问的问题,和自己的自我介绍有非常大的关系,自己要有侧重地说自我介绍,把面试官往自己精通或熟悉的方向引导,可以极大地提升通过率)。

然后面试官就详细问了一下,如何做的性能优化,我就详细说了一下项目的开发过程。其中涉及到了mongo数据库优化,索引结构,B树B+树优缺点分析,不同数据库的索引数据结构选择为何不同等一系列问题。这些问题我在之前的文章中有详细说明:【itsrohan技术随笔2】B/B+树和二叉查找树优缺点对比 ,感兴趣的同学可以移步阅读。

随后,面试官问:谈一谈我对网络通讯模型的理解。听到这个问题的时候,我心中暗喜,因为这个是我最有自信的一部分了。我详细说了从阻塞recv,select,poll,到epoll的演变过程,详细说明了他们之间的优缺点,想要说明好这个也要花费长篇幅,我之前也针对这个话题写过一篇随笔,感兴趣的同学可以移步阅读,我觉得掌握到这个程度就达到了3~5年后台开发岗的标准了。
【itsrohan技术随笔1】阻塞recv,select,epoll用法及实现详解

面到这里,已经一个小时了,说实话,当时我很激动,以为过了,但事实证明我还是太年轻,因为自己最近1个多月都没有刷题,因此2到算法题(还是面试官主动降低难度的情况下),没有很快写出来。

前一个小时,我觉得我已经达到了面试官的标准了,面试官出算法题之前,还问我:字典树了解不?能不能写出来?我说:了解,但短时间写不出来。后面面试官竟然给我换了一道题,但我还是花了50分钟左右,磕磕绊绊地写出了2导easy级别的算法题。。。。这两道分别是:

  1. 单向链表翻转;
  2. 求二叉树宽度;
怎么样,确实easy吧,但我最近没有练习,所以导致花的时间太长,这方面需要着重训练一下。。

面试最后,我和面试官探讨了一下我在哪方面比较欠缺,需要学习,面试官给我指了3个方向:
  1. 要考虑互联网大厂面临的问题是什么?比如高并发,海量数据,高可用,说我在这方面没有经验。虽然可能很多人在工作中都不涉及这些,但可以自己主动学习。不能因为工作不涉及,就不学习;
  2. 写代码能力不足。这点主要就是对应我后面一个小时的表现。面试官说这是我的主要问题。关于这点,我也没啥好说的,就针对性刷题吧!
  3. C++新特性要着重了解,跟第一点一样,要自己主动学习。
【【面经】20200711-腾讯pcg腾讯看点大数据后台开发】
其实讲实话,这次面试之前,我觉得自己还是一个经验宝宝,仅仅是抱着一丝希望,但整个面试过程下来,我觉得自己在很多方面应该已经达到了面试官的标准,只是需要着重刷题和高并发高可用海量数据的方面针对性练习一下。结果虽然还是和前2次一样,但我这次还是收获了一定的信心,我觉得自己之前的准备还是没有白费,我离大厂的距离又缩短了一些~

加油!

    推荐阅读