腾讯IEG后台开发一面热乎凉经
本人是下午两点多收到腾讯面试邀请邮件,预约面试的时间是下午17:00整。(原本是计划下午看论文的...突如其来面试打断了计划...于是乎临时再抱了会儿佛脚)面试官果真像其他同学说的一样可能会鸽子一阵,然后我的面试官说上一个人没面试完,小鸽了半个小时,终于打来了电话。(切入正题...
首先上来面试官自我介绍时腾讯音乐集团旗下全民K歌小组的,然后就是核对你的姓名,并介绍面试流程一共分为三个部分,第一部分是项目介绍,第二部分是基础知识,第三部分是开放性考题。
流程介绍完毕后就要你介绍自己参与的项目以及你在项目中的贡献。介绍完项目之后面试官就问了一个很经典的问题“请问你在项目中遇到的最大难题是什么?”,答完这个问题之后,面试官继续问最大的难题你是如何解决的,答完如何解决后基本上第一部分就告一段落了。
第二部分是基础知识,主要分为三个小部分来考察,分别是C++基础知识、数据结构、linux网络编程。
第一个小部分是C++基础知识:
1.C++作为面向对象编程的语言有哪些特性?
2.多态你了解吗?(回答:XXXXX 面试官:你确定吗? 回答:确定 面试官:那ok~///后面很多问题面试官都是这样)
3.函数重载是什么呢?函数重载又是怎么实现的呢?(编译器怎么知道要调用哪个函数?)
4.虚函数是怎么实现的呢?虚表是怎么个原理?
5.C++中有哪些构造函数呢?
6.拷贝构造函数在什么时候使用呢?
第二个小部分是数据结构:
1.请问二叉树的定义是什么?
2.请问满二叉树、完全二叉树的定义?
3.堆是什么?一般什么场景会用到堆呢?
4.插入排序的思想是什么?它的实现原理是?插入排序的复杂度是?
5.插入排序复杂度O(nlogn)是怎么推算得来的?O(n^2)复杂度什么情况下会出现呢?
6.哈希表是什么?
7.出现哈希冲突的解决方法是什么?
第三个小部分是linux网络编程:
1.进程和线程的区别是什么?
2.进程间通信方式有哪几种?哪一种通信方式最快?为什么?
3.TCP/IP三次握手说一下,为什么要三次握手?两次不行吗?
4.TIME_WAIT的作用?
第三个部分是开放性试题,题目是你眼前有一颗大树,你将如何估计这棵树总共有多少树叶?
面试体验还是很好的,面试官都是循序渐进的问到你不懂的为止,自己还是太菜了,希望大家秋招前车之鉴一下我这个凉经。