中国移动资深Android面经:组件化架构、MVVM落地与模块化编译加速

中国移动资深Android面试:看架构落地与跨团队协同。咪咕、掌厅、和包多业务线并行,组件化/模块化是刚需;同时要求你能带人、定规范、把性能稳定性做成体系。面试官会从一道题往下挖到你的架构决策与踩坑。

Q1:组件化/模块化怎么拆,路由怎么选?

根本原则高内聚低耦合、可独立编译调试。按业务/能力垂直拆 module:基础层(网络/图片/日志/埋点 SDK)→通用层(账号/路由/分享)→业务层(各产品线如咪咕、掌厅、和包各自独立 module)。页面跳转用路由(ARouter 或自研),编译期 apt 生成映射解耦 module 间直接依赖,业务 module 互不可见。资源用 resourcePrefix 防冲突;独立 module 可单编运行提速本地开发。接口下沉到通用层,业务层只依赖接口不依赖实现。

@Route(path="/pay/wallet")
class WalletActivity: AppCompatActivity()
ARouter.getInstance().build("/pay/wallet").navigation()

深度解析:这题考架构权衡。先讲拆分原则,再讲路由怎么解决多团队并行(A 团队改掌厅不影响 B 团队咪咕),最后补踩坑:循环依赖(A 依赖 B、B 又依赖 A)曾让编译死循环,靠抽接口到 base module 解开;资源命名冲突靠 resourcePrefix 强制前缀。

Q2:MVVM在大型App里怎么落地,Repository职责?

数据流单向:UI(View/Compose/XML)← ViewModel(状态+命令)← Repository(数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑伟强dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值