秋招第三面-小红书一面

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种操作:删除一个字符、替换一个字符、插入一个字符,问使得两个字符串相等的最小操作数

没有反问环节

全部评论
uu笔试大概得a几题才约面的
点赞 回复 分享
发布于 昨天 20:37 福建

相关推荐

面试前,被导师call了, 面试完全没心情,疲惫,痛苦。【面试问题】👋 你好,那我们现在开始。请先大概做一下自我介绍。🎯 你这几个项目里哪个最熟悉?挑一个你觉得技术含量或技术难度最高的讲讲。🤖 大模型代码生成?🧪 生成的程序怎么运行?🛡️ 你这个程序的意义是什么?🔍 具体怎么监控?🤔 为什么还要用 LLM 来生成?✅ 生成的程序一定正确吗?🧐 没有人工 review,如何验证有效性?📊 你怎么评估 overhead?⚙️overhead 有多大?📈 overhead 主要消耗在哪些地方?🔗 举几个例子。📦 数据怎么存储?⏱️ 阈值怎么设定?🖥️ 另一个 xxx是做什么的?🚀 这个项目解决了什么问题?面试官直接说:这个项目没有任何意义,玩具,没用。📝 哪个语言最熟悉?C++🔍 如果线上应用性能差,你怎么分析并优化?🌡️ 你提到的 perf/火焰图具体怎么用?📚 C++ 有哪些常见数据结构?🔒 哪些是线程安全的?🛠️ 如果要实现一个线程安全的 vector,怎么做?🔄 知道哪些无锁数据结构?🧮 vector 的扩容机制?📏 vector 的 resize 与 reserve 区别?🔐 用锁时要注意什么?如何避免死锁?🔄 单把锁也可能导致死锁吗?🗣️ 两个线程/进程如何通信?手撕:无锁多生产者,单消费者的 ringbuffer🧱 请手写一个多生产者单消费者、无锁且线程安全的队列。🧾 解释一下刚写的代码思路。
秋招笔面试记录
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

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