某科技有限公司
1. 笔试
1.1 == 和 equals 的区别
1.2. get 和 post 的区别
1.3. SpringMVC中@ReponseBody在什么情况下使用,@PathVariable怎么使用
1.4. JVM堆的结构
- 堆=新生代+老年代+永久代或者元空间
1.5. 什么GC,GC的作用是什么
- GC是一种自动内存管理机制。其主要作用是自动识别和清理不再使用的对象,以便释放内存空间,从而避免内存泄漏和程序崩溃。
- GC的作用:自动内存管理,释放不再使用的内存,提高程序的稳定性,减少内存泄漏。
1.6. Innodb和MYISAM的特点
- Innodb特点:支持事务,行级锁,外键支持,崩溃恢复,数据存储,锁机制,支持多版本并发控制(MVCC),表空间
- MYISAM特点:不支持事务,表级锁,不支持外键约束,高查询性能,存储方式,压缩支持,表不支持事务日志
1.7. 谈谈你对MySQL事物的理解
1.8. 统计出会员id=100,日期是2023年6月内的积分数据,如图
id | 会员id | 会员名称 | 会员积分 | 日期 |
---|---|---|---|---|
100 | 100 | 小王 | 10 | 2023-06-01 11:30:57 |
101 | 102 | 小明 | 10 | 2023-06-04 11:30:57 |
102 | 100 | 小王 | -10 | 2023-06-04 11:30:57 |
103 | 106 | 小张 | 10 | 2023-06-03 11:30:57 |
1.9. 谈谈如何优化数据库
- 从库方面: 选择合适的存储引擎;数据库分区与分表;数据库冗余与主从复制
- 从表方面: 查询优化;表设计优化;存储与硬件优化;监控
1.10. 实现OAuth2.0或单点登录其中一种方式
1.11. 你在编程时有哪些防注入攻击
1.12. 有一个订单表,一个产品表,一个产品订单表。你会如何设计表的映射关系
提问
- 自我介绍
- 你这些项目接触到的单表数据量最多是多少?那个表加过索引吗?对哪些字段加了索引?
- 那你数据量最多的是个什么表?除了主键还有加其他索引吗?
- 你们公司有多少部门?你们产品经理主要负责什么?
- 那你看过那个表哪些字段加了索引?
- 你平时写代码的时候,你怎么知道哪些字段需要加索引
- 像组合索引和复合索引你知道吗?比如说我建了一个a,b,c联合索引。我写代码的时候先写的c,b,a可以吗?
- 我们平时跟数据库打交道都需要开启事物,在controller、Service、dao层我们会把事物放到哪一层。
- 那我们查询list会加事物吗?
- 使用delete删除时会加事物吗?
- 看你这个项目是分布式项目,你们分布式这个分布式事物是怎么处理的
- 你知道为什么要使用分布式事物,分布式事物用来解决什么问题?
- 假设我的银行卡里面只有10块钱,现在过来10个请求都要扣10块钱,是你的话你会怎么控制?
- 你进行加锁的话,会加什么锁?如果是分布式的呢?
- 开发代码都是放在哪里是git还是svn?
- 开发的时候来了一个新需求,你们的分支是怎么管理的?
- 你们增加新需求,分支是从哪里新增的?
- 你们新建完一个分支之后就开始改代码吗?
- 开发完之后测试的话,这个代码放到哪里去?
- 假如现在又来了两个新需求,一个需求先上线,一个需求过几天上线。你们的分支是怎么管理的?
- 你们那个测试拉代码是运维拉代码还是测试拉代码
- 反问
还有几个笔试题忘记了,分布式事物这一块忘记了。seata说成了sentinel
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步