阿里社招连环炮-今天体验了一把
电话面试总时长25分种
自我介绍后切入正题
话题一 说说spring 的认识
答:ioc aop 大概描述了下
aop @Around 拿来做什么
答:写过,在方法上加注解 ,将方法返回值存入ConcurrentHashMap,下次map有值就直接返回
hashMap 有什么问题
答:并发情况下,put 和扩容时会丢数据
还会存在什么问题吗?或者更好的方案
答:存入HashMap后缓存会永不失效。用guava包 cache来做。
不用框架,用自身的jdk的怎么实现,一个带时间的缓存
答:(这里卡住了 对 Guava Cache 的实现原理不理解 自己也没思考过如何手动实现一个) 用 java 弱引用 WeakReference
WeakReference 弱引用还会有什么问题
答:GC 压力比较大。。。
- 这一串下来我已经蒙了,现在想来思维明显跟不上,get 不到面试官想问的点
- 能得出考察点:不光要能理解这些类的原理,以及这么实现对比其他的优劣势。
话题二、线程池的使用的理解
答:7个构造参数,主要的是最大线程数。2种队列 都要设置长度,基于链表和数组的实现吞吐率不一样
ArrayBlockingQueue LinkedBlockingQueue
线程和队列关系是怎么样的
答:说了线程池创建的过程
线程池什么场景使用
答:多线程scan 遍历redis,存文件 , 再解析文件pipile 删除redis数据
为什么要用直连redis的方式
答:(不都是用redisCluster 连的吗?)。。。。。
平时redis都很稳定吗
aop rdb 日志会影响reids的性能的, 当时就傻傻的说 是的很稳定。平时没注意redis 在项目中的问题
话题三 慢sql 怎么产生的,sql调优的解决思路
答:自己YY出了一些场景.(切记瞎猜)
面试官在以上的问答中已经确认了,java基础一般 中间件redis 一般,sql 一般
就上面3类问题google别人的面经,ok的情况都可以聊1个小时
总结一下面试前后心得:
至于面试要不要刷题,我确实是刷了,结果一个没中,让自己更慌了!!!!!!
大佬心得 https://www.jianshu.com/p/918f2a65991d
平时要主动积累知识,不是只把原理背住,理解到这样做的优劣