秋招结束辽,把之前整理的面经发出来分享分享小米感觉面得不错,收到恭喜函,可惜没等到开奖,今年每家都有池子啊一面9.291、手撕:使用一个固定长度数组实现队列,包括添加和取数据的功能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.301、为什么会转码?(…每次面试必问)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 小的节点小米面试官感觉都挺好的,不会的问题会进行引导,二面多问些场景题。
点赞 12
评论 2
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务