洛凯云享一面

洛凯云享(一面,面试好多八股文,尤其是网络和mysql,40+min,30min八股文)
(面试官竟然还看了我的博客)
更新:好家伙,面试完一小时就收到了感谢信。
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)

#北京洛凯科技校招##面试##面试题目##面试流程##面试复盘#
全部评论
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-05 20:30 北京

相关推荐

面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务