电话面五十分钟,基础架构中间件部门。
1.简单的自我介绍(主要介绍了项目和用到的技术栈)
2.实习主要做的哪方面工作(简单介绍一两句)
3.介绍一下java的内存回收机制
4.什么情况会进到老年代(幸存和大对象)
5.MySQL是不是经常使用,在使用过程中有些什么最佳实践(数据结构特点、注意事项、优化查询语句)
6.token具体怎么实现的身份认证(结合项目说的token实现原理和过程)
7.客户端保存生成token的密钥吗,客户端能解析出token中的用户内容吗(引出了token被劫持等)
8.为什么使用token(特点优点,对比了session)
9.如何解决token劫持
10.https为什么能防止token被劫持(加密原理)
11.https能防止中间人攻击吗
12.Spring中Bean的生命周期
13.A方法@Transactional,B方法没有,B中直接调用A方法那A的@Transactional能生效吗(不会,提示主要和AOP的工作模式有关)
14.介绍Atomic原子库的底层实现机制(CAS,ABA问题怎么解决,版本号)
15.开放问题:大量并发查询用户商品信息,MySQL压力大查询慢,保证速度怎么优化方案(加缓存、限流和消息队列变慢不行、主从集群、冷热数据分离等)
15.开放问题:大量并发查询用户商品信息,MySQL压力大查询慢,保证速度怎么优化方案(加缓存、限流和消息队列变慢不行、主从集群、冷热数据分离等)
16.缓存具体实施方案
17.缓存一致性方案(先删缓存的作用是什么)
18.场景:A服务生产,B服务消息队列,中间使用消息队列,收到挤压上升,初步判断是什么原因(生产量增大),怎么快速解决积压(扩容),扩容后消费能力只增加了一点问题在哪里
面完评价:觉得还行,基础知识和思路挺清晰。
反问:组具体业务方向,语言和技术栈(java和go都有),后续流程。
面试总结:熟悉的内容可以主动发散来讲,结合项目可以更有说服力。
全部评论
(1) 回帖