2024-03-11
今日面经,感觉面的比较烂,面试中给自己挖了很多坑。
两个面试官轮流问,喜欢一个问题追着问
总体感觉自己准备不足,对实现原理理解不深
1、前面问了一些之前的做的项目,负责的有哪些内容。
2、设计数据库的时候有没有画过UML图
3、项目中花的时间最多的是哪一块,对你帮助最大的是哪块。
4、mysql有哪些锁,用过哪些
5、mysql索引有哪些(回答了唯一索引和主键索引,还有联合索引),项目中有用过哪些索引,(这边说了设备id列创建了唯一索引,问怎么保证添加进数据库的设备id是唯一的,我说有唯一索引的话添加后会报错。继续问不想等数据库报错再返回,有什么其他解决办法,我回答有将设备数据存入缓存,前端添加设备的时候可以先去缓存比对,如果有重复的就直接返回。但是好像面试官的意思是没答到他想要的点上。)
6、模糊查询会索引失效吗,答会。问一定会吗?,答百分号放在最前或最后是会失效的,匹配的内容太多,放中间可能不会失效。再问我就是想把百分号写在最前面,有什么办法让我的索引不失效?不知道。。。
7、为什么项目选择mysql
8、如果我有上亿条数据,怎么放入mysql,答可以分表。继续问,那如果分表后我想统计数据,这个需求给你你要怎么做(答可以多线程去查不同的表,然后汇总统计。。。乱答的,结果给自己挖坑了)另一个面试官继续问,那这多个线程去查表的时候是用一个数据库连接还是用不同的数据库连接。(我不会,回答了用多个连接),然后继续问,多个线程多个连接的话,这里面可能包含事务,你怎么去保证这个事务。(我说没听懂)他换了个说法,是开始一个事物后启用多个线程去查还是说先启用多个线程每个线程去开启一个事务去查。没回答出来。。
9、事务可以控制里面的数据库操作的执行顺序吗,你的事务是针对同一线程还是不同线程的操作(回答同一线程)又问针对同一线程的话加不加事务有什么区别,不都是顺序执行下来的吗(回答有可能第一天数据库操作失败了,那第二条数据库操作正常执行不就乱了,加了事务可以回滚)但是看面试官表情怪,对我的回答一脸迷惑
10、项目中有什么场景使用到同步的,(没有)
11、分布式锁用来解决什么问题的。
12、redisson加锁,维持这个锁是什么原理(当时没想起来。。。现在想起来好像问的是看门狗机制)
13、对spring有什么扩展的使用吗(没懂什么是对spring的扩展)
14、有一些接口不能对外暴露有一些接口是可以对外暴露的,怎么解决。
15、arrayList和hashMap为什么是线程不安全的(回答concurrentHashMap是加了同步锁,所以线程安全,hashmap没加锁,所以线程不安全。。。。好吧我不会)
16、用过哪些java8的特性,用过stream流哪些方法
17、如果有一个集合,如果我想返回集合中每个对象的某个值的累加值,用stream怎么操作、
18、如果有一个arrayList里面有十个数字,我想删除里面的偶数有几种方法(回答使用循环,然后使用remove删除)一直问我就直接在循环里remove的吗,可以在循环里remove吗?,remove怎么实现的?(搞得我都不自信了,在循环里直接使用list的remove有什么问题吗?)
19、都用了哪些spring的注解,
20、@Service注解和@Component注解有什么区别,我把本来该放在Service注解类里面的代码不小心写在Component注解会怎样(我觉得没什么区别啊)。
21、@Bean和@Component有什么区别?他们的使用场景是什么。(回答一个使用方法,一个使用在类上,在spring中加载的顺序也不同,他说他想问的不是这种浅显的区别。。)
21、mybatis中如果我想存一个手机号,然后存进数据库中是想存138xxxx3333的形式,这个步骤mybatis是怎么处理的?(我回答的是自己手动处理后再存入,他问的是mybatis怎么处理的,原理是什么)
19
0
分享
操作
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
