校招 未知部门 / 后端-Java / 一面
[面试日期] 2024-01-26 [面试时长] 未知
[学校背景] 中国科学技术大学 | 985 [学历背景] 未知
[发布人] 面试之星官方收录
1. List和Map有啥不同(说了一些最基础的然后就扯到了HashMap和ConcurrentHashMap,就说了底层的实现以及1.7、1.8版本前后有啥不同(但面试官只问了我list和map有啥不同,我有点紧张一下子想不起来太多,就往底层我知道的引导了)。
2. 项目过程中用list多还是map多,哪些场景(太紧张竟然一下子想不太起来了,就随便扯了扯)
3. Java有哪些锁(只记得synchronized和ReentrantLock,就说了说这两个以及有啥区别)
4. synchronized三种锁的状态(忘了)
5. synchronized可以修饰在哪些地方
6. 说说CAS的原理
7. 集群部署时使用synchronized会不会出问题(synchronized本地锁显然不能用在集群里,得用分布式锁)
8. 分布式锁有哪些(setnx、Redisson那些东西)
9. 多线程有没有了解(只用过线程池)
10. 除了线程池还有什么方法启动线程(不会)
11. 那线程池有哪些核心参数(先说了下原理,然后自然带出了参数,同时说了常用的阻塞队列和拒绝策略以及项目里怎么用的)
12. JVM内存分区(答得不好,就记得个堆、方法区和虚拟机栈)
13. JVM的回收算法有没有了解(说了标记清除、标记复制、标记清理)
14. 监控JVM用什么命令、怎么调优(不会)
15. 知道full gc吗
16. 如果JVM发生full gc很多的话可能的原因是什么,怎么排查解决(不会)
17. 对象创建的时候是现在新生代然后经历回收之后再去老年代吗
18. 如果对象创建的时候大小大于新生代剩余大小怎么办(答了大对象会直接创建在老年代,但是面试官提醒其实是会先对新生代进行minor gc的)
19. MySQL索引数据结构是啥,B+树和B树的区别
20. 说说最左匹配原则
21. 还有什么索引失效的原因(说了OR、聚合函数、模糊查询的时候使用%xx、建了联合索引时使用了>、<)
22. 还有什么优化sql的方法(就记得个别用子查询,剩下忘了。面试官引导下想起来个覆盖索引)
23. 说说回表
24. 为了减少回表应该怎么使用sql(用联合索引实现覆盖索引)
25. 事务的隔离级别
26. MySQL默认什么级别、怎么实现的
27. 用transactional注解什么时候会回滚(没太懂啥意思,就说有命令执行出错时会回滚)
28. 如果异常被try catch了没有抛出会回滚吗(不会)
29. 还有什么情况会造成事务注解失效(只记得一个aop失效的场景,类内部方法a调用方法b,方法b注解失效。要想生效必须获得代理类使用代理类调用),除了这个还有吗(不会了)
30. 刚刚说到了动态代理,Java实现动态代理有哪些方式(不会)
31. Spring用了啥设计模式(听错了,听成了问我了解啥设计模式)
32. 了解过Spring源码(没有,但看过博客,怕说有被拷打)
33. 那说说ioc是什么概念
34. 什么场景用Redis(缓存、分布式锁、限流)
35. 数据库缓存一致性怎么解决(说了先写数据库再删缓存、缓存双删、通过监控binlog)
36. 项目怎么部署的(没部署过,就在idea里跑跑)
37. 又问到怎么注册服务这些(nacos)
38. 各个服务怎么通信的
39. 自己测过抢票、秒杀的情况吗,怎么防超卖的(先用生成10w个token,然后用jmeter模拟同时抢票或者秒杀)
40. 通过RocketMQ延迟消息实现延迟关闭订单怎么做的(就说了延迟消息特性)
41. 消费的时候比较慢导致超过了十分钟怎么办(雀食可能存在这个问题,那你要问我怎么解决我只能说不会了,于是扯了扯其他的东西)
42. 除了RocketMQ还有什么方法能做到(简单说了说xxl-job、redis过期监听、RabbitMQ、kafka以及缺点)
43. 算法:最长递增子数组长度
面试官人挺好的,每次答完会给反馈,我延伸也不会打断我。答出来80%(jvm调优这种根本没想到实习会问),算法也a了,但面完之后两个工作日挂,后面再投其他的岗位直接简历挂,说好的ks无限复活呢
AI 推荐面试题
No Data
