2021最新 阿里天猫、蚂蚁、钉钉ava 面试题汇总,附答案

Java面试前需要做足各方面的准备工作,肯定都会浏览大量的面试题,本人也不例外,这是一些最新面试题,分享给大家。

Java基础

  • 面向对象的特征:继承、封装和多态
  • int 和 Integer 有什么区别;
  • Integer的值缓存范围
  • 说说反射的用途及实现
  • Http 请求的 GET 和 POST 方式的区别
  • MVC设计思想
  • 什么是Java序列化和反序列化;
  • 如何实现Java序列化;
  • 重载和重写的区别

进程和线程

  • 线程和进程的概念
  • 并行和并发的概念
  • 创建线程的方式及实现
  • 进程间通信的方式
  • 说说 CountDownLatch、CyclicBarrier 原理和区别
  • 说说 Semaphore 原理
  • 说说 Exchanger 原理
  • ThreadLocal 原理分析;
  • ThreadLocal为什么会出现OOM,出现的深层次原理
  • 讲讲线程池的实现原理
  • 线程池的几种实现方式
  • 线程的生命周期;状态是如何转移的

锁机制

  • 什么是线程安全?如何保证线程安全?
  • 重入锁的概念;重入锁为什么可以防止死锁?
  • 产生死锁的四个条件
  • 如何检查死锁
  • volatile 实现原理
  • synchronized 实现原理(对象监视器)
  • synchronized 与 lock 的区别
  • AQS 同步队列
  • CAS 无锁的概念;乐观锁和悲观锁
  • 常见的原子操作类
  • 什么是 ABA 问题;出现 ABA 问题 JDK 是如何解决的
  • 乐观锁的业务场景及实现方式
  • Java 8 并发包下常见的并发类
  • 偏向锁、轻量级锁、重量级锁、自旋锁的概念

数据库

  • DDL、DML、DCL 分别指什么
  • explain 命令
  • 脏读、幻读、不可重复读
  • 事务的隔离级别
  • 数据库的几大范式
  • 说说分库与分表设计
  • 分库与分表带来的分布式困境与对应之策
  • 说说 SQL 优化之道
  • InnoDB 与 MyISAM 区别、优缺点、使用场景
  • B+树索引、全文索引、哈希索引,的区别
  • 什么是自适应哈希索引(AHI)
  • 为什么要用 B+tree 作为 MySql 索引的数据结构
  • 聚集索引与非聚集索引的区别
  • limit 20000 加载很慢怎么解决
  • 常见的几种分布式 ID 的设计方案

JVM

  • JVM 运行时内存区域划分
  • 常见的 GC 回收算法及其含义
  • 常见的 JVM 性能监控和故障处理工具类
  • JVM 性能调优
  • 类加载器、双亲委派模型
  • 类加载的过程
  • 强引用、软引用、弱引用、虚引用
  • Java 内存模型 JMM

以下是阿里天猫、蚂蚁、钉钉面试题目

不会做别着急:文末有答案以及视频讲解,架构师资料

1. junit用法,before,beforeClass,after, afterClass的执行顺序

2. 分布式锁

3. nginx的请求转发算法,如何配置根据权重转发

4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)

5. 线程的状态

5. 线程的阻塞的方式

6. sleep和wai

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值