校招 未知部门 / 后端-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