百度-C++面经

秋招经历以及更多分享,请点击--》秋招总结 & 面经分享总贴

笔试(10.12) a2.1

一面(10.25) 32min

  1. 拷贝构造函数什么时候被调用
    • 拷贝构造函数是传值还是什么
    • 为什么要传引用—》防止递归调用
  2. 抽象类和抽象方法
    • 继承和多态的区别
  3. 常用容器
    • List是双向还是单向的
    • Vector动态扩容的时机
    • 怎么减少扩容的次数
  4. 怎么实现项目中的简单工厂模式
    • 单例模式
  5. 事务特性
    • 隔离级别及未解决的问题
    • Serializable带来了别的什么问题
    • 实际应用中使用哪个级别—》read committed
  6. 手撕:每个数据有color和val两种属性,先按color的红黄蓝排序,再按val从小到大排序,O1空间复杂度--》定义新的compare函数,再in-place排序

二面(10.25) 50min

  1. 多态的实现原理
    • 怎么知道绑定对象的具体类型
  2. 指针和引用的区别
  3. 怎么判断两个单向链表相交
    • 时间复杂度
    • 怎么判断是否有环,O1复杂度解法
    • 不能排除单向链表是否有环,该怎么判断是否相交,不能用哈希表
  4. 手撕:实现Memcpy
    • Const关键字的用法,const指针的用法
    • src和dst内存空间有重叠怎么办
  5. 单例模式的应用场景
  6. 手撕:先序遍历,非递归
  7. 线程之间的同步怎么做
  8. 怎么实现压测工具,压力均匀(单位时间建立的连接数相同)、可控,从本地读取文件,到发送给服务器,再到接收响应,判断是否成功--》主线程先读完所有要发送的数据,然后从1到n,轮转分发给工作线程自己的请求队列,工作线程就不断的从队列中取出编号,再找到对应的数据发送

三面(10.25) 31min

  1. 基于升序链表的定时器容器,解释一下

二面和三面问了很多实习的问题,这里就没放出来了。百度面试的体验也很不错,流程也挺快,尤其是二面,一直在引导。手撕的也比较注重基础。三面算是业务主管的综合面。

#百度##C++工程师##校招##面经#
全部评论
你的项目是不是那个轻量级Web服务器啊 ,看到基于升序链表的定时器容器这个有点熟悉
1 回复 分享
发布于 2020-12-09 11:10

相关推荐

不愿透露姓名的神秘牛友
11-26 17:06
已编辑
度小满 信贷部门java开发 24k×15+3W签字费 硕士211
点赞 评论 收藏
分享
评论
5
51
分享
牛客网
牛客企业服务