2023-3-19 百度C++后端暑期实习面经 已oc
一面48min
- 自我介绍
- 研究生的研究方向
- 做过什么后端开发相关的项目
- webserver是你独立写的还是参考别人
- 三个项目都是什么类型?
- C++的内存结构
- 堆区和栈区的区别
- 什么情况下使用堆区什么情况使用栈区
- 数组和链表的区别
- 进程和线程的区别
- i = i + 1大概执行多久
- 进程间的通信方式有哪些
- 了解中断吗
- 键盘上敲一个字母是什么中断
- Linux系统熟悉吗
- 查找一个字符串是否在文件中
- 查找本机一个端口号的状态
- 几十个G的文件中查找一个字符串是否存在
- 如何判断远程服务的端口有没有开启
- 平时在Linux上都用什么命令
- 介绍一下OSI七层协议,各层协议都有哪些
- 百度搜索www.baidu.com到页面出现百度,这中间发生了什么
- baidu.com默认用什么端口
- 三次握手
- 两次握手可以吗
- 如果网络情况非常好百分百不会发生拥塞,不会重传SYN,不会有历史连接的问题,可以两次握手吗?
- 什么时候用tcp什么时候用udp
- 此时此刻的视频面试用的udp还是tcp
- udp丢包会有什么现象?
- http和https的区别
- 证书是绿色的是什么意思?
- 自己随便编一个证书可以吗?需要去什么地方注册
- 平常查什么网站?代码、文献、debug习惯
- 手撕代码Leetcode模式easy题
二面1h
- proactor和reactor模式
- 从数据流的角度描述一下proactor模式
- 五种IO模型
- epoll是同步还是异步的?这个争议很大
- 为什么不用异步
- 如何用同步IO模拟proactor模式
- 一些场景题,都有很好的引导。高并发情况下的性能提升方法
- Linux如何切换目录、查看端口绑定情况、查看cpu利用率命令
- 什么是qps和tps,如何计算
- 线程池数量如何确定
- 线程池和任务队列有没有做分离
- 线程池中怎么利用的信号量机制
- CPU利用率拉满的时候在线程池中增加线程是否能提高qps
- 引导我如何根据CPU利用率动态设计,优化这个线程池
- http解析主从状态机
- http的5类状态码
- 是否使用过lib库,动态链接库静态链接库特点、区别
- 进程线程区别、通信方式
- 协程
- 接下来C++八股
- static加在全局变量上
- 加在局部变量上
- 加在类成员函数上
- 如何使用类中的static成员函数
- static数据成员如何修改
- const加在不同位置的效果,和static问法差不多
- 全局变量的默认关键字
- 面向对象三大特性
- 虚函数表在什么时候创建的、存在什么位置
- 虚函数存在什么位置
- 虚函数指针在什么时候创建
- 虚函数为什么能实现多态
- 函数调用的过程中堆栈的变化情况
- 什么是内存泄漏、如何防止
- 既然提到智能指针,说几个常见的,哪个比较熟
- 你提到RAII,什么是RAII、智能指针为什么能防止内存泄漏
- 看过智能指针的源码吗?讲一下shared_ptr的内部结构
- 如果一个传给shared_ptr一个引用,那么引用计数会不会+1
- 宏定义,有无类型检查,在什么阶段生效
- 设计模型
- 远不止这些、自从挖完项目之后、我俩快问快答问了非常多的八股
- 手撕代码medium。
三面46min
- 实习的工作意向
- 有没有实习经历
- 和导师做过什么项目
- C++接触多长时间了
- 做导师的项目是自己选择还是他分配的
- 项目来源
- 这两个项目哪个印象比较深刻,如果想聊我们聊哪个
- 项目是自己完成还是团体参与,独立完成的时候有没有和其他同学讨论交流过
- 在选择任务的技术路线时如何佐证你的方案是可行的
- 组会讨论是什么形式,你期望的是什么样的反馈
- 如果你的想法和大家的反馈有冲突怎么办
- 当你的任务有做偏了的情况在哪一步去进行挽回
- 别人给你的反馈不一定是正确的,你觉得自己的思路更好,这种情况怎么处理
- 对于更具有权威性的人提出的建议你是怎么考虑的
- 合作的项目彼此之间进度不一的情况怎么处理
- 研究生规划
- 你觉得自己是偏技术钻研方向还是偏向业务(社交、组织协调)
- 工作城市的选择
- 实习时间
- 优势和不足的点
- 项目大概做了多长时间
- 对这个项目的时间周期满意吗
- 反问环节
- 面试表现:评价比较正面。
3月30号才oc
#我的实习求职记录#