快捷搜索: 王者荣耀 脱发

大厂小米面试题(含部分答案)-20210301

算法题

1.饿汉模式的两种写法,一个方法块的,一个代码段的

2.怎么判断一个链表有没有回环,讲述时间复杂度和空间复杂度(一定要判断是否为空,在算法题中,会有加分)

基础

1.protected的访问范围是什么,private和protected的区别是什么

2.volatile的原理,保证了多线程的什么特性?

    可见性,有序性,有序性中的可见性,有序性。

3.synchronized会导致死锁吗?什么情况下会出现死锁的情况

    互斥:共享资源X被T1占用时,其他线程不允许使用共享资源X 占有且等待:线程T1占有共享资源X,在等待共享资源Y的时候,不释放共享资源X 不可抢占:其他线程不可抢占T1线程的资源 循环等待:T1等待T2占有的资源,T2等待T1占有的资源

4.死锁的发生条件是什么?

    同时满足以上四个条件

5.有什么情况可以识别出多线程情况是否发生了死锁的情况

    jstack查看 通过Jconsole分析快照

6.synchronized可以修饰什么

经验分享 程序员 微信小程序 职场和发展