- 自我介绍
- 项目介绍
- 深挖项目
- 多Reactor模型讲讲
- Linux查看内存的指令?Linux过滤信息的指令?
- MySQL使用的存储引擎有哪些?
- InnoDB有什么特点?
- InnoDB下的数据结构是什么?
- 讲讲B+树吧?
- B+树与B树的区别?
- 算法怎么样?
- 手撕代码 -----> 反转链表(LeetCode核心模式)
一面难度不大,手撕反转链表真的是很照顾人了,刚刚结束就收到了二面预约通知。
但是二面真的打击到了我,我感觉可能是凉了。
- 二面 50 min 约的是15:00,面试官迟到了一会,正式开始16:00
- 自我介绍 + 项目 + 每个项目用到的技术栈(要求不超过5分钟)
- 介绍一下都有哪些IO多路复用技术
- 讲讲select,poll,epoll的区别和流程
- 介绍select的时候打断,问select的fd_set一定是1024吗?
- 为什么不一定?可以用哪个参数设置呢?这个参数在Linux下哪个文件内存放呢?(离谱...)
- 介绍poll的时候说poll的底层是动态数组,被问pollfd的数组结构里有哪三个参数呢? (忘了)
- epoll在内核维护的队列介绍一下吧
- epoll底层的红黑树介绍一下,增删插时间复杂度是多少?
- 为什么红黑树是弱平衡二叉搜索树,弱平衡体现在哪里?
- 二叉搜索树插入一个结点,具体什么流程呢? (答先找插入位置再左旋右旋保持平衡,不知道对不对)
- 给一个前序中序后序的字符串,哪些组合能唯一确定一颗二叉树?
- 比如前序后序怎么确定二叉树的?说一下
- 熟悉栈和队列吗?底层是什么?区别是什么?
- 手撕代码 ----> 用栈实现队列 (要求共享屏幕打开visual studio写,实现pop和push,自己输入输出)
- Linux指令ln是啥意思?(忘记了,回答好像是和文件操作相关)
- 软链接和硬链接,要求从文件系统和内存这个角度解释
- MySQL建表你是怎么考虑的呢?(回答三范式和反范式化)
- 三范式中每一范式都是指什么?
- 反范式化又是指什么?
- 给了一个 student 表,问设计是否合理?如果不合理给出修改意见
- 了解微服务吗(不了解)
- 了解云原生吗(问了两遍听不清...到底是云啥玩意,应该是云原生,不了解)
还有几个问题忘记了,问的头晕,好多问题都会加个为什么... 手撕代码写出来了,自己调试也没问题
求过
#后端##C/C++#
#上海爱数##面经##秋招#