字节跳动-西瓜视频-日常实习二面面经
11月16日 17:00 – 18:00
1. 自我介绍
2. 面试官自我介绍(这个面试官超赞!超温柔的小哥哥!面试过程体验极佳)
3. 什么时候能来实习?能实习多久?
4. 先手写一个线程安全的单例模式
5. 你写的单例模式中的单例对象为什么要用volatile来修饰,有什么用?
6. volatile除了单例模式中的防止重排序的作用还有什么作用?
7. 你在写单例模式的时候用synchronized对类加锁,那我想问一下synchronized对静态类加锁和对普通成员方法加锁有什么差别?
8. synchronized在java的不同版本中有很大的变化,你知道有什么变化吗?
9. 你刚刚说到一个锁的膨胀,请问锁的膨胀过程是怎么样的呢?
10.你能解释一下CAS吗?
11.CAS有什么问题呢?应该怎么解决?
12.java多线程中有个sleep函数,请问sleep(0)和sleep(1)有什么区别?
13.我们如何主动中断一个线程?
14.Java的泛型有了解过吗?
15.有人说java的泛型是伪泛型,你知道什么是泛型擦除吗?
16.我们来聊聊HashMap,先来讲讲HashMap的底层结构吧?
17.HashMap的是如何将一个数据放进去的呢?
18.为了减少hash冲突,一个好的hash函数很重要,HashMap中使用的hash函数是什么呢?
19.HashMap是线程不安全的,那有没有线程安全的HashMap呢?
20.ConcurrentHashMap是如果保证线程安全的呢?
21.ConcurrentHashMap是如何获取size()的呢?会遇到什么问题?
22.HashMap就到这里吧,我们再来聊聊try catch。给了一段try catch的代码,问输出是什么样的;再改了一下,给catch里面的代码加上了return语句,问输出是什么样子的?final语句是在return是运行在catch语句块中的return前还是return后
23.你知道final关键字吗?final关键字修饰类、方法和变量有什么区别?
24.java基础问得差不多了,我们再来说一说网络吧,HTTP2.0相比于HTTP1.0有什么特别之处吗?
25.你刚刚提到了HTTPS,来讲一下HTTPS的加密过程吧(高频题目!!!)
26.你最近有遇到什么觉得很困难的事情吗?你是如何面对这个困难的事情的呢?
#Java开发##字节跳动##面试题目#