阿里架构师爆肝整理!春招必问的java面试题100道,助你拿下百万年薪!

158 篇文章 1 订阅
151 篇文章 1 订阅

前言

如果你今天还在问我“程序员为什么需要深度学习?”,那么这只是意味着你对开发的兴趣并不高,你对编程的热情并不够,你对自己的职业发展也没有一个清晰的规划。
作为开发人员来说,不说要求自己成为业内顶尖,但也要保证自己不被市场所淘汰,学习对于程序员来说是最基本的事情。
下面分享一下自己的面经给大家,希望对大家有帮助!

一面

  1. 介绍一下自己, 为什么选择出来看看机会

  2. 聊项目, 警报怎么做的, 统一接入监控项怎么做的

  3. 聊项目, 配置中心项目, 问实时配置推送怎么做

  4. 讨论为什么选择所有的组件依赖放在配置中心中控制

  5. 我现在要做一个限流功能, 怎么做?

  6. 这个限流要做成分布式的, 怎么做?

  7. 怎么抢锁?锁怎么释放?

  8. 加了超时之后有没有可能在没有释放的情况下, 被人抢走锁?怎么解决?

  9. 不用 zk 的心跳,可以怎么解决这个问题呢?

  10. 假如这个限流希望做成可配置的, 需要有一个后台管理系统随意对某个 api 配置全局流量, 怎么做?

  11. 某一个业务中现在需要生成全局唯一的递增 ID, 并发量非常大, 怎么做?

  12. 算法题, M*N 横向纵向均递增的矩阵找指定数

  13. 有什么想问我的?

二面

  1. 平时用的工具链和技术栈是什么?

  2. golang 踩过坑吗?

  3. 这段 golang 代码有没有 bug?

  4. Java 中 HashMap 的存储, 冲突, 扩容, 并发访问分别是怎么解决的?

  5. 拉链法中链表过长时变形为红黑树有什么优缺点?

  6. HashMap 的并发不安全体现在哪?

  7. HashMap 在扩容时, 对读写操作有什么特殊处理?

  8. ConcurrentHashMap 是怎么做到并发安全的?

  9. Java 有哪些锁机制, 分别有什么特点?

  10. 知道 CAS 吗? Java 中 CAS 是怎么实现的?

  11. MySQL 的存储引擎用的是什么?为什么选 InnoDB?

  12. MySQL 的聚簇索引和非聚簇索引有什么区别?

  13. B+树和二叉树有什么区别和优劣?

  14. 针对一个场景设计索引,考察的是联合索引与列选择性的知识

  15. 现有一个新的查询场景, 要怎么解决?

  16. 假如要查 A in () AND B in (), 怎么建索引?

  17. 查 A in () AND B in () 时, MySQL 是怎么利用索引的?

  18. 假如查询 A in (), MySQL 是针对 N 个值分别查一次索引, 还是有更好的操作?

  19. 用过 Redis 的哪几种数据结构?ZSET 是怎么实现的?

  20. zrange start, stop, 总长度为 n, 复杂度是多少?

  21. Kafka 的消费者如何做消息去重?

  22. 介绍一下 Kafka 的 ConsumerGroup

  23. Kubernetes 和 Docker 用得怎么样?

  24. 时序型数据库的存储结构是怎么样的?

  25. LSM 树了解吗? 是一种什么存储结构?

  26. 在生产中用过 Cassandra 和 RocksDB 吗? 量有多大?

  27. Cassandra 的墓碑机制是什么 ?

  28. 算法题:牛客题霸上的原题,可以去看看:NC76用两个栈实现队列

三面

  1. 聊项目和工作经验

  2. 用 Kubernetes 的过程中踩过哪些坑?

  3. 考虑一个业务场景: 头条的文章的评论量非常大, 比如说一篇热门文章就有几百万的评论, 设计一个后端服务, 实现评论的时序展示与分页

  4. 假如用 id 翻页的方式, 数据库表如何设计? 索引如何设计?

  5. 假如量很大, 你觉得需要分库分表吗? 怎么分?

  6. 分库分表后怎么查询分页?

  7. 分库分表后怎么保证主键仍然是递增的?

  8. 现在需要支持深分页, 页码直接跳转, 怎么实现?

  9. 瞬时写入量很大可能会打挂存储, 怎么保护?

  10. 断路器内部怎么实现的?

  11. 断路器会造成写入失败, 假如我们不允许写入失败呢?

  12. 算法题: N 场演唱会, 以 [{startTime, endTime}…] 的形式给出, 计算出最多能听几场演唱会。用你最熟悉的语言把这个算法实现

  13. 你用了贪心法, 贪心可能会存在什么问题?

总结

在这里插入图片描述

最后我为大家准备了一些Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等,点击这里免费获取。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值