淘天开发面经

#软件开发笔面经#
**项目:**

你的项目里redis都用了那些数据结构  set zset hash表,少说了个bitsmap。

zset底层原理,解释下跳表。

redis中set,zset,hash表 的区别。

消息队列的作用,除了异步还有什么,解耦削峰填谷。加入消息队列会增大系统的负载,当时没有想其他的方案来替换消息队列吗?没,很多地方要用到,接着问还有什么地方用到消息队列?订单微服务支付成功给课程微服务加入课表,那么我如果强烈要求实时,不用消息队列怎么实现?项目中还用到了spring cloud的feign实现不同微服务调用,还可以通过rpc框架。

说一下消息队列的原理

消息如何实现有序?  这个只答了使用消息序号,还有使用单一消费者、分区队列、消息序号、延迟消费和事务消息

Arraylist扩容为什么是1.5倍,答了可能跟负载因子有关,答错了,应该是,减少数组复制的开销,性能和内存利用率的一个折中。

学校:

你的研究方向

在你研究方向取得的一个最重大的突破或者成果

你用技术解决过生活中的一个问题

**八股:**

接口,抽象方法,内部类有什么区别  这个只有点忘记了,面试官提示在什么场景下会用到抽象类

在后端返回给前端数据的时候,如何选择arraylist,linkedlist,set这种

java内存模型,

java对象的生命周期 这个忘了: Java对象的生命周期包括创建、应用、不可见、不可达、收集、终结和空间重分配等阶段。

线程池解释,线程池你常用的阻塞队列是什么?为什么不用无界的,无界的阻塞队列会有什么问题?看过线程池底层源码吗?底层源码没看过。

堆内存的分布,

垃圾回收机制以及区别

cpu高负载如何解决问题?没答全,top→进程pid→top -hp→ 线程pid→jstack

cpu高负载可能是哪些原因造成的?这个答错了,答的死锁,应该有死循环,频繁的GC操作,上下文切换过于频繁等。
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务