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攻击呢?