轻轻松松拿到了京东offer,而面试官只是问了这些(JVM+源码+分布式+数据库)

 

拿到京东offer问了这些(JVM+源码+分布式+数据库)

前言

很多程序员都经历过面试,今天就来讲讲我认识的一些朋友的面经。

这里是综合,不单单指哪一次面试,挑了一些面试中比较重点的,希望能够帮助到你们。

一面

1.自我介绍

2.项目情况:

(1)选择最为熟悉的一到两个项目说明,提及该项目中的难点问题,以及如何针对该项目的开展?

(2)为什么做这个项目(避免被动安排这个话题)。

(3) 解释项目中遇到的难点是如何攻克,最难的点是什么?

3.Java虚拟机的构成(重点)。

4.判断对象是否存活的两种方法。

5.java内存区域(运行时数据区)。

6.JVM垃圾回收机制,何时触发MinorGC等操作。

7.jvm中一次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到老年代?

8.你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms,g1。

9.Eden和Survivor的比例分配。

10.Linux 了解多少?

11.对设计模式的看法和认知。

12.关于树的算法题-二叉树的锯齿形层次遍历。

13.对Java内存模型的理解,以及其在并发中的应用。

14.指令重排序,内存栅栏等。

15.OOM错误,stackoverflow错误,permgen space错误。

16.JVM常用参数。

17.Tomcat结构,类加载器流程。

18.g1和cms区别,吞吐量优先和响应优先的垃圾收集器选择。

19.说一下强引用、软引用、弱引用、虚引用以及他们之间和gc的关系。

20.说一说你对环境变量classpath的理解?如果一个类不在classpath下,为什么会抛出ClassNotFoundException异常,如果在不改变这个类路径的前期下,怎样才能正确加载这个类?

二面

1.对spring和springboot的理解。

2.什么是Spring IOC 容器?

3.控制反转(IoC)有什么作用

4.IOC的优点是什么?

5.Spring IoC 的实现机制?

6.Spring 的 IoC支持哪些功能?

7.BeanFactory 和 ApplicationContext有什么区别?

8.Spring 如何设计容器的,BeanFactory和ApplicationContext的关系详解?

9.ApplicationContext通常的实现是什么?

10.什么是Spring的依赖注入?

11.@Component, @Controller, @Repository, @Service 有何区别?

12.@Required 注解有什么作用?

13.@Autowired 注解有什么作用?

14.@Autowired和@Resource之间的区别。

15.请列举Nginx的一些特性。

16.请解释Nginx如何处理HTTP请求。

17.在Nginx中,如何使用未定义的服务器名称来阻止处理请求?

18.使用“反向代理服务器”的优点是什么?

19.请列举Nginx服务器的最佳用途。

20.客户端注册Watcher 实现、服务端处理Watcher 实现

21.客户端回调Watcher。

22.ACL权限控制机制。

23.Chroot特性。

24.会话管理、服务器角色。

25.Zookeeper分布式锁(文件系统、通知机制)。

26.获取分布式锁的流程。

三面

1.什么是并发容器的实现?

2.多线程同步和互斥有几种实现方法,都是什么?

3.Java中你怎样唤醒一个阻塞的线程?

4.在Java中CycliBarriar和CountdownLatch有什么区别?

5.什么是线程组,为什么在Java中不推荐使用?

6.LinkedBlockingDeque。

7.什么是Daemon线程?它有什么意义?

8.notify()和 notifyAll()有什么区别?

9.mylasm、memory、tokudb、B+树、概念

10.排序二叉树、前缀树、红黑树、位图。

11.数据库并发策略、乐观锁、悲观锁、时间戳。

12.说说 RPC的实现原理、说说Dubbo的实现原理。

13.微服务架构有哪些优势?微服务有哪些特点?

14.设计微服务的最佳实践是什么?

15.微服务架构如何运作?

16.微服务架构的优缺点是什么?

17.单片,SOA和微服务架构有什么区别?

18.SOA和微服务架构之间的主要区别是什么?

19.什么是MyBatis的接口绑定?有哪些实现方式?

20.使用MyBatis的 mapper接口调用时有哪些要求?

21.Mapper编写有哪几种方式?

22.MyBatis实现一对一有几种方式?具体怎么操作的 ?

23.Mybatis是如何进行分页的?分页插件的原理是什么?

24.一对一、一对多的关联查询 ?

25.继承Thread类、实现Runnable接口。

26.volatile是什么?可以保证有序性吗?

27.Thread类中的start() 和 run() 方法有什么区别?

28.为什么wait和notify方法要在同步块中调用?

29.数组与链表的区别有哪些?

30.数据结构与算法的关系是什么?

四面(HR)

  1. 你为什么选择我们公司?还安排了什么面试?
  2. 你觉得你的优点和缺点是什么?
  3. 业余爱好是什么?
  4. 你觉得你在项目运行过程中作为Leader是否最大限度发挥了队员的优势?具体事例?
  5. 如何看待阿里在大数据方面的投入?对蚂蚁金服的发展有什么看法?
  6. 职业规划。

总结面试

1.Java基础(这就包括多线程、jvm、源码各种特性等)。

2.计算机网络相关知识和操作系统的知识(初级和高级基本都会问)。

3.算法(很重要)。

4.框架相关和底层实现(重要)。

5.集合类的底层数据结构(基本都会问)。

6.高并发项目(高级开发必问)。

最后

考虑篇幅,就着重挑了一些常见的重要的面试题展示出来了。

所有的面试题目都不是一成不变的,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。

拿到京东offer问了这些(JVM+源码+分布式+数据库)

拿到京东offer问了这些(JVM+源码+分布式+数据库)

资料获取方式:三连文章之后 加小助理VX: mxj94670 来免费获取哦!

猜你喜欢

转载自blog.csdn.net/m0_46757769/article/details/112705622