腾讯暑期实习-C++后台开发四轮回

腾讯暑期实习四轮回

先说个人情况,985本,科班,平平无奇的带三学生,没打过acm也没拿过奖;寒假花了两个月准备,该看的基本都看了唯独没看数据库。简历上项目只写了一个自己做的,按书的话c++只了解到《Effective C++》的程度,STL什么的只用过底层也没看过。

pcg

楼主的人生第一次面试,本来没想着第一个面腾讯的以为要笔试就投了,没想到投的当天就call我约面试

  1. 介绍项目
  2. 比单Reactor更高效的方式(主从Reactor)
  3. 不同链接,它的请求有多有少,怎么实现负载均衡
  4. 项目主要实现逻辑(之前没终结过说的有点乱)
  5. 有没有不用加锁的方式,是否知道无锁队列
  6. selcet、poll、epoll简要说出区别(没总结过,答了具体原理,面试官说是要一个点一个点那种的总结)
  7. 问用了ET还是LT
  8. 为什么用ET,ET为什么高效
  9. LT、ET应用场景
  10. 问项目服务器性能
  11. 原理提到了红黑树,问是否知道(说了下效率,和AVL对比了下)
  12. 是否有其他用到了红黑树(答map)。
  13. 是否知道STL六大组件(不知道)
  14. vector,reserve和resize区别、内存不足
  15. B树B+树区别
  16. 为什么mysql用B+树
  17. 什么是TCP粘包,如何解决(答了Http协议有Content-length问还有没有其他)
  18. 进程间通信方式有?哪种效率最高
  19. 什么是虚拟内存
  20. 进程线程切换的区别
  21. 线程独有什么?
  22. 线程间通信方式
  23. 算法题leetcode442,要求不能额外空间(没a出来,我是***)
  24. 反问(问了说是做存储之类的,还问我知不知道redis)

当天下午查挂了,桑心;总结下一是回答问题表述的不是很好,二是题没写出来

csig 一面

这面的面试官不错,不会的问题会引导你回答

  1. C++为什么析构函数要是虚的
  2. STL的map里面的元素是否有序
  3. 怎么定义自己的比较函数
  4. free(void* ptr)怎么正确释放指针(内存释放free函数如何知道内存大小_bdss58的专栏-CSDN博客
  5. 前面这段地址被破坏了只怎么办(采取一定的校验措施确保这段地址即使被破坏也能被发现)
  6. linux怎么看CPU占用(top)
  7. top命令可以看到哪些信息
  8. linux进程和线程的区别
  9. time_wait的作用
  10. TCP怎么保证可靠交付
  11. 什么情况下会重传
  12. UDP的包大小有限制吗,最大是多少
  13. UDPheader中指明长度的字段占多少字节(因为我不知道大小所以问了)
  14. 是否知道Nagle算法
  15. 怎么关闭(答了改内核参数,追问还能设置socket的什么选项去关闭)
  16. 100万数据找top100(一开始答成了100亿,让我算100万INT有多大哈哈哈)
  17. 快排的划分是怎么样的
  18. 一个函数rand,生成1的概率是p,生成0的概率是1-p,怎么封装这个函数使得产生0、1的概率都一样(不会,引导我知道了怎么做:先后调用函数生成两个数,易知生成10、01的概率都是一样的,那么规定这两个一个为一一个为0即可,如果生成了11或者00那么再调用直到生成10/01为止)
  19. K个一组反转链表(leetcode hard,觉得能过很大程度是因为写出来了这道题,一定要好好学好算法做多点题啊)

面完没一会就显示过了

csig 二面

这面各种各样的烂,很多会的东西想不起来了

  1. 项目难点
  2. mmap、sendfile
  3. 为什么是零拷贝,具体实现(怎么从内核页缓存发送到网卡的,协议头具体在哪里添加)
  4. client与server建立tcp长连接,第一种情况服务器直接挂了,第二种情况服务器进程挂了,两种情况下client端会做出什么反应
  5. ping原理
  6. arp原理
  7. C++空类,编译器会为它默认生成哪些函数
  8. 为什么基类的构造函数要先于派生类
  9. 类成员何时初始化,初始化顺序
  10. 成员变量初始值是什么,比如int的初始值
  11. 反问

面完马上gg了

TEG 电话一面

记不得了,问的都是一些八股文和项目相关的一些技术吧,时长半个钟

TEG 二面

没太记,时间才20分钟

  1. 对数据库的了解
  2. 解释CRUD
  3. 了解什么数据库引擎
  4. 引擎之间有什么区别
  5. 职业规划
  6. 性格
  7. 告诉我要横向对比,择优录取,两三天会出结果
  8. 之前的面试表现如何
  9. 反问(技术栈主要go,数据库用的比较多)
  10. 转正情况(要看上头的指标,现在不知道)
  11. 我:我对操作系统、计网了解的比较多(面试官回答的大概意思是每个面试官都有各自的问法)

面完很难受,虽然没马上挂但是从技术栈看得出来我应该不太match,隔天接到pcg的电话约面试就知道自己挂了

PCG 一面

这面挺突然的吧,在电话里约了1h后腾讯会议面试,表现的话自己觉得不是很好,期间耳机还出问题听不见对面声音,挺难受的

  1. 什么时候可以开始实习,实习多久
  2. 指针和引用的区别
  3. 讲下c++里的map
  4. 讲下unoredered_map
  5. 两个各自在什么情况下用
  6. 讲下C++内存分布
  7. static变量和全局变量区别
  8. 一个局部变量的初值
  9. 讲下对mysql的了解,包括索引、引擎的一些实现都可以讲(直接吐血)
  10. b树和b+树区别
  11. 数据库表大小特别大怎么优化查询
  12. tcp三次握手、四次挥手
  13. time_wait持续多久
  14. 项目中有修改这个持续时间吗(没有,说了改了nagle以及原因)
  15. 查看进程命令
  16. 项目有什么比较花了心思的地方
  17. 讲讲超时管理
  18. 讲了两个算法题,口述思路:1、怎么判断链表有环;2、两个栈实现队列
  19. 给了两个leetcode题目的链接(lc1143、lc223),自己二选一,共享屏目直接打开做
  20. 反问
  21. 问:技术栈 答:有c++和golang
  22. 问:对数据库要求如何 答:对数据库没啥要求(淦,那怎么还问了),对c++的要求非常高,要支持大流量高并发的一些模型,总之技术挑战比较大。

这面也给了我个教训吧,问的东西相关的会的都说出来,不要只答一点点等面试官来问你,可能他觉得你答一点点不太会就不会接着问了

PCG 二面

这面是在一面当天面的,自我感觉表现尚可,面试官人也很好会引导你,下面问题的顺序只是大概的

  1. 项目目的,干嘛的。
  2. 项目有几个模块
  3. 项目用的什么触发
  4. epoll和select的区别
  5. 解释下LT和ET
  6. 为什么epoll能支持两个工作模式(不会)
  7. ET应用场景
  8. 解释项目里的定时器
  9. 进程和线程的区别
  10. 项目是怎么创建线程的
  11. 系统是怎么设计的(说明主要工作逻辑)
  12. 项目里面怎么往一个链接对应的socket写呢(这个问题很简单只是我一下子没明白他要问什么,大概就是问一个链接对象怎么对应到相应的socket)
  13. 三次握手过程
  14. 共享屏幕随便开个文档,写生产者消费者(就课本上的东西)
  15. 解释什么是排序稳定性
  16. 稳定排序有哪些
  17. 开IDE,写个类实现矩阵加减乘法和重载赋值操作符(一开始没想太多用了二维矩阵,后面在面试官引导下说出可以用一维数组)
  18. 为什么一维数组访问要比二维快
  19. 重载赋值操作符的函数为什么要返回reference
  20. 对实习地有什么要求吗
  21. 学院保研要求(楼主渣渣没资格保研)
  22. 几时能来实习,能实习多久(答7月去,能实习到过年)
  23. 反问
  24. 问:部门技术栈 答:c++、多线程、网络编程
  25. 问:对数据库要求 答:基本不太要求
  26. 问:有几轮面试 答:一般2-3

hr面

电话面的,不太记得了,就常规的hr面吧,隔了个周末就收到oc了

虽然现在已经拿到offer了,但也是只高兴了那么一下吧,考虑到自己可能7月才去实习然后腾讯的转正答辩8月底就完了,觉得自己实习的太晚了不太好转正,所以到时可能要面临一边实习一边秋招的情况,现在还是挺焦虑的。

c++的话除了基础的,推荐大家读下《Effective C++》和《深度探索C++对象模型》,os读下《Linux内核设计与实现》,计网读下《TCP/IP:卷一》。虽然拿了春招offer,但是我觉得自己该接着准备秋招了(哭了,找工作真难)

#实习##面经##C++工程师##腾讯#
全部评论
许愿oc
1 回复 分享
发布于 2021-04-01 00:09
吸吸欧气!许愿oc!!!!!!!
点赞 回复 分享
发布于 2021-04-10 00:04
楼主做的什么项目啊?
点赞 回复 分享
发布于 2021-04-04 14:29
老哥,零拷贝哪里,具体实习和协议头在哪里添加能大概分享一下吗
点赞 回复 分享
发布于 2021-04-02 09:47
前面这段地址被破坏了只怎么办(采取一定的校验措施确保这段地址即使被破坏也能被发现)。OS内核不应该有相关的保护措施吗,被破坏了应该会导致page fault陷入内核,然和内核调用相关page fault handler吗?这个情况能具体举个例子吗。
点赞 回复 分享
发布于 2021-04-01 22:25
老哥接了offer不去会影响秋招吗
点赞 回复 分享
发布于 2021-04-01 22:11
楼主投的后台开发么
点赞 回复 分享
发布于 2021-04-01 19:32

相关推荐

02-25 09:55
已编辑
门头沟学院 Java
2.4 一面2.6 二面2.9 三面(hr面)2.13 oc1.15号收到面试电话那会就开始准备,因为一开始没底所以选择推迟一段时间面试,之后开始准备八股,准备实习可能会问的东西,这期间hot100过了有六七遍,真的是做吐了快,八股也是背了忘,忘了背,面经也看了很多,虽然最后用上的只有几道题,可是谁知道会问什么呢自从大二上开始学java以来,一开始做外卖,点评,学微服务,大二下五六月时,开始投简历,哎,投了一千份了无音讯,开始怀疑自己(虽然能力确实很一般),后来去到一家小小厂,但是并不能学到什么东西,而且很多东西都很不规范,没待多久便离开,大二暑假基本上摆烂很怀疑自己,大三上因为某些原因开始继续学,期间也受到一俩个中小厂的offer,不过学校不知道为啥又不允许中小厂实习只允许大厂加上待遇不太好所以也没去,感觉自己后端能力很一般,于是便打算转战测开,学习了一些比较简单的测试理论(没有很深入的学),然后十二月又开始继续投,java和测开都投,不过好像并没有几个面试,有点打击不过并没有放弃心里还是想争一口气,一月初因为学校事比较多加上考试便有几天没有继续投,10号放假后便继续,想着放假应该很多人辞职可能机会大一点,直到接到字节的面试,心里挺激动的,总算有大厂面试了,虽然很开心,但同时压力也很大,心里真的很想很想很想进,一面前几天晚上都睡不好觉,基本上都是二三点睡六七点醒了,一面三十几分钟结束,问的都不太难,而且面试官人挺好但是有些问题问的很刁钻问到了测试的一些思想并不是理论,我不太了解这方面,但是也会给我讲一讲他的理解,但是面完很伤心觉得自己要挂了。但是幸运的是一面过了(感谢面试官),两天后二面,问的同样不算难,手撕也比较简单,但也有一两个没答出来,面试官人很好并没有追问,因为是周五进行的二面,没有立即出结果,等到周一才通知到过了,很煎熬的两天,根本睡不好,好在下周一终于通知二面过了(感谢面试官),然后约第二天三面,听别的字节同学说hr面基本上是谈薪资了,但是我的并不是,hr还问了业务相关的问题,不过问的比较浅,hr还问我好像比较紧张,而且hr明确说了还要比较一下,我说我有几家的面试都拒了就在等字节的面试,三面完后就开始等结果,这几天干啥都没什么劲,等的好煎熬,终于13号下午接到了电话通知oc了,正式邮件也同时发了,接到以后真的不敢信,很激动但更重要的是可以松一口气了,可以安心的休息一下了终于可以带着个好消息过年了,找实习也可以稍微告一段落了,虽然本人很菜,但是感谢字节收留,成为忠诚的节孝子了因为问的比较简单,面经就挑几个记得的写一下一面:1.实习项目的难点说一下2.实习中用到了哪些测试方法3.针对抖音评论设计一下测试用例4.手撕:合并两个有序数组二面:1.为什么转测开2.线程进程区别,什么场景适合用哪个3.发送一个朋友圈,从发出到别人看到,从数据流转的角度说一下会经历哪些过程4.针对抖音刷到广告视频设计测试用例5.手撕:无重复字符的最长字串
厂办龚彪:锲而不舍 金石可镂
查看8道真题和解析
点赞 评论 收藏
分享
评论
15
147
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务