请问为啥请求少select反而更加高效呢?是因为请求少的时候epoll的O(log(n))和select的O(n)的时间复杂度差不多而且epoll额外维护一个红黑树导致的吗
点赞 1

相关推荐

在牛客上了看了好多佬的面经,确实给自己提供了帮助,再次感谢佬们的面经!我把自己面试的经历也分享给牛友,祝大家都拿到自己想要的offer!# 面试复盘## BG双非本+末流211硕+无竞赛+无实习+只有实验室的项目经历## 面经### 腾讯---软开-java#### 一面凉经 3/18​面试官没有开摄像头,maybe是kpi面,这也是我的第一次面试,整体表现巨差无比,给我留下了深深的打击,觉得自己就是个小废物。​上来经典的自我介绍,然后面试官就问我项目中的难点是什么,也没有追问。接下来就是提问环节​Q1:Mysql和Redis的区别?---->个人怎么用的Redis?​Q2:为什么用kafka?---->kafka重复消费怎么解决?​Q3:进程、线程、协程的区别。(我是菜鸡,没有复习到协程,丢死人了。)​Q4:讲一下对策略的理解​Q5:三道算法题:1、字符串相乘 ---->2、LRU---->3、乘积最大子数组(基本都是leetcode上的热门题目,但是我没有写出lru,让我深深的知道自己准备的是有多么的不足了,惨痛的经历,我是菜狗啊啊啊啊啊啊啊)​Q6:TCP和UDP的区别,估计是我回答的逻辑不好,就没有追问了​Q7:三次握手以及其中的细节,比如第二次握手失败会发生什么。然后就没有再问了,哭死,面试官很温柔但奈何不了我太菜了。第一次面试的紧张,我在写代码的时候既然在考虑输入输出,在面试官面前改输入输出的函数,第一次给了鹅,我太不珍惜了。### 快手---软开-java#### 一面凉经 3/19这次的面试官开了摄像头,我回答不上来的还会给我讲解,告诉我答案,在挂掉之后我也没了自信。经典自我介绍开头+项目中的难点。Q1:索引以及一系列的追问,最后出了一道题select * from t where c>0 and b!=1 and d=2;问我如何设计索引。答案是联合索引(d,c,b,a)Q2:乐观锁 和 悲观锁 。CAS的实现原理Q3:内存溢出和资源爆炸,讲一下自己经历过的内存溢出和资源爆炸Q4:kafka如何实现顺序消费还有一些关于日常使用的追问Q5:进程的并发执行问题,以及常用的锁。出了个题,讲一件i++如何实现上锁Q6:websocket如何实现通信,要提到sessionQ7:手撕:n个骰子投出为k的概率。这次面试对我打击巨大,面试官说我基础不好,要加强一下自己对基础知识的理解。也彻底没了自信,坐实了自己菜狗的身份。### 美团 ----软开-数开没错。这次岗位跟之前不太一样,我投错了,就是那么的sb,哎,硬着头皮面的。#### 一面 3/27经典的自我介绍,但是没有问项目中的难点。让我讲了将项目具体是做什么的,我巴拉巴拉的介绍了一遍。然后问我学过sql没,我信誓旦旦的说学过,平常经常用,然后一道sql手撕+算法就来了。sql手撕: employee表,找出只有五个直接下属的经理```sqlSELECT e.nameFROM employee eJOIN employee sub ON e.id = sub.managerIdGROUP BY e.id, e.nameHAVING COUNT(*) >= 5;```算法手撕:划分字符串,尽可能多的划分,同一字母最多出现在同一个片段中然后问了我听过事务没,我说听过,让我讲一下事务的特性。然后就没然后了,就让我反问了,我都感觉是kpi了,惊喜的是第二天发二面通知了。#### 二面 3/31自我介绍,然后上来就说我们考察代码能力的,直接扔出来一道题“K个一组链表翻转”,秒了。然后他看我做的太快,说再来一道吧,“合并区间”依旧秒了,都是hot100的题。然后他说我能把题背下来也是能力,我说我最近在经常刷题。然后就是八股拷打Q1:虚拟内存是什么 虚拟内存的实现 虚拟内存遇到空间不够了怎么办,虚拟内存会把资源存在哪里? 内存不够了怎么办Q2:tcp 如何保证稳定,详细讲一下保证稳定的机制,我讲的是超时重传。syn是什么,有什么用Q3:CAS(没错又问到了cas,这次哥们确实会了)Q4:线程切换Q5:索引,考了我最左匹配原则Q6:聊到了项目,我介绍了项目具体是做什么的,我自己的负责的内容,以及项目中的人员分工Q7:问我为什么选择这个方向,之前没有做过(我不敢说是我选错了,我说出于热爱和好奇,哭死)Q8:聊到了海量数据压缩,我从深度学习和算法的角度分别介绍了一下,没办法撞到了哥们擅长的领域Q8:聊到了AI,讲了讲我是如何使用ai的,以及对ai的看法。ai大势所趋这次面了70分钟左右,最开始我感觉面试官对我是无感的,但是我也尽力的去回答每一个问题,有答的好的答的不好的。面试过程中,面试官说了一句话“你是有自己的理解的。”所以我觉得在面试中还是要尽情的展示一下自己,让面试官感受到你的优点和激情。#### 4/1面试官通知二面结果,后续有人跟我联系#### 4/6号hr电话oc#### 4/9号offer## 感悟运气很重要,但是运气是留给有准备的人的。自己没有把握住鹅厂的面试,痛啊,刻在心里的痛啊。快手的打击让我彻底丧失了自信,陷入自我怀疑,从头又看了一遍八股,牛客上刷面经。java后端开发异常的卷,在面完数据开发之后有着深深的感受,大家在选择职位的时候可以酌情考虑吧。我确实卷不动。个人的简历过不了阿里、字节、蚂蚁、饿了么、京东、oppo、vivo、滴滴、作业帮等等的初筛,连面试都约不上,个人条件确实很有限。美团太好了,我是团孝子,我爱喝开水,我爱说实话。## 建议1、手撕,hoot100必刷,必刷,必刷,重要的事情说三遍。尤其是动态规划,贪心。面试的时候如果是模板题写不出来基本就凉凉了。2、简历上列出来的东西要能和面试官聊下去,面试官会看着简历问问题。3、面试的时候不要紧张,不用因为某个问题回答不上来就毁自己的状态。而是要尽情的展示自己,从思维上,情绪,性格上等等方面,万一有哪个点打动面试官就成了。4、运气是留给有准备的人的,还是要从自身出发,踏实准备,面的越多就会面的越多。5、合理评估自己准备的情况,java软开卷不动就卷数开,测开,前端,程序员是互通的,不要被语言,前后端限制住了,我们具备的是在这个领域如何快速学习的能力,而不是一门java语言学到死。6、八股是枯燥的,在回答八股的时候要用自己的话说出来,最好结合自己做过的项目,而不是背诵,要给面试官一种错觉,这个问题我在项目中思考过,而不是在八股文里背过。7、面试前在牛客上找对应岗位的面经,把面经里的问题都过一遍,最好再做点问题发散。
查看28道真题和解析
点赞 评论 收藏
分享
整体答得不好,还是有点紧张,说话磕磕绊绊的1.自我介绍2.有实习过吗1. 有没有深入钻研过中间组件2. 给出了中间件的学习建议3. 讲一下tcp的协议4. 讲一下带宽时延机5. 讲一下流量控制与拥塞控制6. 讲一下滑动窗口的目的,是用来干什么的7. 用滑动窗口来进行流量控制,有一个场景 a给b发数据,我们申请的专线带宽为1g,单个连接发送速度为500m,但发现发送的速率很慢,我们应该怎么加快传输速度?8. 滑动窗口的实现方式有哪些9. 其中影响流量速度的因素有哪些?10. 地球,卫星传输延迟问题11. Mit的操作系统学过吗12. 聊了一下国外公开课,mit操作系统,分布式系统13. 推荐去系统的学习下这两个课14. 讲一下拓扑排序15. 手搓一个lru cache16. 被批评了一下代码风格17. 讲一下ThreadLocal 及其是否可以线程间传输ThreadLocal 18. 面试官评价了一下inheritedthreadlocal 是很鸡肋的19. 评价了一下 阿里的ttl 也有一些鸡肋20. 讲一下guava 本地缓存的底层实现21. 面试官进行引导 让讲一下concurrentHashMap(实质上guava本地缓存就是类似的哈希表)22. 面试官打断,说后面不用讲了,说八股背的太好了(心想寄了)23. 面试官又问guava的底层实现方式24. 面试官讲解了一下guava本地缓存的底层实现25. 反问业务 微服务 jdk 框架26. 反问学习建议 多了解 保持好奇心 不要只背27. 面试官问了一下 你们学校不管吗 不查签到吗28. 能实习5 6个月?
查看21道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务