众安保险一面 (26min)

不仔细写了,之前写完没保存

自我介绍

1.OAuth 2.0怎么实现的?

2.MQ 这块可以详细聊一下。

3.Redis缓存一致性

4.JWT和OAuth 2.0怎么集成的?

5.OK,然后的话有用到 spring boot 和 s spring cloud,对吧?对对,是的。咱们这 spring cloud 用到用了哪些组件还记得吗?

6.那咱们聊一些价位方面的这种问题。嗯,多建成在这个项目里面有用到过吗? 在项目里用的多线程,就是用在那个异步编排那一块用多线程,然后它是我想一下是在哪个模块来着?

7.线程,我要是想用,我要是想创建一个线程池去实现这个多线程的话,我应该怎么去创建这个线程。

8.然后 three local 有了解过吗? three local 它就是可以实现线程间的隔离,然后让各个线程用自己的对象,然后线程内它是实现了这个资源共享的,这就是,嗯,在每个线程当中它有一个 THREAD local map 这个成员变量,然后它是存取存储这个对象的,然后它可以调用这个 set 方法,它把这个自己做个key,然后把这个资源对象做 value 放入到这个 deloco map 当中。 然后它是swimmac,它是,比如说是它是通过k,是通过哈希值,它是统一分配的,而它初始容量是16,扩容因子是 2/ 3,扩容是扩容容量翻倍,然后他解决这个索引冲突,他用的是这个开放寻址法。解决索引冲突的开放寻址法,也就是应该是比如说他这个哈希,比如说哈希只是得到了 11 之后,它第二个再来哈希话它还是一句话,它就会用这个 r 来着,它就是在这个一后面它去找一个位置,它找那个后面是空空白的位置。然后它的所有 local map,它那个key,它 key 设置的是弱引用,弱引用就是等它进行垃圾回收的时候,今天拉一会时候的时候,他就给他会说,但是这样的话他会造成一个问题,就是那个内存泄漏问题。然后他就是因为,它的 key 回收,但是它那个 value 我们也回收,所以说就是一般都会建议他那个是你用那个remove,他给他主动给他回收,因为他一般的所在 local 的作为是静态变量了,然后它是不能通过这个被动为被动那个 GC 来进行回收的,所以你要给它 remove 主动回收,然后它的内存释放时内存释放 10 级的话,它有一个叫做懒惰懒惰释放懒懒懒惰执行的。比如说就是他你去 get 这个key,你去用这查这个 key 的时候,如果发现这个 key 没有的话,它就是去释放这个 value 内存,如果说是你去 set the key,然后它就会等一下,没什么啊。 嗯,这个身体可能有点不太舒服,然后他是启动那个启发式扫描,然后他会去证书到这个空 p 它附近的这个Y6,然后它是根据这个启发扫描次数是根据它这个附近 value 元素个数有关的,他要是越多,他就是扫描的越还越宽一些。如果说是嗯空 key 比较少的话。

9.嗯,OK。然后,嗯,我看简历里边也有提到 concar 瑞的哈希map。这个和哈希 map 有什么区别? 可concurrentHashMap都是线程安全的,然后 hashtag 它不线上安全。主要这个线上安全。 的问题,它是怎么实现线程安全的?有了解功能。 Conherent MA Hashmap,它是 1. 7 的话,它是加锁了,然后 1. 7 的话,它是用的是 segment 和它这个哈希表加这个链表来实现这个包装线程安全的问题。然后它 1. 8 的话,用 1. 7 话是给这个 segment 加锁的,它是一个固定的,应该是16,然后它 1. 8 之后它是用的数据结构是 null 的,加这个链表或者回说它是给 null 的节点来加缩的,它就是如果说是有多少个 null 节点,它就是最高变化量就有多少。

10.就这样我看也有。还有提到 volunteer 这个关键字是做什么的? four ah,不好,不好意思,它就是能保存那个可见性和它那个指令重排的问题,然后它是指令重排的话,比如说是它是防止它这个变,忘了它要变量写加了屏障,防止它上方越过。嗯,屏障它去看到它写到它的那个变量下方,然后读的话是主旨,它下方的操作要过屏障去读到 one time 的上方。然后可见性就是让这个线对这个线程,它那个用 water 修饰的话,就是让这个线不同的线程之后都能看到这个变量,都能对这个变量进行修改,就一个变量一个线程对这个变量进行修改的话,别的线程也可以看到。

11.spring 在这个项目里边也有用到,就是咱们一般用 spring 或者 spring boot 的哪些注解,可以简单举几个例子。 吗? spring 的话首先就是在那个前端的 spring web 话,它就是spring, the request,首先是用 bin 进行依赖注入, bin 进行的是配置,然后用这个 out where 和 qualifile 和这个results,它进行这个依赖注入,然后 query file 它指定的是名字的。然后那个比如说有什么 Controller service 和那个 report tester,它是用来指定这个 bin 的,然后它好好好,那就先这样,有点想不起来。OK。

12.你刚才有提到说用 at service 去声明一个类,是吧?对,如果我不修改 spring 的配置的话,我用 i service 声明了这个类的话,它我的,我在这个类里面建立的全局变量,它是一个线程安全的吗? 这全局变量是线程安全的吗? 对,就是你写了一个service,然后你在这个 service 里面,嗯,开始的时候你就声明了这个 service 里面的一个全局变量,那它是一个线程安全的。 吗?它应该是不是线程安全的,为什么呢?因为比如说别的线程也来执行的话,也能对这个变量进行修改。 那我怎么才能达到我说明的一个行程安全的这么一个目的呢? 嗯,那我就首先就是,嗯,比较笨重,方法就是加锁比较简单,嗯嗯,实现。嗯,那如果说是通过改配置的话,我还真是没有了解过这方面的问题。 嗯,其实用此外 threadlocal去声明这个东西就可以了,对吧? 把这个变量,对,这样的话它就可以保证它是检查显示的。 我还真没想到。嗯,然后这个类为什么它不是限制安全,因为它是放在 spin 容器里面,其实它是你用 s service 声明了之后,它是作为一个单例的,所以说它使用的都是一块,同一块对象它才是,所以说它这里面的全局变量不是一个性能安全的。

14.ioc LC 就是嗯控制反转,他讲这个,嗯创建对象的权限交给那个 spring 来进行,这个 spring 来进行创建吗? 15.aop AOP 就是面向轻量变少,随便当中通过这个基本表达式加那个oh,等一下,用这个切面表达式加上那个什么循环事物,它来进实行这个 OP 的,然后它就是在这个创建执行前和执行后进行。 你没关系,你可以举一个实际,嗯,你做过的一个项目里边有没有哪个地方用到了LP。 的?我想一想,比如说他这个用这个 AOP 来介入这个操作日志,然后就是用这个环绕通知加签表达式,然后用这个表达式它是,找到这个记录日志的方法,然后通过这个行通知去获取这个请求的参数,然后就可以把这个日志保存到数据库当中。

16.OK,然后的话我看这边用 MySQL 数据库的话,也有调优过一些SQL,我们一般怎么去分析这个SQL?如果它进了slolog,或者说我们已经察觉到它运行的比较慢,我们怎么去分析它? 用那个 s explain 这个方法去这个分析它这个 SQL 语句,然后就可以看到这个 SQL 语句到底是哪些地方?它就比较慢,哪个是慢 SQL 吗? 然后,嗯,具体我们怎么去调优这个SQL?我分析了。

那我再举个例子,就是我们通过 ins plant 关键字可能会意识到这个SQL,嗯,它有些人设置了索引,但是它没走。 所以失效。就是。 17.一般什么情况会发生这种情况? 比如说他是查询的话,他是用那个模糊匹配的话,第一个用的是百分号的话,它就是会索引失效,然后说是噢噢 VR all,然后它这个索引在前面和后面它都会失效的。然后比如说进入进行它这个 SQL 语句中有这个函数计算,还有这个演示转换的话,它也会失效,然后还有不满足,对,多匹配原则的话,它也会失效。OK。

全部评论
您好 base哪里的?
点赞 回复 分享
发布于 2023-06-14 19:10 黑龙江

相关推荐

10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
3 23 评论
分享
牛客网
牛客企业服务