面经|Java社招|Zoom|一面凉经
匿名用户
3271
发布于 未知归属地

面试过程

5月24日收到面试邀请,约了5月30日面试

1.自我介绍

2.java中的二维数组内存结构是什么样的,这样设计有什么优点?

3.mybatis底层做的orm映射,自动将查到的ROW映射成Bean。如何做的?

4.如果查出的数据很多,使用映射做效率不高,你自己来实现一个映射框架,你会如何设计?

5.介绍一下jwt

6.jwt使用了什么加密方式?

7.对称加密和非对称加密的区别,有什么优缺点

8.非对称更安全,我们为什么还需要对称加密?

9.比如说系统里用的是对称加密算法,但后续要切换到非对称加密算法,如何做一个平滑的过度(可能存在一个中间状态,几个服务是对称的,几个服务是非对称的,需要同时满足这种两种加密方式的过度状态,对授权方和校验方都没有影响)

10.redis中的位图功能

11.如何设计位图做统计,比如统计某一天签到的总人数。

12.redis会不会存在数据丢失的情况,(我介绍了两种持久化方式)

13.redis做数据库缓存

14.redis既然是单线程的为什么我们使用的时候还要设置一个redis连接池?

15.介绍一下Java中的乐观锁

16.CAS是两个操作,如何保证原子性的?

17.定时任务模块如何调度?如果你自己设计定时任务模块,底层如何实现定时执行。

18.有一个操作,是查询到数据库中某条数据,然后在查出来的值上进行修改,然后update到数据库。如果有多条线程在做这个操作,如何保证线程的安全?

19.介绍你项目的规模,容量,存储、服务器部署的规格

20.有一个文件有若干行,每一行都有起始地址,结束地址,城市或国家 三个字段,地址没有交集,然后有两个问题,第一个加载到内存,希望内存尽可能地低,第二个输入任何一个ip,尽快找到这个ip是哪个地区的。

21.单体还是微服务

22.和其它服务如何交互?(答:rest api 、mq、nacos、fegin、rpc)

23.如何保证mq中的消息一定被消费掉?

24.一个系统有很多用户,每一个用户有若干操作日志,要发布的数据比较多,如何保证这些数据的有序。不同用户数据可以并行消费,同一个用户消费的顺序需要保证,发布方和订阅方分别应该怎么做。

25.项目稳定性的经验?

26.为什么会存在内存泄漏,你得一个排查过程?

27.你得过滤器是spring的过滤器(面试官是想说拦截器,没太懂,当时大脑一片空白),还是Java Web的过滤器

28.为什么需要将一些数据放到ThreadLocal中。

29.如果一个请求对应一个线程,如果在这个请求中又做了多线程的调度,这个些派生的线程如何获取ThreadLocal数据?

30.如何保证之前线程存储在ThreadLocal数据及时被清理?

面试结果


6月5日受到婉拒邮件

小结

我八股背的不好,但感觉zoom问的问题跟多偏向应用场景,也不完全是八股。感觉还是有点难度的。最后问面试官关于zoom的工作体验,基本上不加班,挺想去的。最后还是悲剧了,哭。找工作太难了。

评论 (10)