这88道阿里高级岗面试题,刷掉了80%以上的Java程序员

440 阅读5分钟

2020,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿。

![这88道阿里高级岗面试题,刷掉了80%以上的Java程序员](https://p6-tt.byteimg.com/origin/dfic-imagehandler/c5cf2627-d281-4791-af9c-0d9f1a0ad9c4?from=pc)

从某电商项目负责人的算起,再到后来的首席架构师,我前前后后面试了至少 300 多位求职者。不敢说成功入职的每个同事都发展得特别好,但大部分人来说还是很不错的。

过硬的技术功底是最起码的考核要求。不少来应聘的朋友底子还是有的,但知识面太窄了。那么对于互联网大厂,尤其是电商行业来说,都会重点考核哪些呢?最近我将这些年自己常问的考核知识整理了一下,不下 100 道,其中涵盖了不少大厂必考点、高频点、加薪点,这些也是作为开发人来说日常项目中经常遇到的踩坑点。

为了方便大家,我把这些点做了一个归类,一共分成了 5 大类,分别是:JVM,mysql,Redis,MongoDB,Dubbo。我把关于这些问题的拆解与思考,整理成一个 pdf,限于篇幅,这里就不一一列出了。需要的同学可以文末领取,希望能从中有所启发、收获。

这里直接给大家分享这些面试真题 ,具体有:

JVM

  • java中会存在内存泄漏吗,请简单描述。
  • 64 位 JVM 中,int 的长度是多数?
  • Serial 与 Parallel GC 之间的不同之处?
  • 32 位和 64 位的 JVM,int 类型变量的长度是多数?
  • Java 中 WeakReference 与 SoftReference 的区别?
  • JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用
  • 怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
  • 32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
  • JRE、JDK、JVM 及 JIT 之间有什么不同?
  • 解释 Java 堆空间及 GC?
  • JVM 内存区域
  • 程序计数器(线程私有)
  • 虚拟机栈(线程私有)
  • 本地方法区(线程私有)
  • 你能保证 GC 执行吗?
  • 怎么获取 Java 程序使用的内存?堆使用的百分比?
  • Java 中堆和栈有什么区别?
  • 描述一下 JVM 加载 class 文件的原理机制

mysql

  • 数据库存储引擎
  • InnoDB(B+树)
  • TokuDB( Fractal Tree-节点带数据)
  • MyIASM
  • Memory
  • 数据库引擎有哪些
  • InnoDB与MyISAM的区别
  • 索引
  • 常见索引原则有
  • 数据库的三范式是什么
  • 第一范式(1st NF - 列都是不可再分)
  • 第二范式(2nd NF- 每个表只描述一件事情)
  • 第三范式(3rd NF- 不存在对非主键列的传递依赖)
  • 数据库是事务
  • SQL优化
  • 简单说一说drop、delete与truncate的区别
  • 什么是视图
  • 什么是内联接、左外联接、右外联接?
  • 并发事务带来哪些问题?

Redis

  • 什么是 Redis?
  • Redis 与其他 key-value 存储有什么不同?
  • Redis 的数据类型?
  • 使用 Redis 有哪些好处?
  • Redis 相比 Memcached 有哪些优势?
  • Memcache 与 Redis 的区别都有哪些?
  • Redis 是单进程单线程的?
  • 一个字符串类型的值能存储最大容量是多少?
  • Redis持久化机制
  • 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
  • 热点数据和冷数据是什么
  • 单线程的redis为什么这么快
  • redis的数据类型,以及每种数据类型的使用场景
  • redis的过期策略以及内存淘汰机制
  • Redis 常见性能问题和解决方案?
  • 为什么Redis的操作是原子性的,怎么保证原子性的?
  • Redis事务
  • Redis 的持久化机制是什么?各自的优缺点?

MongoDB

  • mongodb是什么?
  • mongodb有哪些特点?
  • 你说的NoSQL数据库是什么意思?NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?
  • NoSQL数据库有哪些类型?
  • MySQL与MongoDB之间最基本的差别是什么?
  • 你怎么比较MongoDB、CouchDB及CouchBase?
  • MongoDB成为最好NoSQL数据库的原因是什么?
  • journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
  • 分析器在MongoDB中的作用是什么?
  • 名字空间(namespace)是什么?
  • 如果用户移除对象的属性,该属性是否从存储层中删除?
  • 能否使用日志特征进行安全备份?
  • 允许空值null吗?
  • 更新操作立刻fsync到磁盘?
  • 如何执行事务/加锁?
  • 为什么我的数据文件如此庞大?
  • 启用备份故障恢复需要多久?
  • 什么是master或primary?

Dubbo

  • 为什么要用 Dubbo?
  • Dubbo 的整体架构设计有哪些分层?
  • 默认使用的是什么通信框架,还有别的选择吗?
  • 服务调用是阻塞的吗?
  • 一般使用什么注册中心?还有别的选择吗?
  • 默认使用什么序列化框架,你知道的还有哪些?
  • 服务提供者能实现失效踢出是什么原理?
  • 服务上线怎么不影响旧版本?
  • 如何解决服务调用链过长的问题?
  • 说说核心的配置有哪些?
  • Dubbo 推荐用什么协议?
  • 同一个服务多个注册的情况下可以直连某一个服务吗?
  • 画一画服务注册与发现的流程图?
  • Dubbo 集群容错有几种方案?
  • Dubbo 服务降级,失败重试怎么做?
  • Dubbo 使用过程中都遇到了些什么问题?
  • Dubbo Monitor 实现原理?
  • Dubbo 用到哪些设计模式?
![这88道阿里高级岗面试题,刷掉了80%以上的Java程序员](https://p1-tt.byteimg.com/origin/pgc-image/220a58f34b594cf5a562245c81bf833d?from=pc)

总结:

给大家总结了一部分大厂的面试真题,需要的朋友可以关注微信公众号【Java程序员聚集地】

文档包括还有spring全家桶,mybatis,MySQL,jvm等等专题的技术点,希望能助大家冲刺金九银十。