Java面试题40道

1、自我介绍,介绍最近做的一个项目,有什么难点?工作有哪些亮点,解决了哪些技术问题?
2、详细解释微服务,如何实现服务发现与注册,如果某个服务挂掉,如何通知调用者?
3、如何写出健壮的代码?项目中如何做的日志打印?讲讲领域模型设计(DDD)?
4、数据异步处理如何实现,服务如何拆分,数据统计为何增量统计?
5、有没有做过系统性能提升?讲一下关键的改进点?
6、为什么使用微服务?dubbo和springcloud是怎么选择的?
7、mysql事务隔离级别?什么情况下会出现幻读?mysql生产环境遇到过死锁吗,怎么理解死锁?
8、mysql 怎么做的分库分表,有没有遇到跨库查询问题?mysql 慢查询怎么解决的?
9、mysql的版本控制如何实现的?行级别锁添加和释放的时机?
10、索引结构,b+树较其他b树和红黑树的优势?
11、联合索引的树b+树长什么样子?为什么是索引最左匹配原则?B+树查询的时间复杂度?
12、mybatis的二级缓存是怎么实现的?二级缓存和一级缓存是存了哪些数据?
13、熔断限流怎么做的,hystrix解决了什么问题?hystrix怎么实现的?
14、项目中接口幂等性的实现?通过令牌保证接口幂等性过程的描述?令牌的生成和删除?
15、讲一下springmvc的原理?Spring用到哪些设计模式?
16、spring cloud 与spring什么关系?了解springboot的自动装配原理吗?
17、spring的循环依赖,怎么解决的,为什么需要加个三级缓存?
18、redis支持的数据结构?redis如何实现string,这样实现有什么好处?
19、RDB和AOF都是什么,AOF日志量太大时redis如何处理?
20、redis key过期时间内部存储结构及实现?redis的过期淘汰机制有哪些?
21、redis 集群了解哪些?redis 数据如何做的备份?
22、如何使用redis实现一个优先级队列?
23、缓存穿透和缓存雪崩及解决办法?布隆过滤器的基本原理?
24、zookeeper集群的角色?角色的区别及切换过程?zab选举的具体过程?
25、说一下HashMap的数据结构?hashmap的rehash过程?jdk1.8hashmap有哪些改进?
26、类加载的具体过程?实现类动态加载的机制有哪些?
27、介绍下JVM GC算法CMS和G1?有没有线上GC调优经验?
28、Java实现锁的方式有哪几种?synchronize的实现方式、底层原理、锁升级的过程?
29、lock和synchronize的区别?Lock是公平锁还是非公平锁?
30、AQS的实现讲一下?了解unsafe吗 ?
31、分布式锁redis和zookeeper的实现?有什么优缺点?
32、用过什么消息队列?应用场景有什么?有没有和其他mq作比较?
33、本地事务和发消息如何保证强一致性?
34、思考题:怎么统计一亿用户的日活?
35、算法题:求一个环形链表的环的长度
36、算法题:二叉树的最近公共祖先
37:算法题:如何获取一个数组里面第k大的数?
38:HR:工作这几年,有什么样的职场感受?
39:HR:自己的优点有哪些?自己的缺点有哪些?
40、HR:为什么想离职?期望薪资?手上有没有其他offer,哪些公司?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值