曾经的我,自以为是一个无情的刷题机器。
面对LeetCode medium,我微微一笑,实在不足为道。
面对LeetCode hard,我眉头一皱,沉思片刻,随即舒展,思路便浮上脑海。
当时的我,可曾想过自己会在某天,败于相交链表😭。。
以下是面经:
问题都相当基础,中途我主动提出可以问我Java或者MySQL,面试官说我们注重基础,然后继续问操作系统、网络。。
- 自我介绍
- 项目依次说一下(感觉面试官觉得我的项目没啥难度。。)
- 问学过哪些课程
- 进程通信方式(老八股了)
- 操作系统内存管理(连续,块式,空闲链表;非连续,页式,段式,段页式)
- 虚拟地址如何转换为物理地址(MMU,TLB,缺页中断,中断处理)
- 页表替换算法(FIFO,LRU)
- LRU如何实现(双向链表,hash表)
- DHCP如何工作(记不太清了,简单说了下,面试官问我是不是没学过网络。。)
- 网络三次握手、四次挥手,能说多细说多细(标志位,状态)
- 为什么TIME_WAIT需要2MSL(服务端正确关闭,滞留的重复连接请求报文)
- 相交链表(第一次碰到口述这种方式。。有点不知道怎么说,没描述清楚标准做法,后面说可以先遍历长度,然后快慢指针,或者hash表存一下,面试官说不是最优,然后就跳过了)
- 快速排序,描述下思想,时间复杂度,最坏情况举个例子(左边<=pivot<=右边,递归,O(nlogn),倒序数组)
- 最大连续子数组和(贪心,如果前面的和大于0,加上当前项至少不会更小,O(n))
总结:DHCP和相交链表没答好,面完立马流程结束。。
全部评论
(5) 回帖