前言

遥想三年前,我还是一个初出茅庐的年轻小伙,那时候参加了京东在我们学校的社招,结果被面试官狠狠的虐了一波,为此我卧薪尝胆,加油学习!终于在三年后的今天再战京东成功拿下offer,三年,你知道这三年我经历了什么吗?
开个玩笑,不过我还真是三年去校招被拒,现在通过社招又拿到了offer,下面分享一下我自己的经验吧!

一面

  • 手撕代码。牛客题霸上的原题,可以去看看:NC127 最长公共子串

  • Object类中的方法。

  • 接口和抽象类的区别,注意JDK8的接口可以有实现。

  • 动态代理的两种方式,以及区别。

  • Java序列化的方式。

  • 传值和传引用的区别,Java是怎么样的,有没有传值引用。

  • 一个ArrayList在循环过程中删除,会不会出问题,为什么。

  • @transactional注解在什么情况下会失效,为什么。

  • 一致性Hash算法,一致性Hash算法的应用

  • JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。

  • 强软弱虚引用的区别以及GC对他们执行怎样的操作。

  • Java是否可以GC直接内存。

  • Java类加载的过程。

  • 双亲委派模型的过程以及优势。

  • 常用的JVM调优参数。

  • 线程池用过哪些?线程池有哪些参数?然后问我几个常用线程池的用法和实际场景问题。

  • 集合框架的知识,hashmap,ArrayList,LinkedList源码相关知识,基本整个介绍了 一遍,与hastable,concurrenthashmap相互的关联和区别;

  • 说几个垃圾回收器,cms回收器有哪几个过程,停顿几次,会不会产生内存碎片。老 年代产生内存碎片会有什么问题。

  • 讲讲快速排序,分析一下时间复杂度?

  • 双亲委派模型介绍一下;

  • java中同步、volatile关键字;

  • vm内存分区,为什么要有新生代和老年代?

  • 有做个VM内存优化吗?

  • 数据库索引主键和唯一索引有什么区别?

  • 聚集索引和非聚集索引的区别?

  • MySQL存储引擎innoDB和MylSAM的区别?

  • innoDB的B+树索引叶子节点的Data域存储的是什么?MylSAM的B+树索引叶子节点的Data域存储的是主键还是物理地址?

二面

  • 可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap中的segment)。

  • 悲观锁,乐观锁,优缺点,CAS有什么缺陷,该如何解决。

  • ABC三个线程如何保证顺序执行。

  • 线程的状态都有哪些。

  • sleep和wait的区别。

  • notify和notifyall的区别。

  • ThreadLocal的了解,实现原理。

  • 数据库连接池。

  • durid的常用配置。

  • 长连接和短连接。

  • 连接池适合长连接还是短连接。

  • Spring中使用了哪些设计模式

  • 在一个静态方法内调用一个非静态成员为什么是非法的?

  • MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别。

  • 数据库四大特性

  • 事务的四大隔离级别

  • jvm场景问题,标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题?

  • MySQL里有哪些锁,行锁表锁,乐观锁呢?

  • MySQL的死锁怎么产生的,举了两个例子。

  • dubbo里的zookeeper是做什么的?

  • aio,nio,bio的了解,NIO的核心概念有哪些?

  • 常用的NIO框架有哪些?优劣势?

  • 手撕代码。牛客题霸上的原题,可以去看看:NC9 二叉树中是否存在节点和为指定值的路径;

三面

  • 单例模式的五种实现方式

  • dubbo的组件有哪些,各有什么作用。

  • zookeeper的负载均衡算法有哪些。

  • dubbo是如何利用接口就可以通信的。

  • redis的部署方式,主从,集群。

  • redis的哨兵模式,一个key值如何在redis集群中找到存储在哪里。

  • redis持久化策略。

  • 自定义注解的实现。

  • Spring使用了哪些设计模式。

  • Spring的IOC有什么优势。

  • Spring如何维护它拥有的bean。

  • JDK8的新特性,流的概念及优势,为什么有这种优势。

  • 对区块链的了解

  • 如何设计双11交易总额面板,要做到高并发高可用?

  • 分布式下redis如何保证线程安全?

  • redis持久化的方式以及区别;

  • zookeeper如何实现分布式锁、其他分布式锁怎么实现?

  • kafka的架构,如何用kafka保证消息的有序性?

  • 数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。

  • 最有技术难度的项目,介绍下相关核心设计流程。

  • 工作中,遇见了技术瓶颈无法解决,你的解决思路?

  • 未来你的职业规划是怎么样?

总结(本文涉及到的所有文档点击此处获取)

在文章的最后作者为大家整理了很多资料!包括java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书等等!