首页 > 腾讯暑期实习-C++后台开发四轮回
头像
牛客617916077号
编辑于 2021-04-03 22:07
+ 关注

腾讯暑期实习-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,但是我觉得自己该接着准备秋招了(哭了,找工作真难)

更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐