美团暑期实习-基础研发平台存储部门-一面-二面(offer)
美团暑期实习 部门:基础研发存储技术中心 base:北京
时间线:3.22一面,3.27二面,4.11offer
一面:
- 自我介绍,面试官介绍
- 问一下个人的信息,学习方法,看过的书
- 项目是怎么做的,C++掌握到什么程度
- 基类的析构函数为虚函数
- 析构函数的调用过程
- map和unordered_map的底层实现
- map和unordered_map的选取原则,举个实际的例子。
- 跳表的介绍,时间复杂度,随机函数
- 工程上用跳表多还是红黑树多,为什么
- map的下标操作和查找操作的区别
- const,mutable介绍
- 智能指针介绍
- weak_ptr的作用,当weak_ptr所指向的对象被释放了,weak_ptr会出现什么情况
- c++强制类型转换,比c中的有哪些好处
- 标准库中的栈
- 红黑树的高度
- 红黑树和AVL树比较
- socket通信的过程
- socket的过程对应TCP三次握手的环节
- 连接过程中socket是阻塞的还是非阻塞的
- I/O多路复用和多线程,epoll的过程
- webserver整个的流程说一下,挖一些细节
- 线程池的设计,工作的过程。一个线程处理完一个任务后,线程后续的处理
- 定时器的设计,时间复杂度
- LRU的过程
- gdb调试
- top命令查看平均负载
- 项目是否发生过死锁
- 硬链接和软链接
- 手撕代码:重排链表
二面:
- 自我介绍
- 两个项目的背景
- 介绍跳表
- 为什么用跳表不用红黑树
- 跳表相对于红黑树的劣势
- 跳表的随机函数
- 做项目花费的时间
- 为什么做webserver项目
- tcp的四次挥手
- 四次挥手对应socket中通信的部分,其中哪些是用户调用,哪些是内核完成的
- 怎么知道客户端关闭连接
- 客户端发送数据为0,read或recv返回什么
- 当一个新的连接进来服务器这面要做什么工作
- 客户端和服务器中socket过程,对应的函数
- setsockopt中的SO_REUSEADDR和SO_REUSEPORT
- 端口复用
- listen的参数backlog
- 当客户端多次发送连接,服务器没有accept,客户端会出现什么现象
- 对哪一门课比较喜欢
- 操作系统的内核方面理解
- 内核程序有哪些
- 进程管理
- 进程和线程的区别
- 线程共享进程的哪些资源
- 堆空间共享吗,说一下堆的内存管理,堆不连续怎么处理
- 操作系统对内存做的管理
- 虚拟存储技术
- 虚拟地址和物理地址转换的过程,有没有可能访问一个虚拟地址既不在内存中也不在外存中
- 操作系统malloc的过程,大块内存和小块内存的分配
- Linux文件系统介绍一下
- 硬中断和软中断
- 为什么要分为用户态和内核态,举个例子
- 设计模式,单例模式说一下
- 懒汉式的两种实现方法具体说一下
- 编译器是如何保证C++的标准能正确实现,底层实现
- 编译原理这门课
- 源程序到可执行程序的过程
- 重定位的过程
- 指令重排,为什么多线程中要避免指令重排,自己设置
- 手撕题目。面试官口述,先说思路,再写代码。
二面结束等了半个月,中间有过一次询问入职的时间,自己能去的时间有点晚,后来一直没有消息,还以为凉了。感谢美团,非常的幸运,就面了这一个,祝大家也早日拿到offer。
#美团##美团信息集散地##你收到了团子的OC了吗#