首页 > 小米|Android工程师(可接受java)|一二面|已OC
头像
奇妙能力doge
编辑于 2021-04-29 10:46
+ 关注

小米|Android工程师(可接受java)|一二面|已OC 内部员工回复

一面(1小时30分钟):

自我介绍

1. java三大特点,jvm为什么能实现语言无关,平台无关

2. 什么是多态,为什么会产生多态

3. 封装有什么好处

4. 了解什么设计模式

5. 说说单例模式

6. 手撕DCL双端检索单例代码

7. 为什么这样可以线程安全

8. 里面volitail关键字的作用

9. 说一下多线程下该单例模式的创建过程

10. 实现多线程的方式

11. 手撕生产者消费者(synchronized实现)

12. equals和hashcode的区别,一个相等,另外一个一定相等吗之类的问题

13. 讲讲hashmap

14. hashmap扩容机制,构造方法有几种

二面(1小时50分钟)

自我介绍

1. 说说几种常见的数据结构(链表,队列,栈,哈希表)

2. 说一下hashmap

3. hashmap底层源码看过吗(说看过一点)

4. 手撕hashmap put方法(写伪代码就行,主要是逻辑,不用考虑扩容,红黑树,主要看数组转链表时插入的写法,写的很一般)

5. 手撕二叉树的中序遍历(递归,迭代,莫里斯算法没写出来),递归和迭代的区别

6. 谈谈java中的锁

7. synchronized和lock的区别

8. 什么是悲观锁,乐观锁,可重入锁

9. CAS自旋锁了解吗,讲一下

10. 数据库用过什么

11. redis缓存雪崩是啥(忘了,说了说缓存穿透)

12. redis常用命令都有啥

13. https讲一下,怎么保证安全加密通讯

14. 对称加密和非对称加密的区别

15. 了解什么设计模式

16. 手撕静态代理模式

17. 为什么要用代理模式


-------------------------------------------------------
第一次发面经,回馈牛客,这两轮面试时间太长了,每次到了最后累的都说不清话了,每个点都会深入的问,代码题也写了不少
不过面试官真的很友善,会耐心的指导

更多模拟面试

全部评论

(9) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐