Zoom Java开发面经 8.23一面 8.29二面

一面

1、除了项目上写的序列化框架还了解其他序列化框架吗?

2、解释一下什么是粘包,什么是拆包

3、有没有了解过netty里自己解决粘包拆包的?

4、HTTP如何解决粘包问题的?(header字段?)

5、HTTP中的content-length和chunk(听着好像是这么读的)解决粘包知不知道?

6、这个RPC框架是基于看过别的框架的东西吗?

7、zookeeper作为注册中心是怎么存储的,存储了什么数据在zookeeper中?

8、服务端将服务注册进去,客户端请求服务,这个过程在项目中大概是什么样子的,描述一下?

9、为什么要把每个服务端注册成临时节点?

10、客户端发起调用的时候每次都去获取节点信息吗?

11、如果每次都获取的话性能就会比较低,有没有什么优化方案?(用watcher)

12、使用watcher的时候需要注意什么?watcher回调完后还要做什么事情吗?

13、有自己搭了zookeeper集群吗?

14、zookeeper集群里会有哪些角色?

15、为什么要设计observer呢?它既不参与leader竞选,也不参与数据过半写成功?

16、rpc中应用线程池调用者发送调用后,请求跟响应是怎么异步关联的呢?(回调)

17、基于回调要怎么异步关联起来呢,有没有什么思路?

18、线程池的核心参数是什么?

19、如果线程池核心线程数设置为5,最大线程数设置为10,阻塞队列是一个无界队列,一直提交线程,线程数最大能达到多少?

20、如果线程池核心线程数设置为5,最大线程数设置为10,阻塞队列大小也设置的是10,线程池刚启动的时候有多少个线程?

21、看过Java线程池的源码吗?如果想监控线程池的资源,通过看它的源码,它有没有提供什么方式来实现这个功能?

22、redis部署的是单机还是集群?

23、redis哨兵模式和集群模式分别是用来解决什么问题的?

24、集群模式当获取数据时,可能会回复asyn、moved,了不了解这些回复分别代表什么?(不了解。。。)

25、使用集群模式的话会有什么限制吗?(不同节点上的数据无法使用事务)

26、如果想使用事务操作的话,希望key能分布在一个节点上,有没有什么办法可以让key分布在同一个节点上?(redis提供了这样的功能hashtag)

27、redis用到了哪些数据结构?

28、zset的底层数据结构有没有了解过?

29、为什么zset要在数据比较小的时候使用压缩列表呢,压缩列表是一个什么样的数据结构,能带来什么好处呢?

30、redis的rehash有了解过吗,是怎么进行rehash的?

31、Java线程有哪几种状态,以及状态之间如何转换的?

32、线程中断有没有了解过?

33、Java中的原子类是怎么实现的知道吗?

34、volatile关键字有什么特点,原理是什么?

35、Java中有什么无锁操作的方式?

36、ThreadLocal的基本原理是什么?

37、Java的泛型了解吗?

38、如果有两个类,一个animal,一个dog,dog继承于animal,现在有一个animallist,它的泛型是animal,然后有个doglist,泛型是dog,doglist能不能赋值给animallist?不能

39、说说数据库的索引

40、聚簇索引和非聚簇索引能介绍一下吗?

41、哪些类spring会帮我们管理呢?

42、配置了@Service就一定会放入bean中吗?有没有什么条件?

43、如果第三方jar包中有一个@Service,会被扫描进来吗?

44、第三方jar包要想被扫描进来的话是要将它的类路径加载进spring是吗?

45、第三方jar包如何保证spring会将它加载进spring中?

46、Spring中为什么要将bean交给Spring来管理?

47、如果我自己弄一套Controller、Service、Dao,不依赖spring容器,能不能work,这个过程应该怎么写知道吗?不知道。。。

48、PrepareStatement预编译的过程是在哪里?

49、为什么使用statement会有SQL注入的风险呢?

50、如果有一个SQL语句,我想进行SQL注入攻击,应该怎么样攻击,怎么样设计SQL语句?

51、Spring的bean通常会new多少个对象,比如userService是每一个请求来了就new一个userService还是全局共享一个userService?

52、就拿这个userService来说,假设里面有个一个getUserById的方法,那应该把这个userService的scope设置成单例的还是session的?singleton,因为一般来说service和dao都是无状态的,只是通过service和dao来操作数据库,使用session或者prototype的话也可以,只是会浪费资源。

53、如果在线程池中的task中出现了没有捕获的异常会对当前线程有什么影响?对线程池有什么影响?

54、如果出现上面这种异常应该对线程进行什么处理呢,线程池应该怎么处理呢?

55、做前后端分离的时候,你项目里前端登录状态是怎么保持的?

56、有没有其他更好的方式?(jwt)

57、为什么使用cookie会导致csrf攻击?

58、为什么使用jwt能避免csrf攻击呢?

59、在goole域名中查看baidu域名的cookie能查看到吗?
两位面试官应该都是资深的技术工程师,都非常nice,两个人一共问了一个半小时,人都被问麻了,而且问的东西也比较广比较深,基本是问到不懂为止。


二面

二面忘记录音了。。。
就只写一些还记得住的东西吧。
大概就是把项目都过了一遍,然后项目里的东西延伸着问了一些
1、问的第一个项目是实验室的DDOS相关的项目,让自己讲了一遍项目的内容。然后项目细节问了一些东西,再延申了一下DDos方面的问题
2、DDOS攻击有哪些,以及原理是什么?
3、防御DDOS攻击的手段有什么?
4、第二个项目也是实验室的一个项目,问了一些项目细节
5、第三个是自己写的一个交流社区的项目,在网络安全方面应该如何考虑设计以及实现。(防sql注入、csrf攻击)
6、spring的权限管理步骤是什么?
7、spring的拦截器是什么设计模式?
8、讨论了一下保证缓存和数据库数据一致性的问题。
9、jwt的认证过程是什么?
9、第四个是一个rpc项目,没怎么问。
大概只记得这些东西,其他具体的记不清了😥

#秋招##ZOOM#
全部评论
20、线程池刚启动是怎么样的呀,看源码有点头大,我只记得没到核心线程数量会执行addWorker,新建一个线程,是一旦有任务提交没到核心线程数一次性加到5,还是来一个任务没到5加一次?
1 回复
分享
发布于 2022-08-25 16:07 河南
同8.23一面完 还没啥消息 有消息了楼主可以分享一下吗
点赞 回复
分享
发布于 2022-08-24 23:14 美国
联想
校招火热招聘中
官网直投
看了这么多面经,还是我大三本的学生有点东西。投的哪个site?
点赞 回复
分享
发布于 2022-09-01 20:00 江苏
楼主有hr面消息吗?
点赞 回复
分享
发布于 2022-09-01 16:00 安徽
前面堪称rpc面试典范
1 回复
分享
发布于 2022-08-24 23:42 广东
卧槽这个太恐怖了吧
7 回复
分享
发布于 2022-08-24 23:30 四川
地狱难度八股文
5 回复
分享
发布于 2022-08-26 21:08 上海
楼主base哪里啊
点赞 回复
分享
发布于 2022-08-25 10:01 北京
我也下周面zoom,老哥你这面经让我好慌啊 #
点赞 回复
分享
发布于 2022-08-25 10:08 湖北
17 基于回调要怎么异步关联起来 这个有大佬指点下怎么回答吗
点赞 回复
分享
发布于 2022-08-27 22:47 安徽
楼主,请问收到意向了吗
点赞 回复
分享
发布于 2022-09-08 10:38 广东
这么离谱吗,看上去会被问麻
2 回复
分享
发布于 2022-08-25 17:18 浙江
第5个应该是chunk😂,分块传输
1 回复
分享
发布于 2022-08-25 12:46 浙江
窒息
1 回复
分享
发布于 2022-08-26 00:01 湖北
43-45咋做啊。有大哥可以教教吗
1 回复
分享
发布于 2022-08-27 00:48 吉林
好窒息
点赞 回复
分享
发布于 2022-08-25 10:34 四川
有点窒息,我一面80分钟,感觉和你比就是弟弟难度
点赞 回复
分享
发布于 2022-08-25 13:08 北京
好恐怖啊。这就是秋招吗
点赞 回复
分享
发布于 2022-08-25 14:33 江苏
base哪的啊,好难。。
点赞 回复
分享
发布于 2022-08-25 16:49 江苏
问怎么多的吗?
点赞 回复
分享
发布于 2022-08-25 17:01 上海

相关推荐

54 441 评论
分享
牛客网
牛客企业服务