蚂蚁java一二三面面经

蚂蚁java一面面经

1、自我介绍

2、项目

3、说说redis两种持久化的方式和特点

4、再说说缓存雪崩、缓存击穿缓存穿透,解决方法?redis为什么快?缓存淘汰策略?

5、说说springmvc一些常用注解和作用

6、简单说说cookie做什么的?

7、session又是什么?

8、session和cookie之间的关系?

9、说说浏览器输入网址到返回页面的过程?

10、如果服务器返回不是静态的页面?动态的?

11、说说线程之间的同步方式?

12、两个不同的JVM的进程如何同步?

13、消息中间件,可靠性消息?

二面

14、分布式事务?

15、垃圾收集过程

16、类加载过程

17、四个隔离级别

18、HashMap底层

19、Redis缓存问题

20、异常和错误

21、数据库和缓存不一致

三面

22、自我介绍

23、项目中登陆模块怎么做的?

24、项目中订单模块怎么做的?

25、介绍下MySQL索引?详细说说b+树?

26、arraylist和linkedlist区别?

27、arraylist如何去重?

28、一条sql语句如何执行的?怎么看sql的执行计划?

29、让你设计一个接口你怎么设计?

30、做几个sql题

31、git命令 仓库管理

32、git合并?merge 改动同一个地方分支冲突怎么解决?

33、公共读安全风险

34、redis过期数据删除

35、mysql慢查询优化

36、redis淘汰策略

37、大kv放在redis怎么解决?

38、mysql索引越多越好么

39、删除大量数据,数据库分批删除性能有没有提升?

40、线程创建方式

41、数据库索引

42、索引设计原则

43、callable里面的方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
兰顿蚂蚁是一种计算机模拟生物,其行为类似于真实的蚂蚁。在兰顿蚂蚁的模拟中,一只虚拟的蚂蚁在一个无限大的网格中行走,它会遇到黑色或白色的格子。如果它遇到的是白色的格子,它会向右转,并将当前的格子涂成黑色;如果它遇到的是黑色的格子,它会向左转,并将当前的格子涂成白色。下面是使用Java模拟兰顿蚂蚁的代码: ```java public class LangtonAnt { private int[][] grid; private int antX, antY, antDir; private final int ANT_UP = 0, ANT_RIGHT = 1, ANT_DOWN = 2, ANT_LEFT = 3; public LangtonAnt(int width, int height) { grid = new int[width][height]; antX = width / 2; antY = height / 2; antDir = ANT_UP; } public void step() { if (grid[antX][antY] == 0) { antDir = (antDir + 1) % 4; grid[antX][antY] = 1; } else { antDir = (antDir + 3) % 4; grid[antX][antY] = 0; } switch (antDir) { case ANT_UP: antY--; break; case ANT_RIGHT: antX++; break; case ANT_DOWN: antY++; break; case ANT_LEFT: antX--; break; } if (antX < 0) { antX = grid.length - 1; } else if (antX >= grid.length) { antX = 0; } if (antY < 0) { antY = grid[0].length - 1; } else if (antY >= grid[0].length) { antY = 0; } } public void printGrid() { for (int y = 0; y < grid[0].length; y++) { for (int x = 0; x < grid.length; x++) { if (x == antX && y == antY) { System.out.print("*"); } else if (grid[x][y] == 0) { System.out.print(" "); } else { System.out.print("#"); } } System.out.println(); } } public static void main(String[] args) { LangtonAnt ant = new LangtonAnt(50, 50); for (int i = 0; i < 10000; i++) { ant.step(); } ant.printGrid(); } } ``` 在上面的代码中,我们定义了一个`LangtonAnt`类来表示兰顿蚂蚁。在类的构造函数中,我们初始化了一个二维数组来表示网格,并将蚂蚁的初始位置设置在网格的中心。蚂蚁的初始方向为向上。 `step`方法是模拟蚂蚁的行走过程。首先,我们检查当前蚂蚁所在的格子的颜色。如果是白色的,我们将蚂蚁的方向向右转,并将当前的格子涂成黑色。否则,我们将蚂蚁的方向向左转,并将当前的格子涂成白色。然后,我们根据蚂蚁的方向更新蚂蚁的位置。如果蚂蚁走出了网格的边界,我们将它的位置重新设置到网格的另一侧。 `printGrid`方法用来输出当前的网格状态。我们使用`*`来表示蚂蚁的位置,使用空格表示白色的格子,使用`#`表示黑色的格子。 在`main`方法中,我们创建了一个`LangtonAnt`对象,并模拟了10000步蚂蚁的行走过程。最后,我们调用`printGrid`方法输出了模拟结束后的网格状态。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值