流程

  • 6.16官网投简历
  • 6.17一面
  • 6.28二面
  • 7.6 hr面

面经

一面 70min

一面体验挺好的,面试官人很和善,回答后面试官有反馈,问项目比较细,基本都是围绕项目展开的,一般都是你说了然后追问细节或者底层原理,所以不太懂的尽量别说或带过

项目:

  • 介绍一下项目
  • 一个连接到来的具体处理过程是怎么样的
  • 线程池是怎么分配任务的(轮叫)除了轮叫还有那些
  • 是怎么实现的线程异步唤醒
  • 对端连接断开后服务端会收到什么响应 (会收到EPOLLIN事件,但read()返回0) 你是怎么区别和read数据到0的(ET模式读数据会读到EAGIN)
  • 怎么处理的TIME_WAIT状态、RST响应呢
  • http协议解析是你自己写的吗(看了nginx的状态机 模仿的)
  • 有没有了解过其他的开源服务器 怎么了解的 看的源码还是别人博客什么的

基础知识:

  • C++多态
  • const static关键字的作用
  • 智能指针了解多少 怎么实现share_ptr的线程安全的
  • 网页上输入网址到输出页面发生的过程 (DNS查询原理、(ARP协议问了原理问了发包中arp包里IP地址是谁的,mac地址保存的谁的) 、回传的时候怎么确定局域网的某台主机的,NAT网关知道吗、http请求响应字段是怎么解析的)
  • 刚刚说到负载均衡,常见的负载均衡算法有了解吗
  • 多线程编程的惊群效应是什么 怎么处理的(被问过三次了)
  • epoll与select 区别 epoll两种触发模式 为什么ET比LT高效
  • 什么是TCP的粘包问题(关键点:粘包是应用层的)你是怎么处理的 刚刚说了延迟发送知不知道TCP的Nagle
  • 数据库知道那些 主键 事务 有了解过redis吗(其他记不清了,说了不太了解就没再多问)

其他:

自我介绍下
实习地点 实习多久能到岗 能实习多久 介绍了下他们部门 要转go 对go有什么了解
平时怎么学习新技术 看github上的开源项目不

做题 腾讯会议文档做的 20min 很基础

题型:指针和引用、不同平台short int long longlong 指针的长度 内存对齐 二分查找 位运算和宏定义写法 grep命令

二面 30min

  • 能实习多久 什么时候到岗
  • 要转go go了解吗 go和C++有什么区别
  • 介绍下项目 有什么亮点
  • Reactor模式特点
  • 有没有压测过 有多大并发量
  • 看你项目挺偏底层的,是不是对底层更感兴趣,我们这里主要是写业务的,你是怎么看的
  • 快排 写了递归的 不用递归怎么做(说了没写过非递归的应该是用栈存下中间状态,就没让写了)

hr面 25min

  • 实习时间 毕业时间 多久能到岗 工作地点
  • 问了本科和研究生经历
  • 最困难和最有成就感的事 问的挺详细的
  • 职业规划
  • 加班996怎么看(面深信服没问腾讯问了哈哈)
  • 投了那些公司 有那些offer了

更多推荐

腾讯后台开发日常实习面经