每日三个面试题一

2020-11-06  本文已影响0人  crossroads

前提

前段时间面试的面试题总结了一下,给找工作的人分享一下,每天三个题,加油!!!

1. MVP/MVC/MVVM的区别

  1. MVC中view是XML布局,Model是实体模型,controller对应Activity,处理数据、业务和UI ,xml太弱了,大量处理view的逻辑只能写在activity中,这样activity充当了view和controller两个角色,导致activity的代码量巨大。
  2. MVP解决了这种问题,MVP中view是xml布局和Activity,Model依然是实体模型,presenter负责view与model之间的交互业务逻辑,presenter持有该view的接口,对该接口进行操作,而不是直接操作view层。
  3. 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: 一般出几个题问你相等么?为什么

上一篇下一篇

猜你喜欢

热点阅读