秋招第三面-小红书一面
8.20面试
问题24分钟
1.介绍自己。讲一下项目
2.讲一下你用的这个reactor网络模型
3.你说把耗时操作push到线程池,那返回的结果是如何回到reactor的回调里的呢。我不会,胡扯了一通,还是对项目不够了解
4.讲一下epoll处理的过程
5.send返回以后数据是已经从机器发出去了吗
6.缓冲区满了以后阻塞模式的send会是什么表现?非阻塞模式呢
7.什么时候触发send缓冲区的清理。面试官提到tcp之后我说是ack以后
8.在reactor回调里不小心写了一个sleep会怎么样?影响的是一个连接还是一个线程?其实是想问线程切换相关
9.你提到nginx,有没有看过nginx的实现,我说没有,面试官说因为你之前提到用epoll实现reactor网络模型,其实应该先看一下nginx和redis的实现,因为他们就是标准的。而且redis还是跨平台的,不仅是epoll,会根据操作系统的不同选择不同的方案
10.你提到io_uring,是使用过吗?内核版本多少?是要解决什么问题?只是处理网络io还是包括文件?
11.你提到的这个用户态轻量级线程协程是什么?具体的切栈的逻辑你有看过吗?操作寄存器如果不用内联汇编的话你觉得c和c++可以实现吗?面试官意思是c/c++没有提供直接操作寄存器的接口
12.你这边还提到了使用过dpdk,dpdk和标准的内核网络栈有什么区别?是如何绕过内核的?驱动是用户态的还是内核态的?工作原理可以描述一下吗?它是主动去pull还是一个中断触发
13.read系统调用读本地文件一直到磁盘设备大概经历那些流程。我说我不太了解
手撕33分钟:面试官问我擅长的类型,我说动态规划,结果寄在这了😭😭
两个字符串,可以进行3种操作:删除一个字符、替换一个字符、插入一个字符,问使得两个字符串相等的最小操作数
没有反问环节
问题24分钟
1.介绍自己。讲一下项目
2.讲一下你用的这个reactor网络模型
3.你说把耗时操作push到线程池,那返回的结果是如何回到reactor的回调里的呢。我不会,胡扯了一通,还是对项目不够了解
4.讲一下epoll处理的过程
5.send返回以后数据是已经从机器发出去了吗
6.缓冲区满了以后阻塞模式的send会是什么表现?非阻塞模式呢
7.什么时候触发send缓冲区的清理。面试官提到tcp之后我说是ack以后
8.在reactor回调里不小心写了一个sleep会怎么样?影响的是一个连接还是一个线程?其实是想问线程切换相关
9.你提到nginx,有没有看过nginx的实现,我说没有,面试官说因为你之前提到用epoll实现reactor网络模型,其实应该先看一下nginx和redis的实现,因为他们就是标准的。而且redis还是跨平台的,不仅是epoll,会根据操作系统的不同选择不同的方案
10.你提到io_uring,是使用过吗?内核版本多少?是要解决什么问题?只是处理网络io还是包括文件?
11.你提到的这个用户态轻量级线程协程是什么?具体的切栈的逻辑你有看过吗?操作寄存器如果不用内联汇编的话你觉得c和c++可以实现吗?面试官意思是c/c++没有提供直接操作寄存器的接口
12.你这边还提到了使用过dpdk,dpdk和标准的内核网络栈有什么区别?是如何绕过内核的?驱动是用户态的还是内核态的?工作原理可以描述一下吗?它是主动去pull还是一个中断触发
13.read系统调用读本地文件一直到磁盘设备大概经历那些流程。我说我不太了解
手撕33分钟:面试官问我擅长的类型,我说动态规划,结果寄在这了😭😭
两个字符串,可以进行3种操作:删除一个字符、替换一个字符、插入一个字符,问使得两个字符串相等的最小操作数
没有反问环节
全部评论
uu笔试大概得a几题才约面的
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
08-19 16:16
华中科技大学 Java 点赞 评论 收藏
分享