小米面经

小米面试已经有一段时间了,好多问题都不记得了,只能把记得的一些问题写下来。

一面:

线程间通信方式。

线程安全类,hashmap的fail-fast原因,采用

volatile  可见性,原子性,AtomicInteger。

还有handler传递原理,ThreadHandler,IntentServer的原理。涉及到ThreadLocal。

以及,listview怎么实现重复利用的

算法题很简单,翻转链表,3个3个翻转。


二面:

binder实现原理,为什么采用binder,而不采用linux其他进程间通信的方式。

然后是一个算法题。

a可以代表1,b代表2,c代表3......z代表·26,问题是,给你一串数字,写出所有的可能组成的方式。比如11可以代表


忘得差不多了,就先记下这些吧。

在记录下好未来的两道算法题。

一面:

最大子矩阵和,动态规划。

由01组成的举证,求由1组成的最大子矩阵的面积(二维单调栈)。

二面:

最大上升子序列的值(动态规划,类似还有最长上升子序列(连续和非连续),最长公共子序列,)

<think>好的,用户想知道小米公司Java开发岗的面试经验总结和常见问题。我需要先整理一下已有的引用内容,看看有没有相关的信息。 根据引用[4],小米面试经验中提到要突出项目亮点,避免让面试官觉得项目太简单。这说明在准备面试时,项目经验是很重要的部分,需要详细准备每个项目的难点和解决方案。另外,引用[2]提到刷题和掌握核心知识点是关键,所以Java基础、算法题、框架原理这些肯定会被问到。 用户的问题集中在Java开发岗,所以需要具体到Java相关的技术点。比如JVM、多线程、集合框架、Spring框架等。同时,小米可能还会问数据库相关的问题,比如MySQL索引优化、事务隔离级别,以及分布式系统设计,比如缓存、消息队列等。 另外,引用[1]和[3]提到面试官会由浅入深提问,并且有面试真题和专题资料,所以需要涵盖从基础到进阶的内容。可能还需要准备系统设计题,比如高并发场景的设计,这符合高级工程师岗位的要求。 现在需要分点整理,包括技术考察重点、项目经验、算法题、系统设计等。每个部分都要结合引用中的建议,比如项目要突出亮点,技术要深入原理。同时,要生成相关问题,确保覆盖用户可能关心的其他方。</think>### 小米Java开发岗面试经验总结(技术方向) #### 一、技术考察重点 1. **Java核心基础** - JVM内存模型、垃圾回收机制(如CMS/G1区别)[^4] - 多线程:线程池参数设计、`volatile`与`synchronized`底层实现差异 - 集合框架:`ConcurrentHashMap`分段锁原理、`HashMap`扩容优化策略 - 示例问题: *"HashMap在JDK1.8中链表转红黑树的阈值为什么是8?"* 2. **框架原理** - Spring循环依赖解决方式(三级缓存机制) - Spring AOP动态代理实现对比(JDK Proxy vs CGLIB) - MyBatis延迟加载实现原理(代理对象+拦截器) 3. **数据库与分布式** - MySQL索引失效场景及优化方案(需结合EXPLAIN解析) - Redis持久化机制RDB/AOF混合模式应用场景 - Kafka如何通过ISR机制保证消息可靠性 #### 二、项目经验深挖模式 - **重点考察维度**: ```markdown 1. 技术选型合理性:"为什么用RabbitMQ而不是Kafka?" 2. 性能优化实践:"QPS从500提升到2000的具体措施" 3. 异常处理机制:"分布式事务数据不一致的补偿方案" ``` 面试官会要求画出系统架构图并解释关键模块交互[^4] #### 三、算法考核特点 - **典型题目**: ```java // 二叉树层序遍历变体(要求记录每层最大值) public List<Integer> largestValues(TreeNode root) { // 实现代码 } ``` - 小米常考**字符串处理**与**链表操作**类题目 - 需掌握时间复杂度优化方法(如空间换时间策略) #### 四、系统设计高频题 1. 设计短链生成系统(需考虑哈希冲突解决) 2. 实现分布式ID生成服务(Snowflake算法优化) 3. 设计秒杀系统(重点:流量削峰、库存扣减一致性)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值