面试过后先上凉经 面试时间5.18晚上8点钟,时长半小时,没考一道编程题!!!
本科双非一本,计算机相关专业,现在某211院校人工智能专业研一学生。
之前投过好多公司的实习,均被告知现在不招收23年毕业的实习生,上周投了个腾讯,两天后就被电话约面了,效率还是蛮快的,这算是我第一次面试经历。
1.做个自我介绍
2.对C/C++有了解吗
3.谈一谈需函数吧,虚函数的作用
4.谈谈继承是怎么回事
5.对STL有了解吗,说一下STL有哪些重要的组件
6.使用过C++的哪些容器,我说使用过vector、deque、stack、queue,补了一句后面俩应该不能算作容器;然后又问不是容器那它们是什么,我说是适配器,然后又问了一下你是怎么区分容器和适配器的
7.谈一下vetcor和list是怎么实现的,它俩有啥区别,为什么vector扩容的时候需要搬动原数据而list不需要
8.谈一下vector是如何扩容的,主流STL实现的vector初始大小是多少,什么时候会开始扩容,这个初始大小我还真懵了,想着不初始化它不就是0吗,刚才用gcc打印了一个未初始化的vector的capacity,确实是0,我可能没太理解她的意思,笑着说让我面试结束可以去查一下。
9.本科学过计算机网络是吧,能谈一下长连接、短连接吗,年代久远这题我确实不会
10.可以谈一下建立tcp连接的三次握手和解除连接的四次挥手吗,建立连接四次握手有没有必要,解除连接三次挥手行不行呢
11.对socket有多少了解,我大概也就知道socket是ip地址加端口号这么多了
12.本科开操作系统课了吗?答没有,但是自己学习过。开始问进程和线程的区别,然后又问了一个线程可以怎么影响另一个线程,线程间都会争夺哪些资源,线程除了会共享进程的资源,有没有自己的私有资源,有的话线程拥有哪些私有资源。
13.谈一下你对堆栈的理解,用你自己的话讲一下,堆栈处于C++运行时文件的什么位置,堆的大小有没有上限,请以32机器为例子来说一下,堆最大可以有多大
补充几个C++的问题
14.谈一下你对内联函数的认识
15.为什么要使用内联函数,内联函数比普通函数性能好吗,为什么好,好在哪里
16.内联函数和macro有什么区别
最后这几个问题其实是最开始就问了的,真的把我整懵了,这些知识点好像都是跟编译有关的吧,没想到会问的这么深。
再来补充一个计算机网络的题目:
17.为什么http协议要设计成无连接的
总体来说,C++基础和操作系统问的比较多、比较深,计算机网络问的虽然也不少,但是面试官明确表示,在客户端的开发种会使用计算机网络的原理,但是最重要的是C++基础,最好要懂底层实现,其次是操作系统,不然在开发中,出现问题,很可能你不知道问题出在哪里。
腾讯的CSIG区域研发中心的日常面试是没有手撕代码环节的,这个还是挺意外的,而且只有两轮技术面,进二面的话也不会考编程,想投CSIG的这条信息应该对你有帮助,其他岗位的话可能就不一定是这样了。希望大家都有offer吧。
写的不好,排版格式啥的也不知道咋调整,先发出来给大家看个热闹吧。
刷题的时候又想起来一个被问的C++问题:
你知道仿函数吗,使用过哪些仿函数?
对红黑树有哪些了解?