Bootstrap

面试问题?

一、 java基础

1.面向对象的特征?

2.开放封闭原则?

3.java中的泛型可以用基本类型吗?

4.重载和重写的区别?

5.string、stringbuffer、stringbuilder?

6.单例模式的实现方式有哪几种?

7.volatile作用?

8.synchronized是重量级锁还是轻量级锁?

9.synchronized锁的升级过程?

10.synchronized是重入锁吗,lock是接口吗

11.在开发中用过反射

12.代理的实现方式有几种?有什么区别?

13.静态代理和动态代理的区别?

14.jdk1.8的新特性?1.8之前的date、datetime是非线程安全的

15.java中的异常有哪些?

16.常见的运行时异常有哪些?

17.BIO、NIO、AIO?

18.有没有用过threadlocal?

19.threadlocal本地使用的泛型,内部实现的引用是弱引用,虚引用有什么区别?

20.描述一下冒泡算法?

21.你知道hashmap的底层结构吗

22.ArrayList 和 LinkedList 的区别是什么?

23.arraylist的扩容因子

24.创建线程的方式有哪几种?

25.线程的状态有哪些?

26.wait 和sleep的方法?

27.juc包下有哪些类?

28.jdk自带的线程池有哪些?阿里为什么不推荐呢?

29.jvm的内存结构有哪些?

30.年轻代和老年代的默认比例是多少

31.年轻代又分为什么?它们三个的比例?

32.回收垃圾算法有哪些?

33.标记、清除、还有什么算法

34.有没有做过jvm调优?调优参数?

35.-x  -xx区别?

36.cookie 和 session 区别?session 为什么大?为什么安全?

37.数据库三范式

38.数据库四大特性

39.mysql使用的是btree,还是b+tree?

40.mybatis一级缓存?二级缓存?

41.mybatis一级缓存,二级缓存的作用域?

42.mybatis动态生成的标签有哪些?

43.spring里使用注解@autowired和@resource的区别?如果找不到,报什么异常?

44.springmvc的执行流程

45.springmvc统一异常的实现方式有哪些?

46.有没有用过dubbo?和springcloud的区别?

47.springioc的理解?

48.aop的理解?

49.事务失效的几种情况?

项目

商城

1.你介绍一下第一个项目吧?

2.这个项目上线了没有?

3.发现模块是做什么用的?

做个性化推荐的,比如说热卖商品,还有你之前购买过商品的类似商品

4.如何根据当前用户定制化进行显示?

热卖商品通过用户他购买商品的次数,通过zset进行排序,购买数多的给用户推荐出来就可以了

5.你们大数据部门有几个人?

6.你们是外包公司吗?

7.云仓也是你们自己的吗?

8.你们自研的优势是什么?

9.你们公司是靠什么盈利的?

10.你们公司的主体营业是什么?

11.你负责的mq... 都有哪些业务?

1.登录注册完成之后,会送一些积分

2.用户下单成功之后,写日志表

3.取消订单还库存,还积分

下单成功之后,为什么要用延迟队列?

有30分钟的待支付时间,时间到了没有支付就自动取消订单;

延迟30分钟时在延迟队列里面设置延迟时间,通过ttl设置,然后创建一个死信交换机,死信队列,延迟队列里的消息30分钟后会推到死信队列,然后消费者消费死信队列,在死信队列里面取消订单

12.你们外包有数据组吗?

13.你们下完单之后,订单推到哪里了?推到队列,只需要和客户的供销系统对接

14.商品搜索怎么实现?es

把所有的商品、商品详情全部存到es里面,因为es是一个非关系型数据库,然后需要进行使用分词器,对查询条件进行分词,然后从es中查询到需要的商品列表,返回给前端

15.es的优势是什么?关键字分词,权重(不同的字段有不同的权重)

仓储

(描述:

1.它是一个ERP系统,后台集中管理

2.它有登录模块、首页、首页里面是看板、用户管理、角色管理、采购订单管理、出库管理、入库管理、货架管理、报损单管理、维修单管理

3.用到了springboot,echarts(它是一个看板)、vue

1.涉及到的表有哪些?采购单、出库单、入库单、报损单、库存单、库存日志表

2.gateway有什么作用网关统一收口,所有的请求都会经过这个gateway

3.为什么不用nginx?因为它是服务端负载均衡,它只是负责一个水平扩展

4.你们的k8s怎么部署的?

买的,只用把项目上传到代码库中,它自动会cicd流水线,里面maven构建,java构建(-Dmaven.test.skip=true为了跳过单元测试),镜像构建,上传到镜像库中,它会把镜像库中的镜像部署到k8中了

5.你说一下你这个项目都有哪些单据采购单、出库单、入库单、报损单

6.采购单的状态都有哪些?

NEW(1 ,"新建(待审核)"),
APPROVE(5,"审核通过"),
DRIVING(10,"在途"),
COMPLETE(15,"入库完成"),
REJECT(50,"审核未通过"),
CANCEL(60,"作废");

7.订单的状态都有哪些?待支付、已支付、分拣、完成、取消

订单id怎么实现?

用的时间年月日时分秒+随机

时间(为了客服的方便)

8.仓储里面的货架是怎么管理的?

分区管理(按地方分区,分完之后可以再按冷冻常温分区)

9.什么样的仓库又有常温又有冷冻?

因为我们这个仓库是分房间的,有常温冷冻房间可以选择,里面有房间装制冷设备

10.入库的时候商品和货架怎么关联?货到了选择对应的货架直接入库

11.货架是怎么选择的吗?手动选择的

12.echarts是干什么的?

它是一个看板,可以统计数据,可以直观看数据变化,主要是给老板看的

13.你们的项目中都有哪些报表?出库单、入库单、销量表

人脸识别

(描述:

1.我们做的是一个物业的系统,类似于一个平台,不仅仅卖一个软件

2.它的功能是小区门口进行人脸识别,开门关门的

3.我们这个软件需要小区里面业主配合物业进行人脸采集,采集之后,把人脸的信息放到redis里面,因为我们做的是一个平台,每个小区都有自己的场所id

4.在门口会加一个硬件摄像头,识别到人脸之后,它会把这个数据调到我的应用后台,我拿到人脸这个图像后,引用虹软SDK,SDK就是和平常引用其他的第三方是一样的,里面有key,密钥之类的,收集之后,只需把人脸图片的数据流交给它的api,会把人像特征取出来,里面有人脸特征,可以抓到人的年龄和性别

5.开门的时候需要对比,人脸特征拿出来之后,只需把之前redis里面采集的信息进行对比,如果对比相似度达到90%以上,即为同一人,这时我们将发送一个指令,发送到硬件上面,这个硬件是我们公司之前固有的,我们使用的是mq、tcc协议,只需发送一个json数据,让它开门就可以了,目前我们现成用的是这些东西

6.我们现在做的不是很完美,之后上线的时候,我又对这个系统思考了一下,你看我们redis里面放一个hash,如果这个小区人数足够多,已经达到一万两万,那在开门的时候进行遍历所有小key,速度会非常慢,所以,这一块还可以进行优化,但这只是我的一个想法,后续还没有进行实现,走之前也跟我的老大沟通过,同一个小区,如果用户比较多,我们可以把男女分开,小区id男一个,小区id女一个;如果人还是较多,我们还可以按照年龄段来进行划分

7.我们还有配套的小程序,外卖到了,只需要业主在小程序上点击开门,门就可以开了

1.面容通是做什么用的?

2.你们的会显示红码绿码吗?(不要说疫情)

3.对接的硬件是什么?

硬件方面在某些区,以往都是只做门禁系统,现在我们只需要加入人脸识别,mq协议,只需加入虹软,去的时候硬件已经对接好了,其实就是一个摄像头,用来分析人脸的特征,因为之前已经录入过,相似度达到90%以上,就可以投递一个消息,来负责开关

4.你们的识别软件是自己开发的吗?

5.git flow 流程?

在自己的分支上完成代码后,要自测,测试完之后推到测试分支,测试通过之后会推到发布分支,发布分支通过之后就会推到主分支

6.合并之前需要测试吗?

7.发布分支叫什么名字?release

8.分支名的规则是什么?自己负责的模块加上自己的工号

9.如果线上的分支有bug,怎么修改?

从发布分支上面拉取一个修复分支,bug修复好之后,要自测,测试完之后推到测试分支,测试通过之后会推到发布分支,除了推到发布分支,还要跟其他业务模块进行合并,使代码保持最新

其他 

1.你有独立开发前端的能力吗?

2.你会开发小程序吗?

3.你对加班怎么看?

4.你大概薪水多少?最低多少?

java中间件

1.你认为什么样的平台是好的平台?

2.你都做过什么样的系统?

3.小商城?为什么用到的中间件还挺多的?

4.你们用过的服务有哪些?你们做了多久?用了多少人?你三个月只做了下单?

因为我们是外包公司,接了很多项目,整个周期确实是三个月,但是同期其他的项目也在同步跟进,

5.你们取消订单接口的逻辑?

分情况:

1.如果使用积分把商品应付价格抵扣完了,取消订单的时候返还积分,返还库存,改订单状态,写日志表

2.如果积分没有抵扣完,取消订单的时候还积分,调第三方接口还钱,换库存,改订单状态,写日志表

6.简单介绍一下面容通?

7.申报流程项目做什么用的?

8.openfeign跨远程调用的原理(基于http协议跨远程调用)?用法?

通过aop去代理openclient 注册的服务,去找nacos上注册的服务,然后拼接目标方法,接着就可以实现远程调用了

二、Java基础+

1.java中的集合有哪些?

2.arraylist 和 linkedlist区别?

4.说一下io流都有哪些?

5.字节流和字符流的区别?有字节流了为什么还要有字符流?

6.泛型的优势是什么?提高性能,安全,提高代码可读性

7.说一下线程的状态

8.在开发过程中有用到多线程吗?比如在哪些地方运用到了?

9.mysql支持的引擎有哪些?InnoDB 和 MyISAM 区别是什么?

10.有行级锁,还有什么锁?它们的区别是什么?

11.怎么排查mysql步骤?

开启mysql慢日志,定位到mysql,用explan分析sql语句,索引调优,sql语句调优

12.explan主要是针对什么排查?type

13.mysq索引的分类

14.在开发中哪些地方用到唯一索引?唯一索引和主键索引的区别?

15.什么是聚簇索引和非聚簇索引

16.MySQL用的是Btree 还是B+tree?

17.mysql事务的隔离级别

18.什么是静态代理?什么是动态代理?

19.说一下redis的数据结构有哪些?

20.什么是缓存雪崩、穿透、击穿

21.es做什么用?你们用es存什么?

22.你们的商品搜索是怎么使用的?怎么把商品同步到es中?一般的查询因素有哪些?es除了存商品还能存其他的吗?

canal数据监听的类型是什么?

23.你们哪些部分用到mongodb?为什么楼层上用到了mongodb?(因为首页的展示是需求多变的)

24.什么是Spring AOP?

25.spring 采用哪种代理方式

26.springmvc的执行流程

27.说一下springboot的优势?(约定大于配置)

28.你了解的orm框架有哪些?什么是orm框架

29.spring security是做什么用的?权限相关表说一下有哪些?3个

30.你了解的mq有哪些?你用的是什么?为什么要用rabbitmq?

31.spring cloud alibaba比spring cloud 多了哪些组件?seata、sentinel

32.seata实现的原理说一下?设计到几张表?global_table、branch_table、lock_table

33.常用的Linux命令?cat、top、cp、mv、ps、find、kill、netstat、grep、mkdir、rm -f

34.你们的服务器用的什么操作系统?

35.你了解jps吗?查看java程序运行的信息

36.ps和top的区别?某一时刻的状态  vs 实时

37.docker挂载文件怎么写?-p是干什么?-P是干什么(随机)?

项目

小程序

1.简单描述一下你的项目?

2.主要是卖什么?

3.在网上可以搜索到吗?

4.手机上有界面图片吗?

5.你们用户有多少人?

6.你负责哪些模块?

7.为什么不用第三方登录?

因为公司老板想收集用户信息,第三方登录的话不会给详细信息

8.你们项目多少人?

9.用了多久?

10.卖了多少钱?

11.工作了三年为什么只写了三个项目?

12.你把你们的下单流程讲一下吧?

三层防重

1.先进行三层防重(

        1.遮罩层,前端防止用户重复点击下单

        2.防止用户在多台设备短时间内多次下单,锁用户id,设置一个5s过期时间,5s内这个用户不能重复下单

        3.防止黑客重复调用下单接口,根据商品有一个唯一标识,这个唯一标识存在在redis里面,黑客调这个接口的时候会检查有没有这个唯一标识,有的话就不让黑客继续下单,唯一标识的过期时间一般是一周)

2.分条件:

        1.如果积分全部抵扣应付金额,然后检查积分数量是否正确,正确就扣库存、扣积分,写日志表,生成订单表,订单详情表,销售表、支付表;错误的话提示校验不通过,信息有误;

        2.如果积分没有完全抵扣应付金额,然后判断积分、应付金额是否正确,正确就扣库存、扣积分,写日志表,生成订单表,订单详情表,销售表、支付表;错误的话提示校验不通过,信息有误;

如果订单下单的时候出现异常,使用try catch 包裹住整个业务代码,一旦出现异常,会回滚

13.跟订单相关有几种表?4张表 订单头、订单明细、订单日志、支付表

14.如果先扣积分,在扣库存的时候报错了,怎么去还?tcc模式,try catch 

     如果扣积分,扣库存都成功了,在写表的时候报错(数据库连接不成功),怎么去还?

     第一步:(检查积分,校验积分)扣积分

     第二步:扣库存

     第三步:写表(四个表)

     TCC模式

     定义一个标识,例如int i = 0;走到第一步的时候i = 1;走到第二步的时候i = 2;

     出错的时候判断 i 等于多少?

     i = 1=>返积分

     i = 2=>返积分,返库存

15.异步操作哪些业务?写日志表、30分钟后取消订单、注册完成之后送积分

16.什么东西放到延迟队列?下单之后的订单id

17.没有取消订单接口吗?

18.能说一下用户注册的流程吗?

1.手机号、密码、确认密码、图形验证码

19.用户登录流程?

1.用户将他的手机号、密码输入进行,进行登录

2.然后和数据库进行对比,成功之后

3.生成token,token 里面包含用户id

20.jwt包含几个部分?3个

仓储系统

1.仓储系统有哪些单据?

2.跟库存相关的表有几个?库存表、库存日志表

3.库存表有没有备份?或者快照?

有,单独有一个表,里面多加了一个时间戳的字段,备份的时候把数据转移到这个表里面,时间戳就是转移时候的那个时间,可以把它当作这一时间的快照

三、java基础

1.自我介级

2.工作三年只写了三个项目吗?

3.已经离职了吗,为什么要来这边发展?

4.你了解的设计模式

5.volatile关键字的作用?

6.sql优化

7.百万级分页怎么分页?

8.排查sql、mysql怎么做的?

9.索引覆盖

10.手机号和密码可以做联合索引吗?

11.线程的状态

12.你说一下接口和抽象类的区别?

13.java 中异常的分类有哪些?

14.创建一个对象的方式有哪几种?

15. BIO、NIO、AIO区别?你们开发用的是什么?(NIO)

16.软引用和弱引用区别?仅且只有弱引用

17.token包括什么?是都加密的吗?

18.synchronized锁的升级过程?

19.java对象头都保存的哪些东西?对象头里面有实例数据吗?

20.Hashmap是线程安全的吗?

21.Hashmap底层数据结构?

22.jdk自带的线程池有哪些?你们开发中经常用吗?如果想用怎么做?

23.开启线程的方式有哪些?start

24.run()方法和start()方法?

25.notify和notifyall的区别?随机唤醒,一个唤醒所有

26.jvm的内存结构?其中哪些是线程共享的?

27.垃圾回收的算法?堆里面又分什么?

28.jvm调优参数

29.tcp和udp的区别?面向连接  面向无连接

30. cookie 和 session 区别?

31.数据库三范式

32.事务的隔离级别

33.索引的分类

34.btree和b+tree的区别?

35.索引失效的几种情况?(你有遇到过索引失效的情况吗?)如何避免索引失效

36.如何写一个创建索引的语句?create index 表名(字段名)

37.springioc注入方式有哪些?

38.bean的作用域

39.spring事务失效的情况?如果遇到内部类失效怎么解决?

40. @autowired和@resource的区别?

41.说一下对springmvc框架的理解?

42.springmvc主要组件有哪些?

43.springmvc的执行流程

44.spring boot内置的tomcate默认的线程池大小是多少?(10个)

45.dubbo 和openfeign的区别?

46.springboot 的starter 原理是什么?springboot自动装载原理?

每次启动的时候优先扫描mate-info下的spring factories ,自动加载文件中标识的类,这就注册到bean了

47.spring cloud alibaba有哪些组件?

四、java基础

1.你们用gateway做什么用的?实现过哪些功能

2.你能说一下全链路跟踪的原理吗?请求拦截器还是过滤器?你们是怎么调用

3.开发过程中遇到的异常有哪些?

4.在开发中有用过反射吗?在什么场景下用到的?(统一返回用到过)

5.说一下深拷贝和浅拷贝的区别?浅拷贝是引用地址?是什么地址?

(主要针对二级属性对象)

6.java 1.8 的新特性?

7.threadlocal 的原理?什么引用类型?弱引用是什么?

8.用过threadlocal吗?你们的token是怎么实现的?

9.synchronized和lock的区别

10.synchronized在静态方法和非静态方法上分别锁的是什么?

11.synchronized和volatile的区别?它们都能保证原子性吗?

12.ArrayList 和 LinkedList 的区别是什么?

13.什么是hash冲突

14.你了解haspmap的其他处理冲突的方式吗?

15.自己写线程池怎么创建呢?

16.创建线程的方式?

17.runnable和callable

18. wait 和sleep的方法?

19.jvm的内存结构

20.垃圾回收的算法?

21.年轻代给多大空间?(元空间256M)

22.tcp 的网络模型分几层?

23.前端和后端交互的时候用的哪个组件?(axios)

24.根据name,性别写出一个sql语句,调出来男生数量和女生数量?

25.什么是聚簇索引和非聚簇索引

26.什么是索引覆盖

27.mysql锁的级别有哪些?

28.表锁行锁中间还有其他锁吗?

29.mybatis一级缓存?二级缓存?

30.bean的生命周期

31.spring框架中都用到了哪些设计模式?(最常用的单例模式)

观察者模式、工厂模式、适配器模式、原型模式、代理模式、责任链模式

32.你遇到过spring事务失效的情况?

33.spring中默认的是单例吗?

34.spring中常用的注解有哪些?

35.说一下对springmvc框架的理解?

36.requestbody和responsebody有什么区别?

37.springboot 的starter 原理是什么?流程

38.什么是静态代理,什么是动态代理?

java中间件

1.什么是击穿、穿透、雪崩?

2.redis慢日志几个参数需要设置?时间、条数

3.redis集群方式有哪些?你们用的是哪种?你们是自己搭建的吗? Cluster  有多大内存空间?分片,多大都可以

4.redis 查询key的数量?用游标scan

5.用mq做什么业务?如果消费者重复收到同一个消息怎么处理?

6.怎么保证消息不丢失?

7.什么样的消息会进入到死信队列的?

8.rabbitmq有用到集群吗?

9.redis买的一年多少钱?redis买了,为什么rabbitmq没有买呢?

10.xxljob做什么业务?业务上有没有用到?分布式调度器

11.购物车为什么用redis,不用mysql?

12.nacos做什么用的?你们的应用有多少服务?

13.说一下openfeign的原理?

14.seata里面设计的表有哪些?业务库里面有个什么表?

15.seata的原理?

16.你用的cicd流水线,为什么要用阿里云的?说一下流程?

17.k8s编排,你们是怎么发布的?

项目

商城

1.描述一下你的项目?

2.支付是你做的吗?

3.下单接口流程?

4.取消订单的逻辑?

5.订单的状态有哪些?枚举

6.订单头里面都有哪些字段?订单id,状态,地址id,用户id

7.你们订单下单成功之后推到哪里了?

公司原本是有一个仓储系统,我们直接推过去就可以

五、

1.什么是开放闭合

2.重写、重载区别?

3. string、stringbuffer、stringbuilder?

4.一个字符串,截取前五个,应该怎么写?如果这个字符串没到5个,会报异常吗?

5.懒汉式是线程安全的吗?不

6. 说一下深拷贝和浅拷贝的区别?

7.stream流的api有哪些?有没有见过一个类叫optional?

8.内存泄漏和内存溢出区别?内存溢出报什么异常?oom

内存泄漏:无用的对象没有及时清理,内存溢出:剩余的内存无法创建新的对象

9. threadlocal原理?key,value引用,是软引用吗?key是弱,value是强

10.synchronized锁的升级过程?

11.synchronized和volatile的区别?

12. .java对象头都保存的哪些东西?

13.Hashmap底层数据结构?

14.HashMap 和ConcurrentHashMap 的区别的区别?

15.run 和 start ?

16. wait 和sleep的方法?

17.notify notifyall

18.线程池的核心参数

19.jvm的内存结构有哪些?哪些是共享的?堆又分为什么?新生代又分为什么?

20. jvm调优?项目上线设置的值是多少?

21.tcp、udp区别?

22. cookie 和 session 区别?

23.根据name,性别写出一个sql语句,调出来男生数量和女生数量?

24.数据库特性

25.索引的缺点

26. 索引的分类

27. spring事务失效的情况?

28.mybatis 动态标签?

29. bean的生命周期

30.beanfactory factorybean?

beanfactory:bean工厂,用于创建配置管理bean的生命周期,

factorybean:创建特殊的对象

31.spring事务的原理?

通过aop进行增强,执行目标方法前开启事务,执行完之后提交事务,如果在执行目标方法时出现异常,就进行回滚事务

32. springmvc的执行流程

六、

1.面向对象特性?

2.java基本数据类型

3.==和equals区别?==可以比较引用类型吗?

4. 你说一下接口和抽象类的区别?jdk1.8对接口做了扩展,是什么?

5.单例模式的实现方式有哪几种?  懒汉式是线程安全的吗?如何保证线程安全?

6. 创建一个对象的方式有哪几种?

7.jdk1.8新特性?

8. java中的异常有哪些?

9. BIO、NIO、AIO?springboot是用的aio吗?

10.  threadlocal原理?key,value引用,是软引用吗?

11.synchronized和volatile的区别?

     synchronized针对 方法 ,可能会重排,

     volatile针对 变量,禁止重排

12.hashmap和hashset的区别?

13. 什么是hash冲突

14. 创建线程的方式?

15.线程的状态有哪些?

16.如何中断一个线程?

17.jdk针对的线程池有哪些?

18. jvm的内存结构有哪些?哪些是共享的?堆又分为什么?新生代又分为什么?

19..垃圾回收的算法?

20.tcp为什么要三次握手?防止因网络延迟,导致失效的请求,发送到服务端

21.mysql聚合函数有哪些?

22. 数据库三范式?你们mysql用的什么版本?用的什么引擎?区别

23.mysql事务的隔离级别

24.btree和b+tree的区别?单向链表的优势?增加范围查询

25.索引失效

26.mybatis中的#和$?

27.mybatis一级缓存?二级缓存?哪个是默认开启的?

28.属性注入的三种方式?

29. 了解的设计模式

30.spring bean是单例的吗?

31. 注解@autowired和@resource的区别?

下面的是添加不重复的题目!!!!

自我介绍:贵公司用到的技术和我之前做的中间件比较契合

1.做过什么项目?能够独立开发小程序吗?

2.你知道什么是轻量级锁、什么是重量级锁吗?

3.openfeign跨远程调用的实现原理,和feign区别?

4.spring secruity 的原理?

5.bitmap应用的场景有哪些?

6.在开发中用到过联合索引吗?哪些场景?

7.什么场景下用到过rabbitmq?延迟队列?对消息延迟实现的方式有哪几种?

8.mysql和redis如何保证一致性延迟双删,能不能做到绝对一致?

9.docker常用的命令?如何查看docker 日志?如何进入到docker文件里面?

10.cicd流程?dockerfile包含哪些信息?

11.业主远程开门,怎么进行的?(通过小程序

12.怎么支付的?引用的第三方接口

13.你了解敏捷开发吗?

14.es数据怎么同步的?canal是什么你知道吗?把自己伪装成从库,只要主库更改信息,

15.mysql和es区别?为什么要用es?

16.三层防重?

17.你们系统用到分布式锁了吗?那分布式锁实现是怎么实现的?

18.openfeign的功能和作用?openfeign用到的客户端是什么?

19.maven打包命令,跳过测试的命令?

20.springmvc用到哪些设计模式?

21.在使用redis的时候有用过。。过滤器?

22.元空间存的有哪些东西?

23.ribbon是做什么用的?

24.gateway和nginx的区别?

25.rabbitmq 怎么解决高并发问题?

26.dockerfile中cmd 、entry ?

27.cicd流程?

        1.选择对应的数据源

        2.

        3.

28.GOne?

29.oss是做什么用的?静态资源存储  怎么上传一个excel文件?

30.什么是装箱拆箱?

31.单例模式的好处是什么?安全,性能高

32.如何是一个线程进入中止状态?

33.你了解线程池的拒绝策略吗?

线程满了,等待队列没有足够空间,这个时候又有新的任务来了,则抛出异常或者不做处理

34.可达性分析算法?

35.元空间为什么是256M?

36.jwt的缺点?不可控,可以窃取 

37.多表查询多吗?1.会造成性能上的开销,2.可以加一些中间件,我们很难去缓存这些东西

38.聚合函数

39.类内部调用为什么会失效?

40.幂等性怎么实现?所有的消息都会加一个bizid,

41.交换机类型有哪些?广播比较多

42.canal的原理?

43.角色管理怎么做的?项目经理,采购人员,超级管理员,库存管理员

44.如果要导出excel,怎么做?

针对大批量的,发一个任务,以附件的形式发到邮箱里(只需要里面加一个参数就可以)

45.spring security的原理?配置

46.无感刷新?

用户登录会生成token,把token1,token2带入给前端,前端收到之后放到pinna里面,前端请求后端的时候,会携带token1,如果后端验证token1已经过期,会向前端发送一个402异常,前端响应拦截器发现是402异常,就会从pinna中拿token2调用后端刷新,后端refresh进行对token2的验证,通过则把数据返还给前端,实现无感刷新

47.支付流程?

为什么要用TCC?

spring事务只针对一个库

io密集型是2n,计算密集型cpu是n,

如有错误,请及时联系,我会进行更正,一起学习,共同进步

;