后台开发实习生-教育-北京面经分享
3.2,终于收到offer了,在此分享一下我的面经。感谢牛客对我的帮助。
一面(2.3)
-
知道哪些缓存策略?(FIFO ,LRU,LRU-k,2Q等)介绍一下LRU与LRU-k的区别。LRU的时间复杂度,如何优化?
-
Session和Cookie的区别?
-
浏览器中输入url发生了什么?
-
https的四次握手,为什么要采用混合加密(对称密钥+非对称密钥),如何验证CA证书的真实性
-
事务的四大特性,如何实现,mysql的日志,mysql为什么采用B+树?B+树和B树的区别?
-
多进程与多线程的区别,多路复用的适用场景?
-
链表反转
二面(2.7)
-
两道算法题
-
有序二维数组查找某元素,剑指 Offer 04. 二维数组中的查找
-
已知先序和中序序列,输出后序序列
-
-
TCP和UDP的区别,TCP的三次握手和四次挥手
-
进程调度算法(回答的不好)
-
事务的隔离级别,可重复读是如何实现的(MVCC)
-
写sql题
用户浏览视频日志 user_behavior: date, user_id, video_id, start_time, end_time 昨天观看不同视频个数的前 5 名 user_id(没怎么练过sql,相关的函数忘了,大体正确)
三面(2.19)
-
聊项目
-
多线程中线程崩溃会产生什么影响?
-
中断
-
最小生成树的算法,并简单证明。
-
Unicode与utf-8的区别(回答的不够好,只简单的讲了utf8,utf16和utf32的编码方式,但)
-
数据库崩溃,如何保证数据的一致性。
-
上台阶,一次只能走1阶或2阶,上到n阶有多少种不同的走法,要求输出每种走法。
-
面试时长40分钟,不知道凉没凉?