第三场
共享屏幕做题(三道简单题)
-
替换空格成%20(双指针)
- 删除升序链表中的重复元素(指针)
- 有效的括号(栈)
第四场、第五场
自我介绍
项目拷打
- 整个项目架构
- rpc模块的情况
- 分析的数据从那里获取,如何获取
- 整个项目还有哪些不足与改进
- docker模块的主要工作
说一下DNS
map底层的红黑树跟二叉搜索树有什么区别?
介绍一下HTTP
介绍一下虚函数
虚函数的限制
介绍一下数据结构
介绍一下常用的排序算法
图论里面的迪杰斯特拉算法还记得吗
了解过堆排序吗
进行和线程的区别
进程和线程在内存方面的区别
介绍一下常用的锁
互斥锁和读写锁之间的相同和不同
Linux常用指令
做题
合并两个有序链表(双指针)
- 当其中一个链表为空时,如何优化
- 如果有K个链表,每个链表中有 n 个节点,如何排序
- 把所有节点放入小顶堆,然后创建新的头结点,从小顶堆里面依次取出(时间复杂度 )
- 把所有节点两两合并,使用双指针的方法进行排序(时间复杂度 差不多)
- 面试官:每次把所有链表的头结点放入小顶堆,只对头节点进行排序
- 如果有K个链表,每个链表中有 n 个节点,如何排序