23滴滴提前批---C++开发面经
8.11一天三面
一面没问项目,八股,手撕
- new和malloc的区别,delete析构是谁做的,如果不调用delete会怎么样
- 举个例子说明在什么情况下内存会彻底丢掉无法找回
- 一直申请内存导致不够用会怎么样,OOM会选择哪些进程删除
- malloc出来的内存一定在物理内存上分配了吗
- 介绍一下分页机制,缺页中断,虚拟内存和物理地址的关系
- C++代码如何变成二进制文件的,动静态链接的优缺点
- 两个二进制文件都运行同一个库文件应该怎么做
- 输入URL解析的过程,四次挥手的过程
- TCP连接建立后把网线拔了会怎么样,客户端会发生什么
- 在山区里信号很差用手机上网,没有彻底断开会发生什么,什么时候会发生重传(太难了已经崩溃了
- CPU缓存机制是怎么做的,L1、2、3缓存
- 介绍虚函数、纯虚函数
- 手撕:给一个等差数列,其中有一项缺失,找出这一项
二面还是八股,手撕
- C++独有特性,和C的区别,描述面向对象,虚函数怎么实现,为什么需要虚函数,虚基类有接触吗
- 纯虚函数和虚函数区别,有一个大规模项目需要合作,纯虚函数有什么好处
- 函数指针和指向指针的指针是什么,有什么用
- 有哪些设计模式,单例模式是为了解决什么问题,解释一下工厂和抽象工厂
- 学过的数据结构有什么用,堆栈用处大吗,树是干什么用的,为什么要用红黑树不用其他树
- 为什么数据库用b+树不用红黑树(引导我半天也没想出来。。
- 你来设计苹果iCloud共享图片是怎么做
- 平时写代码用什么东西管理
- 手撕:反转链表
三面项目,手撕
手撕:给一棵树,找出相同的子树(当时脑抽了引导很久才写出来。。