**
- **-
- 腾讯
**
- 腾讯
**
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 实现单例模式