京东社招Java面经分享

1、手撕代码。牛客题霸上的原题,可以去看看:NC3 链表中环的入口节点

2、GetPost区别

1Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。

2Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。

(3)Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。

(4)Get执行效率却比Post方法好。Getform提交的默认方法。

GET产生一个TCP数据包;POST产生两个TCP数据包。(非必然,客户端可灵活决定)


3、死锁的4个必要条件

1)互斥条件:一个资源每次只能被一个线程使用;

2)请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放;

3)不剥夺条件:进程已经获得的资源,在未使用完之前,不能强行剥夺;

4)循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。

4、Leader选举算法和流程

FastLeaderElection(默认提供的选举算法): 目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们的选择举过程如下:

(1)服务器1启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器1的状态一直属于Looking

(2)服务器2启动,给自己投票,同时与之前启动的服务器1交换结果,由于服务器2的编号大所以服务器2胜出,但此时投票数没有大于半数,所以两个服务器的状态依然是LOOKING

(3)服务器3启动,给自己投票,同时与之前启动的服务器1,2交换信息,由于服务器3的编号最大所以服务器3胜出,此时投票数正好大于半数,所以服务器3成为leader,服务器1,2成为follower

(4)服务器4启动,给自己投票,同时与之前启动的服务器1,2,3交换信息,尽管服务器4的编号大,但之前服务器3已经胜出,所以服务器4只能成为follower (5)服务器5启动,后面的逻辑同服务器4成为follower


#社招##京东##Java工程师##面经#
全部评论

相关推荐

发面经攒人品提前一天面了,大概35分钟,主要是拷打了agent项目,问ai相关的,传统后端的八股没咋问1. 自我介绍2. 介绍之前实习的业务3. 比如你在重构一些历史性的业务,这个时候新的需求来了,遇到这种情况了吗?怎么处理?4. 你简历上其他的项目涉及到多人协作吗?是从哪里找的这些项目?5. 讲一讲你的agent项目6. 讲一下项目中rag的拆分、存储、使用逻辑7. 项目用了spring ai框架,讲一下这个框架的整体结构8. 当时为什么选择这个框架?9. 了解非java的agent开发框架吗?10. 我看你的这个agent项目各层级都搭建好了,你认为你的这个项目还缺什么?11. 讲一下你的agent上下文怎么做的?12. 你了解长期记忆、中期记忆和短期记忆吗?13. 你这个项目用的什么大模型?14. 其他的大模型你用过或者调研过?15. 你平常的时候用什么大模型或者IDE工具辅助开发,ai辅助编程用什么?16. 你用刚刚提的大模型或者ide写了哪些代码?17. 你平时用ai编程的时候,你感觉他的代码质量高不高?你觉得有什么办法提升吗?18. 我问一下啊,就是你来实习,想要达到一个什么样的目标?19. 实际上我们对实习的同学有一些产出要求,来了后要承接一些真实落地项目,按照你的理解,以什么方式最快去能上手,然后做需求?无手撕反问1. 具体是京东物流的哪个业务?一些与客户相关的系统,在物流里面算是比较核心2. 业务中agent的场景,用的啥框架?用的springAi,现在在某些小场景做了一些agent,之后会探索核心场景中agent的应用3. 如果过了本轮,后续还有几面?还有一轮,然后他又问我手头有没有其他offer,自己有什么期望,想去哪个公司。
查看19道真题和解析
点赞 评论 收藏
分享
评论
1
19
分享

创作者周榜

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