成都用友实习一面

面试者分享了对线程池配置、Redis线程模型的理解,JVM内存管理的详细解释,以及设计模式在请假审批中的应用。还讨论了SpringBoot注解、Maven模块管理和企业微信接入。面试官对回答给出了积极评价。

时长:50min

1.自我介绍

2.线程池有用过吗?讲一下线程池,你是怎么调配线程参数的?

  参数配置,阻塞队列,拒绝策略,最大线程数,核心线程数;线程参数的调配根据cpu核数,有专门的计算在业务场景下所需线程数量的公式作为参考。

(补充:线程的创建方式)

3.redis的线程模型,redis为什么这么快?

  I/O多路复用模型,高效的数据结构,基于内存

  补充问题:你认为redis是单线程的吗?答:我不完全认同redis的线程模型的单线程的,redis6.0版本中有设定多线程处理网络请求,但数据的读写命令任然是单线程处理的

4.redis持久化的最优策略?AOF + RDP 的混合使用策略

5.讲一讲JVM的内存模型?根据代码程序举例去讲,这块当时问的很细,程序计数器,永久代老年代方法区、GC垃圾回收机制...要挨个举例子说明。

6.看你了解设计模式,我给你一个业务场景,请假时间不同需要不同的人审批如请假一天需要班主任审批,请假两天需要院办老师审批,请假三天需要需要院长审批,你选择采用什么样的设计模式去解决这个业务场景?我回答的责任链,请假时间在类中设定为特定表示,不同的审批员设定一个类,在责任链中for循环挨个遍历,没回答好,应该说在责任链的类中进行挨个嵌套。

7.我看你项目里面使用了Apollo,Apollo在项目里面起到什么样的作用呢?远程配置中心,动态实时管理调整线程参数而不用重启项目修改代码内部配置。

8.关于企业微信这块你是怎么接入的?这块不该我负责,因为企业微信的token注册需要公司的营业执照等材料数据,对于程序的消息推送是否成功我这边是通过短信的渠道去测试整个代码流程是否能够得到成功运行,短信渠道的发送是通过腾讯云代理,通过调用第三方的SDK就可以成功发送短信。

9.对于消息推送平台的设计,你有参与吗?当时回答的定时任务的设计的重构,采用mq的死信队列,没回答好。

10.我看你有段实习经历,在人才档案系统开发过程中你遇到的难点是什么也就是指你开发中遇到的问题以及特别值得说 。答的不好,想围绕着POI来答,但对项目的理解还是不够透彻。

11.了解Springboot的哪些注解都用怎么用过吗,使用注解的时候有没有遇到什么问题?我常用来开发web程序,常用的注解有getmapping、autoward、source等等,遇到的问题有循环依赖,我回答循环依赖的解决是通过注解延迟一个bean生成,搞错了回答成锁问题了,真正回答是三级缓存。

12.一个模块下面的多个子模块如何管理起来,能够实现跨模块调用?Maven,父模块下导入所有子模块的依赖,子模块此时若需要复用其他模块代码层,直接导入父模块下的依赖,父模块的依赖为子类共享。

最后就是面试官总结上述情况中我的回答,给我的评价还不错,问我有什么想问的?

我问的工作地点、时间、薪资待遇。

结束。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值