工作一年后腾讯社招面试经历与经验分享

腾讯社招面试经历

电话面试

在某招聘APP投了腾讯一个C++后台开发岗位后,收到电面邀请,时间是晚上7点半。当时还没下班,提前跑到办公楼外面接电话。主要问了一些语言、数据结构方面的基础知识,聊了将近50分钟,然后就是通知周末去公司进行现场面试。下面是具体的面试题目。

1、free()函数入参是一个void*指针,它是如何知道被指向的大小的?

2、查找二叉树中第k小的元素?

3、数据库为什么使用B树作为存储数据的数据结构?

4、C++ lambda表达式的特性,什么情况下使用?

5、c/c++程序如何控制执行到某个特定内存地址?

6、二叉堆的维护?

7、LRU算法的实现?

8、C++虚函数表、函数重载、函数重写(override)特性?

9、C++智能指针特性、右值特性、正则表达式、map、unorder_map?

10、C++对象内存布局?

11、C++ new和c语言的malloc的区别?

12、linux网络编程api(socket、bind、listen、accept、close、connect)

13、C++程序的编译过程?

14、什么是迭代器失效?

技术一面

1、介绍一下项目架构,以及自己负责的模块?
这个说得不好。因为本人毕业后在某通信设备公司工作,参与的项目都是已经十分成熟、庞大的,整体的系统架构复杂。当时我往系统整体方向说,没说明白,给面试官的感觉就是逻辑不清晰,没有表达清楚项目架构,以及自己在其中的工作部分。当时就感觉自己没戏了。

2、问了C++对象布局的一些东西,回答得还行,涉及到了虚函数指针、空对象的大小以及vector容器、三五法则。

3、接着面试官又问了一些C++模板方面的问题,比较深入的没答上来。
先是给了三个重载函数(普通函数、函数模板、特例化的函数模板),根据入参确定调用的函数。这个比较基础,答上来了。接着又问了类型萃取的问题,如何使用模板来判断入参是一个类对象指针,还是一个内置类型指针。

4、最后面试官让我说一下linux上socket编程的一些API,中途问了一些问题。因为本人工作基本没涉及到这些,相关知识都是看书了解的,导致理解不深刻,面试官问的问题也答得不好。
最后,一面当然没过。

总得来说,自己的项目架构和负责的工作一定要理解透彻,社招还是比较注重项目经验的。想象中的算法题居然没有,可能是自己太菜,都没撑到让面试官出算法题~最后面试官跟我聊了一会,主要是指出自己的不足、以及需要学习改进的建议。哎,腾讯的面试体验还是很不错的,不愧是大厂,面试官也很Nice,不会刻意为难你。再继续努力吧,下次还会再来的。