阿里P8 Android架构师面经:淘宝架构演进、组件化方案、闲鱼Flutter实践、跨端一致性
P7+聊完动态加载和热修复,这篇进入P8架构师。P8是阿里的技术高管级别,面试不再问具体API怎么用,而是问系统怎么设计。淘宝App从一个单体工程演进到今天的超级App,架构经历了四次大重构——这段历史就是Android架构设计的教科书。P8面试跟P7+最大的区别:P7+考"这个技术方案怎么实现",P8考"为什么要选这个方案,代价是什么,换你怎么做"。面试官想看的是你做架构决策的能力,不是背书能力。今天8道题覆盖阿里P8架构师核心考点。Q1:淘宝Android架构演进经历了哪几个阶段?单体阶段(2013前):所有代码在一个工程,模块间直接依赖。随着业务扩张编译时间超过10分钟,代码冲突频繁,改一行代码要全量编译。Library模块化(2013-2015):拆成多个Library模块,每个团队负责一个。但Library间依赖混乱——A依赖B,B依赖C,C又依赖A,循环依赖导致编译失败。Atlas插件化(2015-2018):用Atlas框架把每个业务做成独立Bundle,Bundle间通过Launcher通信不直接依赖。编译独立、运行独立、可以动态下发。淘宝首页、购物车、订单都是独立Bundle。Flutter混合架构(2018至今):闲鱼率先引入Flutter做跨端,淘宝跟进。Android原生+Flutter混合栈,原生页面和Flutter页面共存,路由统一调度。Q2:组件化通信怎么做?路由怎么设计?组件化后模块间不能直接import(会引入依赖),通信要走统一接口