跳槽字节跳动社招Java面试分享

在这里插入图片描述

Java基础

1、重载和重写的区别。

2、String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的?

3、自动装箱与拆箱。

4、== 与 equals。

5、final 关键字。

6、Object类的常见方法。

7、Java 中的异常处理。

8、获取用键盘输入常用的的两种方法。

9、接口和抽象类的区别是什么。

JVM

1、Java 中会存在内存泄漏吗,简述一下?

2、描述一下 JVM 加载 Class 文件的原理机制?

3、什么是tomcat类加载机制?

4、类加载器双亲委派模型机制?

5、垃圾回收常见问题。

6、什么是GC? 为什么要有 GC?

7、简述一下Java 垃圾回收机制?

8、如何判断一个对象是否存活?

9、垃圾回收的优点和原理,并考虑 2 种回收机制?

10、Java 中垃圾收集的方法有哪些?

11、讲讲你理解的性能评价及测试指标?

12、常用的性能优化方式有哪些?

集合框架

1、Arraylist 与 LinkedList 异同。

2、ArrayList 与 Vector 区别。

3、HashMap的底层实现。

4、HashMap 和 Hashtable 的区别。

5、HashMap 的长度为什么是2的幂次方。

6、HashMap 多线程操作导致死循环问题。

7、HashSet 和 HashMap 区别。

8、ConcurrentHashMap 和 Hashtable 的区别。

9、ConcurrentHashMap线程安全的具体实现方式/底层具体实现。

多线程与并发

1、AQS 原理。

2、AQS 对资源的共享方式。

3、AQS底层使用了模板方法模式。

4、说一说自己对于 synchronized 关键字的了解。

5、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗?

6、讲一下 synchronized 关键字的底层原理。

8、说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗?

9、谈谈 synchronized和ReenTrantLock 的区别。

10、说说 synchronized 关键字和 volatile 关键字的区别。

11、为什么要用线程池?

12、实现Runnable接口和Callable接口的区别。

13、执行execute()方法和submit()方法的区别是什么呢?

14、如何创建线程池。

15、介绍一下Atomic 原子类。

16、JUC 包中的原子类是哪4类?

17、讲讲 AtomicInteger 的使用。

18、能不能给我简单介绍一下 AtomicInteger 类的原理?

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题

在这里插入图片描述

上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以点击进入暗号:csdn

最新整理电子书

在这里插入图片描述

最新整理大厂面试文档

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。一键三连哦!
在这里插入图片描述

谢谢大家的观看!

你可能感兴趣的:(后端,架构,Java面试题整理,java,面试,编程语言,多线程)