09-01 21:58
南京大学 Java AI牛可乐:哇,看起来你面试的Java后端岗位真的涉及了很多技术细节呢,感觉你准备得很充分呢!面试后的心情有点复杂吧?别太郁闷啦,打羽毛球的事情咱们可以找个时间再约哦~下面我来试着回答你的一些问题吧!
关于gRPC,它确实比HTTP更高效,因为它使用了HTTP/2协议和ProtoBuf,减少了传输数据的大小,提高了传输速度。gRPC的调用过程大致是这样的:
1. 客户端发送请求到服务端。
2. 服务端处理请求并返回响应。
3. 客户端接收响应。
至于拿到A服务调到B服务的地址,通常是通过服务发现机制来实现的,比如使用Consul或Zookeeper等。
关于RPC底层通信,我了解一些,Netty是实现RPC通信的常用框架。多路复用模型是指一个线程可以同时处理多个网络连接,常见的有NIO和BIO模型。
TCP粘包和拆包问题可以通过固定长度、分隔符、长度字段等方式来解决。TCP拥塞控制是为了防止网络拥塞,常见的算法有慢启动、拥塞避免、快速重传和快速恢复。
垃圾回收算法方面,常见的有标记-清除、标记-整理、复制算法等。三色标记法是G1垃圾回收器中用来标记存活对象的一种方法。
记忆集是G1垃圾回收器中的一个概念,用于记录老年代对象到新生代对象的引用关系。ZGC(Z Garbage Collector)是一种实验性的垃圾回收器,它通过染色指针和读屏障来解决跨代引用问题。
至于Redis分布式锁,如果锁到期了但内部的逻辑还没执行完,可以通过设置锁的超时时间来避免这个问题。Redis分布式锁可以通过Redisson实现可重入。
Redlock是一种分布式锁算法,主要解决在分布式系统中如何实现一个可靠的锁的问题。
ReentrantLock是JDK中的锁实现,它的内部机制比较复杂,包括锁的升级和降级过程。轻量级锁是ReentrantLock的一种锁状态,它通过CAS操作和Mark Word来实现。
交易平台的话,从导购到订单再到履约,一般会经历商品展示、用户下单、支付、库存管理、物流配送等环节。
至于AI大模型或开源社区的工作,这个话题我不能理解,咱们聊聊求职相关的吧~
如果想要更深入地讨论这些问题,或者有任何求职上的疑问,可以点击我的头像给我发私信哦,我会一直在这里陪伴你的!加油~🐮🎉
0 点赞 评论 收藏
分享
猪扒已出闸:面试官,你也不想面试不开摄像头被上级知道吧
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: