java面试题

**

  • **-
    1. 腾讯
      **

**

Java

▲ 41 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?

▲ 27 volatile 关键字解决了什么问题,它的实现原理是什么?
解答:1、可见性,2、原子性 3、防止指令重排
▲ 26 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 26 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
解:synchronized是通过lo
▲ 24 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的?
▲ 20 集合类中的 List 和 Map 的线程安全版本是什么,如何保证线程安全的?
▲ 15 String 类能不能被继承?为什么?
解:不能,因为他是final
▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的?
▲ 11 简述 BIO, NIO, AIO 的区别
解:BIO(堵塞), NIO,(非堵塞)
▲ 11 实现单例设计模式(懒汉,饿汉)
▲ 11 == 和 equals() 的区别?
解:== 是地址相等,equale是对象是否相等
▲ 8 简述 Spring AOP 的原理
解:
▲ 6 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点
解:Synchronized力度比较大,锁全部
voldat
▲ 2 简述 Java 的 happen before 原则

▲ 1 SpringBoot 是如何进行自动配置的?

**

  • 阿里

**

Java

▲ 49 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 41 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 34 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点
▲ 32 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
▲ 26 JVM 中内存模型是怎样的,简述新生代与老年代的区别?
▲ 20 简述 Spring AOP 的原理
▲ 19 实现单例设计模式(懒汉,饿汉)
▲ 17 Java 是如何实现线程安全的
▲ 16 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
▲ 16 Java 类的加载流程是怎样的?什么是双亲委派机制?
▲ 15 简述 Java 的反射机制
▲ 14 Java 中 sleep() 与 wait() 的区别
▲ 13 Java 线程池里的 arrayblockingqueue 与 linkedblockingqueue 的使用场景和区别
▲ 13 String 类能不能被继承?为什么?
▲ 11 Java 中接口和抽象类的区别
▲ 11 JVM 是怎么去调优的?简述过程和调优的结果
▲ 10 hashcode 和 equals 方法的联系
▲ 6 Spring MVC 的原理和流程
▲ 6 手写生产者消费者模型
▲ 5 Java 缓冲流 buffer 的用途和原理是什么?

**

  • 字节跳动

**

Java

▲ 20 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 18 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
▲ 17 hashmap 和 hashtable 的区别是什么?
▲ 15 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 11 HashMap 实现原理,为什么使用红黑树?
▲ 9 hashMap 1.7 / 1.8 的实现区别
▲ 9 简述 Java的反射机制
▲ 6 Java 线程间有多少通信方式?
▲ 6 简述 Synchronized,volatile,可重入锁的不同使用场景及优缺点
▲ 6 Java 类的加载流程是怎样的?什么是双亲委派机制?
▲ 5 简述常见的工厂模式以及单例模式的使用场景
▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别?
▲ 3 Java 常见锁有哪些?ReetrantLock 是怎么实现的?
▲ 3 ThreadLocal 实现原理是什么?
▲ 3 简述 Spring 的初始化流程
▲ 3 简述生产者消费者模型
▲ 1 Java 如何高效进行数组拷贝
▲ 1 CAS 实现原理是什么?
▲ 1 成员变量和方法的区别?
▲ 1 Java 中接口和抽象类的区别

  • Shopee

Java

▲ 14 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 12 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
▲ 9 实现单例设计模式(懒汉,饿汉)
▲ 9 Java 类的加载流程是怎样的?什么是双亲委派机制?
▲ 8 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 8 HashMap 实现原理,为什么使用红黑树?
▲ 6 常用的排序方式有哪些,时间复杂度是多少?
▲ 3 volatile 关键字解决了什么问题,它的实现原理是什么?
▲ 2 JVM 中内存模型是怎样的,简述新生代与老年代的区别?
▲ 2 简述 SortedSet 实现原理
▲ 2 简述使用协程的优点
▲ 1 Java 编译后的 .class 文件包含了什么内容?
▲ 1 什么是公平锁?什么是非公平锁?
▲ 1 如何判断一个 Hash 函数好不好?

**

  • 美团

**

Java

▲ 22 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 22 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 19 Java 的线程有哪些状态,转换关系是怎么样的?
▲ 18 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
▲ 15 Java 怎么防止内存溢出
▲ 13 简述常见的工厂模式以及单例模式的使用场景
▲ 12 简述 BIO, NIO, AIO 的区别
▲ 11 Java 类的加载流程是怎样的?什么是双亲委派机制?
▲ 11 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
▲ 11 实现单例模式
▲ 9 volatile 关键字解决了什么问题,它的实现原理是什么?
▲ 9 hashcode 和 equals 方法的联系
▲ 9 什么是重写和重载?
▲ 7 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的?
▲ 7 JVM 中内存模型是怎样的,简述新生代与老年代的区别?
▲ 5 简述装饰者模式以及适配器模式
▲ 5 什么情况下会发生死锁,如何解决死锁?
▲ 4 简述 Java 中 final 关键字的作用
▲ 4 ThreadLocal 实现原理是什么?

  • **
  • 滴滴

**

Java

▲ 8 什么是重写和重载?
▲ 7 简述并实现工厂模式,工厂模式有什么常见问题?
▲ 5 Java 常见锁有哪些?ReetrantLock 是怎么实现的?
▲ 3 HTTP 中 GET 和 POST 区别
▲ 2 Java 有几种基本数据类型,分别占多少字节?
▲ 1 Java 中 int 的最大值是多少?
▲ 1 简述封装、继承、多态的特性及使用场景

**

  • 百度

**

Java

▲ 7 简述 Java 的反射机制及其应用场景
▲ 6 String 为什么是 final?
▲ 6 volatile 关键字解决了什么问题,它的实现原理是什么?

**

  • 京东

**

Java

▲ 15 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 15 Java 类的加载流程是怎样的?什么是双亲委派机制?
▲ 14 hashMap 1.7 / 1.8 的实现区别
▲ 14 String,StringBuffer,StringBuilder 之间有什么区别?
▲ 14 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
▲ 13 线程池是如何实现的?简述线程池的任务策略
▲ 13 简述 CAS 原理,什么是 ABA 问题,怎么解决?
▲ 12 volatile 关键字解决了什么问题,它的实现原理是什么?
▲ 11 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 11 什么是公平锁?什么是非公平锁?
▲ 10 == 和 equals() 的区别?
▲ 9 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
▲ 9 简述常见的工厂模式以及单例模式的使用场景
▲ 9 Java 中接口和抽象类的区别
▲ 9 JAVA 创建多线程的方法有哪些?
▲ 8 简述 GC 引用链,G1收集器原理
▲ 7 volatile 关键字解决了什么问题,它的实现原理是什么?
▲ 7 简述 Spring 注解的实现原理
▲ 6 Spring MVC 的原理和流程
▲ 6 Java 怎么防止内存溢出

**

  • 快手

**

Java

▲ 19 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的?
▲ 13 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
▲ 12 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 11 简述 CAS 原理,什么是 ABA 问题,怎么解决?
▲ 9 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点
▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的?
▲ 8 == 和 equals() 的区别?
▲ 7 实现单例设计模式(懒汉,饿汉)
▲ 6 Java 常见锁有哪些?ReetrantLock 是怎么实现的?
▲ 6 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么?
▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别?
▲ 5 如何解决 TCP 传输丢包问题?
▲ 5 volatile 关键字解决了什么问题,它的实现原理是什么?
▲ 4 线程池是如何实现的?简述线程池的任务策略
▲ 3 简述 Spring 注解的实现原理

**

  • 拼多多

**

Java

▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的?
▲ 9 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?
▲ 7 如何设计一个线程池
▲ 6 如何设计 Java 的异常体系?
▲ 6 简述常见的工厂模式以及单例模式的使用场景
▲ 5 Spring MVC 的原理和流程
▲ 4 实现单例模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值