洛凯云享一面
洛凯云享(一面,面试好多八股文,尤其是网络和mysql,40+min,30min八股文)
2.介绍一下项目有哪些模块(webserver)
8.http与https(非对称与对称加密)?为什么需要有非对称加密?
11.B+树和B树区别?为何B+快?
14.数据库隔离级别?未提交读是啥?
15.如何对mysql进行性能优化?
16.回表是啥?(索引相关)如何解决回表问题?(联合索引)联合索引最重要的原则?(最左匹配原则)最左匹配原则原理?(索引是有序的,例如AC跨过B就会导致索引失效)
17.悲观锁和乐观锁
18.联合索引
19.日志(bin,undo,redo)?都是啥?分布在引擎层中的innodb还是myisam?(懵逼)
20.算法题:******** 215. 数组中第 K 大的元素(快排,不用全部排,acm模式)
21.反问(业务,主要用java和go)
#北京洛凯科技校招##面试##面试题目##面试流程##面试复盘#
(面试官竟然还看了我的博客)
更新:好家伙,面试完一小时就收到了感谢信。
1.自我介绍2.介绍一下项目有哪些模块(webserver)
3.如何利用正则与状态机解析 HTTP 请求报文?(解析报文)get与post区别?
4.epoll与select,poll区别(poll比select的文件描述符数量更多)?ET和LT用途场景?
- epoll是基于事件驱动实现的,加入一个新的fd,会调用epoll_ctr函数为该fd注册一个回调函数,然后将该fd结点注册到内核中的epoll红黑树中,当IO事件发生时,就会调用回调函数,将该fd结点放到就绪链表中,epoll_wait函数实际上就是从这个就绪链表中获取这些fd。
水平触发:只要可读,就一直触发读事件,只要可写,就一直触发写事件
边缘触发:从不可读变为可读,从可读变为不可读,从不可写变为可写,从可写变为不可写,都只触发一次
边缘触发:从不可读变为可读,从可读变为不可读,从不可写变为可写,从可写变为不可写,都只触发一次
使用场景:
面试冲刺:38---epoll在LT和ET模式下的区别是什么?使用时有什么注意事项吗? - 代码先锋网 (codeleading.com)- 大数据处理:因为大数据的数据量比较多,因此一次可能处理不完,可以使用水平触发,来多次处理数据
- 小数据处理:小数据调用边缘触发即可,一次处理完就行
- 服务器的监听套接字:使用水平触发。当有客户端连接时如果这次不处理,可以放到下一次来处理。但是如果使用边缘触发,本次不处理,下次再处理就消失了,从而失去了这个客户端的连接
5.进程与线程区别
- 进程是运行中的程序,线程是进程的内部的一个执行序列
- 进程是资源分配的单元,线程是执行行单元
- 进程间切换代价大,线程间切换代价小
- 进程拥有资源多,线程拥有资源少
- 多个线程共享进程的资源
6.tcp四次挥手,timewait状态是哪一方的(发起方),为什么还有这个状态?(2Msl,确保被断开方能接收到最后一次ack,正好一个报文段来回的时间)
- 1.允许老的重复报文分组在网络中消逝。
- 2.保证TCP全双工连接的正确关闭。
第一个理由是假如我们在192.168.1.1:5000和39.106.170.184:6000建立一个TCP连接,一段时间后我们关闭这个连接,再基于相同插口建立一个新的TCP连接,这个新的连接称为前一个连接的化身。老的报文很有可能由于某些原因迟到了,那么新的TCP连接很有可能会将这个迟到的报文认为是新的连接的报文,而导致数据错乱。为了防止这种情况的发生TCP连接必须让TIME_WAIT状态持续2MSL,在此期间将不能基于这个插口建立新的化身,让它有足够的时间使迟到的报文段被丢弃。
第二个理由是因为如果主动关闭方最终的ACK丢失,那么服务器将会重新发送那个FIN,以允许主动关闭方重新发送那个ACK。要是主动关闭方不维护2MSL状态,那么主动关闭将会不得不响应一个RST报文段,而服务器将会把它解释为一个错误,导致TCP连接没有办法完成全双工的关闭,而进入半关闭状态。
7.如果kill掉服务器,会发生什么?(客户端断开)
在 kill 掉进程后,服务端会发送 FIN 报文,与客户端进行四次挥手
为什么?(涉及到内核态和用户态转换)8.http与https(非对称与对称加密)?为什么需要有非对称加密?
9.慢启动(拥塞控制算法)
慢开始,拥塞避免,快重传,快恢复
10.移动窗口法有什么用?(流量控制,解决发送速率过快导致接收方不能接受的问题)11.B+树和B树区别?为何B+快?
12.mysql如何执行一条SQL?(懵逼)
13.如何解决幻读?(可串行化读)14.数据库隔离级别?未提交读是啥?
15.如何对mysql进行性能优化?
16.回表是啥?(索引相关)如何解决回表问题?(联合索引)联合索引最重要的原则?(最左匹配原则)最左匹配原则原理?(索引是有序的,例如AC跨过B就会导致索引失效)
17.悲观锁和乐观锁
18.联合索引
19.日志(bin,undo,redo)?都是啥?分布在引擎层中的innodb还是myisam?(懵逼)
20.算法题:******** 215. 数组中第 K 大的元素(快排,不用全部排,acm模式)
21.反问(业务,主要用java和go)
#北京洛凯科技校招##面试##面试题目##面试流程##面试复盘#