前言

遥想三年前,我还是一个初出茅庐的年轻小伙,那时候参加了京东在我们学校的社招,结果被面试官狠狠的虐了一波,为此我卧薪尝胆,加油学习!终于在三年后的今天再战京东成功拿下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架构实战电子书等等! 全部免费分享给大家,​​ 如果有需要的朋友点击这里​

整整三年!再战京东java开发岗成功拿下offer,你知道这三年我经历了什么吗?_spring