数字马力_长沙Java社招_一面凉经x2

#面经# #数字马力# #长沙#
双一流本科 计算机类专业 22届
高新企业司龄1.5年 GAP半年

2024/8/14 一面
提问比较发散(忘得差不多了)只能分享一下印象较深的几个问题
面试分为三个环节:自我介绍 -> 技术提问 -> 反问交流
Part 1:Spring框架
1、SpringBoot项目是如何启动的?说明SpringBoot的启动原理
- A、寄
2、介绍Spring的两个核心功能
- A、IoC控制反转 和 AOP面向切面
3、Spring是如何实现依赖注入的?
- A、(没有明白该提问回答的重心是什么)
4、Spring如何解决循环依赖?
- A、三级缓存
5、在Spring项目中的任意一个方法上添加@Transactional注解,事务会生效么?
- A、(我不明白这个问题,考虑到特殊情况 可以把该注解添加在Controller方法上,但是这个方法是持久化无关的)
(||如果有同学明白这个问题,烦请评论区答复我,谢谢||)
6、Spring事务失效场景
- A、(建议看AI 我回答偏了)
7、动态代理可以代理哪些访问修饰符修饰的方法?
- A、JDK代理的是接口只有public;cglib代理则跟字节码生成库有关 我表示存疑回答不来

Part 2:数据库
1、使用过哪些数据库?
- A、企业数据存储用Oracle,应用数据存储用MySQL
2、Oracle和MySQL是如何实现事务的?
- A、(第一时间没有理解问题,现在感觉是在问事务的ACID特性 然后是如何实现这四个特性)
3、MySQL的隔离级别中RC是如何读到已提交的数据的?
- A、通过多版本并发控制实现,利用三个隐藏字段和ReadView
4、都有哪些索引类型?
- A、唯一索引 联合索引 普通索引 覆盖索引(答得不全)
5、聚簇索引和非聚簇索引的区别?
- A、聚簇索引是索引和数据一起存放,非聚簇索引是分开存放
6、MySQL索引的数据结构是什么?
- A、回答的是 B+树
6.1、除了用到 B+树 还用到什么?
- A、(||我不明白,有同学知道烦请评论区答复我,谢谢||)

Part 3:JVM
1、介绍一下JVM内存模型?
- A、我听成是JMM了,回答的是JMM(Java内存模型)
2、Java堆划分哪些区域?
- A、新生代(Eden S0 S1)老年代 元空间
2.1、线程在哪个区域?
- A、(我没明白,第一时间想到'Java运行时数据区域'的图片,照着图片在瞎说)
(||如果有同学明白这个问题,烦请评论区答复我,谢谢||)
2.2、如果元空间在系统内存上,那么CG将如何回收?(因为上面我错误把本地内存理解成操作系统的直接内存了)
- A、通过不同操作系统对JVM的特定实现,因为元空间不会经常发生回收

Part 4:消息队列
1、使用过什么消息中间件?
- A、公司项目从事大量数据处理,适用Kafka
2、Kafka如何保证消息不丢失?
- A、生产者 对send方法返回的future进行回调处理;
消费者 可以在业务逻辑处理完再提交offset;
Kafka 引入多副本机制保证消息存储安全性
2.1、如果leader挂了但是follower没有及时同步副本,仍然会造成消息丢失,Kafka如何保证消息不丢失?
- A、通过修改配置强制ISR同步后生产者才会接收响应
2.2、但是有些Kafka并没有修改这些配置,如何保证消息不丢失?
- A、(我不明白,在生产者send消息时将消息缓存起来,我没有其他方案)
(||如果有同学知道这个问题,烦请评论区答复我,谢谢||)

Part 5:项目经验
1、介绍一下你的项目亮点(原话比较委婉一些,我这里就直接放浅显易懂的话术了)
- A、(个人性格问题,情不自禁就接了这个委婉的话茬,回答的也很委婉,王炸 寄了!)
主要是某个业务逻辑需要优化,我将原本业务算法中O(n)的IO访问次数减低到了O(1),实现优化使业务处理得到提速

Part 6:反问
1、你有什么想要了解的可以进行提问
- A、(主要是问工作职责吧 细的具体还是要看分哪个部门 广的不用问我们也大概知道)
(问自己的表现发挥 有哪些提升方向 当时又没马上拉下脸问)
(然后脑子一热 说已经和HR交流了解过 还有问题如果有机会可以二面再提问,王炸 又寄了!!)

反省/总结:
What can I say ?

---------------------------------------------------------------------------------
2024/8/1 一面
Part 1:分布式
1、自我介绍(已OC的好友 建议介绍项目时多说能够突出自己能力的点)
- A、只说了我在公司是做什么的
2、公司是否有使用微服务 | 微服务都用到什么(好友 直接说的没用过)
- A、服务发现、数据网关(前司主要是分布式横向扩展,消息队列削峰异步解耦,应该回答没接触过)
3、公司使用的服务发现是怎样的?(给自己挖的坑,答不来)
当服务发现功能挂了,集群应用之间是否还能进行通讯?
END -- 面试官 建议多了解一下微服务 应该是那边工作会用到

Part 2:看见简历上个人技能写了数据库 熟悉SQL索引
1、说一下使用的数据库
- A、MySQL和Oracle,工作Oracle用的多
2、SQL优化(好友建议能细说的点多说一些)
- A、只说了使用EXPLAIN分析,使用SQL索引
3、刚提到覆盖索引,说一下覆盖索引
- A、(回表 这里把唯一索引说成是聚簇索引了)
4、刚说了唯一索引和聚簇索引,说一下主键索引和唯一索引区别
- A、寄

Part 3:Redis
1、说一下为什么用Redis | 用Redis做什么
- A、高性能、高可用 | 缓存、分布式锁
2、配合DB 使用Redis是如何更新数据的
- A、(答错了 回答的 删缓缓存-更新DB-插入缓存)
3、以上如何保证高一致性
-- 面试官:应该用延迟双删,还帮我解释了一下实现,因为面试时实在想不起来了

Part 4:消息队列
1、说一下使用的消息中间件
- A、Kafka(公司主做大数据处理只用了Kafka)
2、RocketMQ和Kafka区别
- A、只答了RocketMQ在架构上做减法,在功能上做加法,支持了一些特殊功能
3、比较两者的吞吐量
- A、(印象里JavaGuide上这两个吞吐量好像差不多)
-- 面试官:Kafka吞吐量大些 还说明了什么原因什么差别所以大些
4、RocketMQ支持了哪些功能
- A、(是真没用过)
-- 面试官:RocketMQ支持顺序消费、分布式事务等

反省/总结:
其实这次面试的问题整体上并不难;
主要在于自己这段时间并没有做好面试准备,而且缺乏面试经验;
在这次面试中没有掌握面试节奏,致使面试中回答面试官的问题总是很不着调;
感觉上并不是直接上手提问八股文,是以上家公司的技术架构为切入点,循序提问关键技术能力,并且逐渐向面试岗位的技术栈方向靠拢。
全部评论
老哥,想问一下简历上面没写到的东西也会问吗
点赞 回复 分享
发布于 08-05 11:19 广东
一年半问这些 已经是很给机会了
点赞 回复 分享
发布于 08-05 15:28 北京
保融科技
校招火热招聘中
官网直投
请问面试过程中需要手撕编程题吗?
点赞 回复 分享
发布于 08-11 12:43 湖南
怎么两个一面
点赞 回复 分享
发布于 08-16 23:07 湖南

相关推荐

12 20 评论
分享
牛客网
牛客企业服务