java面经

时间:2023-04-19 13:28:23编辑:coo君
Java面试的重点总结:

数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:redis缓存、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等。

阿里巴巴菜鸟国际3面总结(Java研发)

一面(50分钟)

上来先让我做了自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。中间穿插着会问到一些基础知识。总共面了50多分钟,java基础能问的基本都问完了。JVM垃圾回收,fullgc是否可以回收方法区redis支持的数据类型到跳跃表,redis同步策略如何自己实现lrumysql索引的数据结构,为什么用B 树不用B树事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)线程池的构造函数参数,队列的拒绝策略spring相关、bean的生命周期,循环引用问题spring如何处理concurrentHashmap1.8为什么放弃了分段锁数据库分库分表相关

感觉一面主要考察的是知识广度

二面(30分钟)

springAOP的原理,动态代理是怎么实现的snmpfullgc的时候会导致接口的响应速度特别慢,如何排查和解决netty,如何避免的NIO空循环,零拷贝问了一些简单的算法,说一下思路

二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。

三面(40分钟)

kafka的replicas的作用,为什么比其他的消息队列好。微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。各种聊项目,从项目的架构设计到部署流程。solr和mongodb的区别,存数据为什么不用solr?谈谈分布式锁、以及分布式全局唯一ID的实现比较?对分布式架构设计的哪些方面比较熟悉?介绍你实践过的性能优化案例,以及优化思路你参加过的项目中,哪个项目让你收获最多,这个项目使用了哪些技术,挑战在哪里?

三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。

上一篇:保研面试

下一篇:职场黑话