小米安卓开发一二面面经

秋招结束辽,把之前整理的面经发出来分享分享

小米感觉面得不错,收到恭喜函,可惜没等到开奖,今年每家都有池子啊

一面9.29

1、手撕:使用一个固定长度数组实现队列,包括添加和取数据的功能

2、时间复杂度、空间复杂度,如何优化

3、链表如何优化,可以降低查询的时间复杂度?

4、hashmap插入数据的流程?

5、如何计算hashmap数据插入的位置?

6、如何解决哈希冲突?

7、多线程如何解决线程冲突?

8、手撕:手写一个单例模式

9、volatile 和 synchronized 有什么区别?

10、synchronized 和 lock 有什么区别?

11、synchronized 底层是如何实现加锁操作的?

12、对象、锁、对象监视器相互之间的关系?

13、乐观锁如何实现?缺点有哪些?

14、ThreadLocal 是如何存储的?

15、ThreadLocalMap中遇到冲突是如何处理的?

16、框架部分是如何学习的?遇到问题如何解决?

17、如果转安卓开发,将怎样制定学习路线?

18、对小米的了解?(我说我老米粉了,给面试官整笑了)

反问

(面试之前沟通时我说不会安卓,他也就没问我安卓的东西,面试官人还挺好的)

二面9.30

1、为什么会转码?(…每次面试必问)

2、有一千个键值对的数据,如何设计HashMap的初始容量大小?

3、HashMap的扩容机制是什么样的?

4、ConcurrentHashMap 是如何实现线程安全的?如果让你设计锁的数量你会怎么设计来提高效率?

5、synchronized 底层是如何实现的?

6、ReentrantLock 如何实现公平锁与非公平锁?

7、公平锁与非公平锁的释放有什么区别?

8、线程的 wait 和 block 有什么区别?和 sleep 有什么区别?

9、JVM 中创建一个对象的过程是什么样的?

10、JVM 如何判断一个对象需要被回收?

11、如果电脑内存是4G,已经使用了3G,现在启动一个程序需要超过1G的内存,会发生什么?(内存回收)

12、SpringBoot相比于Spring有什么优势?

13、Spring中控制反转和依赖注入有什么区别和联系?为什么要进行控制反转?有什么好处?

14、单例模式的好处有哪些?应用场景有哪些?

15、三种工厂模式有什么区别?

16、类加载过程是什么样的?

17、双亲委派模型有什么作用?

18、项目中如何设计单点登录?如何实现你这边登陆,另一边强制下线的功能?

19、OSI七层模型介绍一下?应用层有什么协议?

20、三次握手变成两次可不可以?为什么?

21、手撕:二叉搜索树第 k 小的节点

小米面试官感觉都挺好的,不会的问题会进行引导,二面多问些场景题。

#面经分享##小米22届秋招面试#
全部评论
楼主base是南京吗 ?
1
送花
回复
分享
发布于 2022-12-11 09:05 江苏
大佬,是二面过了之后,就没有后续了嘛?有hr面嘛?
点赞
送花
回复
分享
发布于 2023-09-22 08:19 山东
秋招专场
校招火热招聘中
官网直投

相关推荐

南瑞集团 软件开发工程师 15w
点赞 评论 收藏
转发
12 58 评论
分享
牛客网
牛客企业服务