面试官问Netty,你这么回答就完全对了!

作者: 跟着Mic学架构分类: 职业职场 发布时间: 2021-11-27 18:59:31 浏览:31312 次

面试官问Netty,你这么回答就完全对了!

yuyu668:
netty 传输怎么保证 消息不会重复发的? 怎么保证你这个消息能发送成功? netty客户端发消息 网络不好导致离线然后又恢复好网络,netty是怎么处理的? ------------ 我面试被问到了,, 我回答的是 1.消息本身不会重复发送,除非客户端发了两次网络请求. 2. 然后怎么发送成功,netty服务端可能多次收到客户端的消息包,服务端要保证数据包的完整才进行读取,那这应该是 粘/拆包问题, 可以给消息定长 , 或者特定的分割符,直到收到完整的客户端数据包 3. gg ,我猜测应该是有个等待缓存的策略, 时间久了服务端如果没收到完整包会把收到的部分丢弃. --------------up,这是我面一年的问题,求解[委屈]

【回复】回复 @曷此其极 : 我觉得可以这样理解 netty本来就是做网络通信的 而 ribbt和rocket也是基于netty做的通信
总有刁朕想害民_:
我一健3连击!拜托大数据记住我!多给我推这些技术视频!别再推洋葱搞里头给我了!

【回复】兄弟很爱学习,来不来我们组,我给你内推,腾讯财付通
【回复】回复 @我是菜鸡互啄 :[脱单doge]
啊延688:
问个问题,NIO的cpu 100%不是因为循环造成的吗,那为什么重建selector可以解决这个问题,重建后不是依然还是循环吗?

【回复】本人小白刚好学到这个问题了,Nio里有个选择器selecter,他的监听事件select方法是放到一个while true里的,正常是监听到才返回一个事件,但是这个方法在Linux环境中的特定场景下不管监听没监听到会默认返回事件,然后又是在while true里,造成了死循环,所以导致cpu 100%。所以解决办法就是重启服务,或者重建selector,来强行中断死循环。这个是本人理解,水平不高,有啥问题还请指正哈
【回复】selector的select()方法是阻塞的,没消息来他不会往下走
【回复】死循环加个条件break不就得了
不刷微博的抹茶怪兽:
几年的java开发能达到这个水平啊 这个水平大概多少k

【回复】回复 @秋明山上的86 :张口就来
【回复】来自两年后 我只能说现在越来越卷了 你要没点底层原理或源码 东西 这些都太肤浅了
【回复】大概2-3年有这个水平,多少k取决于你在哪个城市
卡卡卡萨:
面试官:请问你是那个培训机构老师?

小鸭鸡阿:
面试官心想。妈的这小子跟我撞衫了,等会他说完就让他滚蛋。

【回复】真有这么奇葩的理由吗[笑哭]
云梓峰:
具体说组件名称细节,不同版本会有差异,比如3和4,也容易说错,再说如果不是天天用,谁记他那么多名字,如果是我面试,肯定也会问问高并发时产生大量time close的原因和解决办法,来的更实际。基础知识应该留给初学者,解决问题能力才是进阶者应该有的。

【回复】真遇到timewait问题还是改长链接比较靠谱,优化都是打补丁,[doge]
跟着Mic学架构:
制作不易,大家需要最新高手回答文档(附赠一份10w字的阿里内部面试资料,简历模板),记得一键三连

知识分享官 程序员 经验分享 求职 职业规划 找工作 Java 职场面试 Java高级 Java面试

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读