2021最全Java后端面试题总结(阿里、京东

15.JVM中的垃圾回JVM收器,新生代回收器、老年代回收器、stop-the-world概念及解决方法。

16.四类引用及使用场景?

这里给大家分享一个JVM知识图谱,可以分享给大家。

image.png

JVM知识图谱展示

通信协议

接下来是对通信协议的了解,大概问了下列问题:

1.TCP三次握手、四次挥手。

2.http请求报文结构、响应报文,状态码。

3.http2.0相比于http1.0的新特性,推送、多路复用、消息头压缩等。

数组面试问题

1.如何在给定的1到100的整数数组中找到缺失的数字?

2.如何在给定的整数数组上找到重复的数字?

3.如何在未排序的整数数组中找到最大和最小的数字?

链表面试问题

1.如何在没有递归的情况下反转单链表?

2.如何在未排序的链表中删除重复节点?

3.你如何找到单链表的长度?

4.如何在单链表中找到最后的第三个节点?

5.如何使用Stack找到两个链表的总和?

二叉树、字符串面试问题

1.你如何计算给定字符串中的元音和辅音?

2.如何计算字符串中给定字符的出现次数?

3.如何找到字符串的所有排列?

4.如何在不使用任何库方法的情况下反转给定句子中的单词?

5.如何使用递归来反转给定的字符串?

6.如何检查字符串是否只包含数字?

7.如何在字符串中找到重复的字符?

8.如何在没有递归的情况下按预先遍历给定的二叉树?

9.如何在给定的二叉树中执行有序遍历?

10.如何在没有递归的情况下使用inorder遍历打印给定二叉树的所有节点?

11.你如何实现一个后序遍历算法?

12.如何在没有递归的情况下遍历后序遍历中的二叉树?

13.如何打印二叉搜索树的所有叶子?

14.如何计算给定二叉树中的多个叶节点?

这里整理了关于数据结构相关资料文档,需要的小伙伴请直接关注公众号【程序员黑哥】获取。

2020最全Java后端面试题总结(阿里、京东、拼多多等)

三面

=====================================================================

1.Spring Boot有哪些优点?

2.什么是 Spring Framework?

3.Spring Framework有哪些不同的功能?

4.Spring Framework中有多少个模块,它们分别是什么?

5.什么是 Spring配置文件?

6.什么是Spring IOC容器?

7.BeanFactory–BeanFactory实现举例

8.解释AOP模块

9.解释JDBC抽象和DAO模块

10.解释对象/关系映射集成模块

11.哪种依赖注入方式你建议使用,构造器注入,还是Setter方法注入?

12.对MySQL的锁了解吗

13.隔离级别与锁的关系

14.按照锁的粒度分数据库锁有哪些?锁机制与InnoDB锁算法

15.从锁的类别上分MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了

16.MySQL中InnoDB引擎的行锁是怎么实现的?

17.什么是死锁?怎么解决?

这里给大伙儿分享一张Spring知识总结图(不知道怎么学习的可以收藏)

2020最全Java后端面试题总结(阿里、京东、拼多多等)

image.png

京东(四面)

=========================================================================

一面

=====================================================================

1.Elasticsearch是怎么使用的,有接触过大数据的应用吗?

2.项目里的数据处理是怎么做的?

3.当前要存入elasticsearch的数量过大,会在存储时造成等待,存储速度很慢,如何解决这个问题?

4.Jvm里如何判断对象死亡?

5.Jvm里如何判断类死亡?

6.Hashmap在jdk7和8里的区别。

7.多线程,synchronized和lock的区别。

8.Concurrenthashmap的数据结构讲一下,如何做到线程安全的?

9.Concurrenthashmap新插入一个对象会Hash几次?

10.讲一个简历上的项目,技术难点在哪?

11.Jvm内存分区,为什么要有新生代和老年代?

12.有做个VM内存优化吗?

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

14.聚集索引和非聚集索引的区别?

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

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

二面

=====================================================================

1.Hashmap说下吧。

2.线程池有哪些参数,如果满了新的线程会怎么处理?

3.你们网关有配jvm参数吗,都有哪些?

4.高并发的时候你们网关高可用怎么做的?

5.数据库用过吗,如果现在有十亿的数据给你怎么存?

6.你们的熔断降级怎么做的?

7.项目的线程池怎么配的?

8.字符串的类说一下。

9.两个字符串都是y,用equals返回什么?

10.Hashcode和equals的关系。

11.两个线程一起输出100个数怎么做?

12.SpringBoot的AOP是什么?

三面

=====================================================================

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

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

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

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

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

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

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

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

HR面

======================================================================

  1. 你觉得自己的优点是什么,有哪些缺点呢?(灵魂拷问)

  2. 你之前公司给的薪水是怎么样的?如果阿里给你offer,你是怎么考量这两个offer的?

  3. 为什么没有在之前的公司留下来?之前公司的主管是怎么评价你的?

  4. 除了今天这个面试,还安排了其他公司的吗?(这不是无聊吧)

2020最全Java后端面试题总结(阿里、京东、拼多多等)

饿了么

======================================================================

1.HashMap和hashtable的区别有哪些?

2.Mysql有哪些索引方式

3.一个Java文件有3个类,编译后有几个class文件?

4.局部变量使用前需要显式地赋值,否则编译通过不了,为什么这么设计?

5.ReadWriteLock读写之间互斥吗?

6.Semaphore拿到执行权的线程之间是否互斥?

7.写一个你认为最好的单例模式。

8.B树和B+树是解决什么样的问题的?怎样演化过来,之间的区别?

9.写一个生产者消费者模式。

10.写一个死锁。

11.CPU 100%怎样定位?

12.Synchronized底层实现原理。

13.volatile作用,指令重排相关。

14.Spring怎样解决循环依赖的问题?

15.说说InheritableThreadLocal 的实现原理?

16.InheritableThreadLocal 是如何弥补 ThreadLocal 不支持继承的特性?

17.CyclicBarrier内部的实现与 CountDownLatch 有何不同?

二面

=====================================================================

1.多线程先入队出队操作的线程安全?

2.为什么不使用一把锁,使用两把为何能提高并发度?

3.基于数组的阻塞队列 ArrayBlockingQueue原理。

4.讲讲对JUC 中回环屏障 CyclicBarrier 的使用?

5.CyclicBarrier内部的实现与 CountDownLatch 有何不同?

6.Semaphore 的内部实现是怎样的?

7.简单对比同步器实现,谈谈你的看法?

8.什么是Java指令重排序?

9.Java中Synchronized关键字的内存语义是什么?

10.Java中Volatile关键字的内存语义是什么?

11.什么是可重入锁、乐观锁、悲观锁、公平锁、非公平锁、独占锁、共享锁?

三面

=====================================================================

1.说说分库与分表设计

2.分库与分表带来的分布式困境与应对之策

3.说说 SQL 优化之道

4.MySQL 遇到的死锁问题

5.存储引擎的 InnoDB 与 MyISAM

6.数据库索引的原理

7.为什么要用 B-tree

8.聚集索引与非聚集索引的区别

9.limit 20000 加载很慢怎么解决

10.选择合适的分布式主键方案

11.选择合适的数据存储方案

12.ObjectId规则是什么?

13.聊聊 MongoDB使用场景吧。

14.pring MVC运行流程是什么?

15.Spring MVC启动流程说一下吧。

16.Spring 的单例实现原理是什么?

17.Spring 框架中用到了哪些设计模式?

2020最全Java后端面试题总结(阿里、京东、拼多多等)

拼多多

======================================================================

一面

=====================================================================

1.自我介绍。

2.部门组织结构是怎样的?

3.给我一张纸,画了一个九方格,都填了数字,给一个MN矩阵,从1开始逆时针打印这MN个数,要求时间复杂度尽可能低。

4.链路追踪的信息是怎么传递的?(RpcContext的attachment,说了Span的结构:parentSpanId + curSpanId)

5.SpanId怎么保证唯一性?(UUID,说了下内部的定制改动)

6.RpcContext是在什么维度传递的?(线程)

7.Dubbo的远程调用怎么实现的?(讲了读取配置、拼装url、创建Invoker、服务导出、服务注册以及消费者通过动态代理、filter、获取Invoker列表、负载均衡等过程(哗啦啦讲了10多分钟),我可以喝口水么)

8.Spring的单例是怎么实现的?(单例注册表)

9.为什么要单独实现一个服务治理框架?(说了下内部刚搞微服务不久,主要对服务进行一些监控和性能优化)

10.谁主导的?内部还在使用么?

11.逆向有想过怎么做成通用么?

12.Java中的HashMap、TreeMap解释下?(TreeMap红黑树,有序,HashMap无序,数组+链表)

13.TreeMap查询写入的时间复杂度多少?

14.HashMap多线程有什么问题?

二面

=====================================================================

1.CAS和synchronize有什么区别?

2.都用synchronize不行么?

3.如果要保证线程安全怎么办?(ConcurrentHashMap)

4.ConcurrentHashMap怎么实现线程安全的?(分段锁)

5.get需要加锁么,为什么?(不用,volatile关键字)

6.Volatile的作用是什么?(保证内存可见性)

7.底层怎么实现的?(说了主内存和工作内存,读写内存屏障,happen-before,并在纸上画了线程交互图)

8.在多核CPU下,可见性怎么保证?(思考了一会)

9.聊项目,系统之间是怎么交互的?

10.系统并发多少,怎么优化?

11.Linux进程间通信的方式?

三面

=====================================================================

1.TCP连接的特点大概说一下吧。

2.TCP连接如何保证安全可靠的?

3.为什么TCP连接需要三次握手,两次不可以吗,为什么?

4.动态代理与cglib实现的区别是什么?

5.那么你说说代理的实现原理吧。

6.看过Spring源码没,说说Ioc容器的加载过程吧。

7.了解过字节码的编译过程吗(这个回答的有一些含糊,就跳过了)

8.Hadoop里面由哪些组件,你用过哪些?

9.Spring Bean 的生命周期大概说说。

10.nat是什么?属于哪一层?

11.介绍一下网络分层的模型

12.链路层有什么协议?

13.数据库范式是什么?

14.面向对象三大特点。

image.png

爱奇艺

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值