前提
前段时间面试的面试题总结了一下,给找工作的人分享一下,每天三个题,加油!!!
1. MVP/MVC/MVVM的区别
- MVC中view是XML布局,Model是实体模型,controller对应Activity,处理数据、业务和UI ,xml太弱了,大量处理view的逻辑只能写在activity中,这样activity充当了view和controller两个角色,导致activity的代码量巨大。
- MVP解决了这种问题,MVP中view是xml布局和Activity,Model依然是实体模型,presenter负责view与model之间的交互业务逻辑,presenter持有该view的接口,对该接口进行操作,而不是直接操作view层。
- MVVM中view对应Activity和xml,负责view的绘制和用户的交互,model仍是实体模型,viewmodel负责完成view与model的交互,负责业务逻辑。viewmodel只需要关注数据和业务逻辑,不需要和UI打交道,MVVM完美的解耦了view层和viewmodel。
总而言之,mvp中view不直接使用model,而是通过presenter来进行,所有的交互在presenter中。而mvc中view可以直接从model中读取数据。mvvm将presenter改名为view model ,但它采用的是双向绑定,view的变动,自动反应在view model中,反之亦然。不需要开发者处理接收事件和view的更新工作。
ps: 一般不直接问三种模式的区别。可能会问各有什么优缺点。
2. 线程池的基础知识
https://www.jianshu.com/p/ad611889787d
3. Integer与int
https://www.jianshu.com/p/7357387cb5a7
ps: 一般出几个题问你相等么?为什么
网友评论