2022/5/31 字节客户端剪映二面
二面:
1. 自我介绍一下吧。
2. 平常用什么编程语言比较多?
3. 有用过kotlin吗?
4. java中sychronized关键字的实现的机制是什么?
5. 讲讲sychronized中的锁膨胀策略。
6. 自旋锁、重量锁有什么区别?
7. 如何理解自旋锁的自旋?
8. 介绍一下读写锁和普通的锁的区别。
9. 操作系统如何实现读写锁?
10. 什么情况下使用读写锁?
11. Linux/Unix下怎样调用系统调用进行线程同步?
12. volatile关键字有什么作用?
13. 操作系统的共享内存的机制是如何是实现的?
14. 共享内存位于哪个位置?
15. 你的意思是,对于线程来说,有独立的栈空间,堆区是共享的吗?
16. 线程栈和线程函数的栈有什么关系? – 栈帧
17. 讲一下死锁?
18. 死锁发生在进程之间还是线程之间?
19. 如何避免死锁?
20. 在开发过程中如何避免死锁?
21. 你说了规定资源申请的顺序,哪还有什么其他的方式避免死锁吗?
22. 说一下线程池的使用场景和机制。
23. 线程池是如何保证里面的线程执行完后不被GC而是保存在池子里面等待被重新调用?
24. 算法:先升序再降序的数组,找到不重复的数字的个数[10,30,40,30,10] ->[10,30,40].length 。