【本菜鸡的春招实习之旅5】京东Java后端面经(2022届春季实习生)

京东

两次都没有录音,怕有电话打进来,全凭记忆

3.12

一面:

1.进程和线程?

2.操作系统里面的进程调度方式?

3.http了解吗?

4.说一下http你是怎么用的吧?

5.怎么和前端进行交互?

6.前端怎么识别你的http请求?

7.tcp和udp的区别?

8.udp如何保证顺序传输?

9.hashmap八股文,put怎么put,1.71.8x区别,currenthashmap?

10.项目简单介绍一下?遇到什么难题?怎么解决的?

11.mq怎么解决消息重复的问题?

12.前端如何确定异步后的消息返回?

13.说说sentinel的限流降级和熔断吧,sentinel的实现原理是什么算法?

14.滑动窗口实现有什么问题?

15.websocket了解吗?websocket的原理说一说吧?

16.算法;有序旋转数组查值(含重复值)

一面感觉挺好的,面试官很温柔.问的难度还算简单

二面:

1.问项目

2.问了一些中间件的底层原理

3.问了线程池的底层原理

4.问了几个场景题,都很难,不太记得了,在引导之下才说出来

5.问了很多并发场景题,问了原理

6.详细问了下如何用的分布式事务的最终一致性方案

7.如何优化自己做的项目?中间件的调度和解耦,降低复杂度?

8.缺失的第一个正整数(必须用的困难的o(n) o(1)算法)

二面特别特别难,问得很深而且都偏实践,很多题都是引导了我才说出来了.面试官人非常好,一直在引导我回答问题,也学了很多东西…然后面试官老是说什么你们刚毕业的校招生之类的话,我觉得有些奇怪,写算法的时候我就问了下,为啥实习生问的这么深啊?然后面试官问你不是校招生吗?我说不是啊,我是实习生,然后大家都笑了起来,空气中弥漫这开心的氛围

二面属实有点难,但是学习的也很多,面试完就收到口头OFFER,很开心~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的Java实现: ``` import java.util.*; public class WolfSheepCabbage { public static void main(String[] args) { // 初始状态:false表示在左岸,true表示在右岸 boolean wolf = false; // 狼 boolean sheep = false; // 羊 boolean cabbage = false; // 菜 boolean boat = false; // 船 Scanner scanner = new Scanner(System.in); while (true) { // 输出当前状态 System.out.println("左岸:狼 " + (wolf ? "✅" : "❎") + " 羊 " + (sheep ? "✅" : "❎") + " 菜 " + (cabbage ? "✅" : "❎")); System.out.println("右岸:狼 " + (!wolf ? "✅" : "❎") + " 羊 " + (!sheep ? "✅" : "❎") + " 菜 " + (!cabbage ? "✅" : "❎")); // 判断是否完成任务 if (!wolf && !sheep && !cabbage) { System.out.println("恭喜你完成任务!"); break; } // 输出提示信息 System.out.println("请选择要运输的物品(1:狼,2:羊,3:菜),或者选择运输船(4:船):"); // 获取用户输入 int choice = scanner.nextInt(); // 判断用户选择 switch (choice) { case 1: // 运输狼 if (sheep == cabbage && sheep != wolf) { System.out.println("狼会吃掉羊或菜,操作无效!"); } else { wolf = !wolf; boat = !boat; } break; case 2: // 运输羊 if (cabbage == wolf && cabbage != sheep) { System.out.println("羊会吃掉菜,操作无效!"); } else { sheep = !sheep; boat = !boat; } break; case 3: // 运输菜 if (sheep == wolf && sheep != cabbage) { System.out.println("狼会吃掉羊或菜,操作无效!"); } else { cabbage = !cabbage; boat = !boat; } break; case 4: // 运输船 if (wolf == sheep && wolf != cabbage) { System.out.println("狼会吃掉羊或菜,操作无效!"); } else if (boat && (!wolf || !sheep || !cabbage)) { System.out.println("船上必须有人!"); } else { boat = !boat; } break; default: System.out.println("输入无效!"); break; } } } } ``` 在程序运行过程中,会输出当前状态,然后提示用户选择要运输的物品或船。根据用户的选择,更新当前状态,直到完成任务。需要注意的是,在运输船的时候,必须有人在船上,否则操作无效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值