首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

已中招!Android 基础面试常常吊死在这几个问题上……

通常的做法是数据存储 ViewModel 类(因为它在配置更改期间保留数据),并使用 OnSaveInstanceState 存储少量UI数据。 面试官:回答得不错!...创建视图需要花费时间,因此您的滚动很可能不会很流畅。这就是为什么 RecyclerView 会利用以下事实:滚动时,出现在屏幕上,而行消失屏幕上。...代替为每个行创建视图,而是通过数据绑定视图来对其进行回收重用! 应聘者:我学到了! 18、面试官:再说一下RecyclerView与ListView有何不同?...因此,该活动理想情况下实现一个视图界面,从而使单元测试更加容易(因为这将在没有视图的情况下起作用) MVVM 是 Model-View-ViewModel 体系结构。它本质上就是 MVC 的改进版。...MVVM 就是将其中的 View 的状态行为抽象化,让我们视图 UI 业务逻辑分开。

2K20

从Vue.js窥探前端行业

2.前端交互越来越多,功能越来越复杂: 现在的前端可谓是包罗万象,比如高大上的技术库框架、酷炫的运营活动页面、H5小游戏,当然前端技术的应用在更多具有商业价值的应用上,比如下图。 ?...3.架构从传统后台MVC向REST API+ 前端 MV*(MVC、MVP、MVVM) 迁移 传统的MVC下,当前前端后端发生数据交互后会刷新整个页面,从而导致比较差的用户体验。...MVVM架构下,视图数据是不能直接通讯的,它会通过ViewModel这个中间件来通讯。...ViewModel起的是一个观察者的职位:当数据变化,ViewModel观察到变化,并通知视图做相应的更新;而用户操作视图,ViewModel也能监听到变化,然后通知数据做改动,从而实现了数据的双向绑定...1.它是一个轻量级MVVM框架(只有20来kb) 2.核心思想   ①数据驱动:数据(model)改变驱动视图(view)自动更新,DOM是数据的一种自然映射   ②组件化:扩展HTML元素,封装可重用的代码

1.7K80
您找到你想要的搜索结果了吗?
是的
没有找到

常见的面试问题总结

活动对象 ​ 一个函数对象被调用的时候,会创建一个活动对象,首先将该函数的每个形参实参,都添加为该活动对象的属性值;将该函数体内显示声明的变量函数,也添加为该活动的的属性(刚进入该函数执行环境时...然后这个活动对象做为该函数执行环境的作用域链的最前端,并将这个函数对象的[[scope]]属性里作用域链接入到该函数执行环境作用域链的后端....MVP模式概要 1.MVP是从MVC进化而来,即Model、View、Presenter;ViewModel同MVC的MV,MVP只是MVC的Controller变成了Presenter; 2...MVVM模式概要 1.MVVM是由MVP进化而来,MVVM模式基本上与MVP相同,只是把MVP的P变成了VM,即ViewModel, 2.MVVM数据可以实现双向绑定,即View层数据变化则ViewModel... --View层 --VUE的单向绑定 --View层 --VUE的双向绑定 2)准备数据层 data

48030

8月总结高频vue面试题

、尾、头、尾....MVVM出现促进了前端开发与后端业务逻辑的分离,极大地提高了前端开发效率,MVVM 的核心是 ViewModel 层,它就像是一个中转站(value converter),负责转换 Model 数据对象来让数据变得更容易管理使用...MVVM 框架实现了双向绑定,这样 ViewModel 的内容会实时展现在 View 层,前端开发者再也不必低效又麻烦地通过操纵 DOM 去更新视图MVVM 框架已经把最脏最累的一块做好了,我们开发者只需要处理维护...Vue 实现响应式并不是在数据发生后立即更新 DOM,使用 vm.$nextTick 是在下次 DOM 更新循环结束之后立即执行延迟回调。修改数据之后使用,则可以回调获取更新后的 DOM。...diff算法的优化策略:四种命中查找,四个指针 前与前(先比开头,后插入删除节点的这种情况) 后与后(比结尾,前插入或删除的情况) 前与后(头与尾比,此种发生了,涉及移动节点,那么前指向的节点

46340

前端必会vue面试题(必备)_2023-03-15

vue初始化页面闪动问题使用vue开发时,vue初始化之前,由于div是不归vue管的,所以我们写的代码还没有解析的情况下会容易出现花屏现象,看到类似于{{message}}的字样,虽然一般情况下这个时间很短暂...结果返回给前端,页面重新渲染MVVM:传统的前端会将数据手动渲染到页面上, MVVM 模式不需要用户收到操作 dom 元素,数据绑定到 viewModel 层上,会自动数据渲染到页面视图变化会通知...Model层代表数据模型,View代表UI组件,ViewModel是ViewModel层的桥梁,数据绑定到viewModel层并自动数据渲染到页面视图变化的时候会通知viewModel层更新数据...MVVM 使用当中,利用双向绑定技术,使得 Model 变化时,ViewModel 会自动更新,而 ViewModel 变化时,View 也会自动变化。...;双向数据绑定:保留了 angular 的特点,在数据操作方面更为简单;组件化:保留了 react 的优点,实现了 html 的封装重用,构建单页面应用方面有着独特的优势;视图数据,结构分离:使数据的更改更为简单

47630

2022必会的vue高频面试题(附答案)

MVVMMVVM 新增了 VM 类ViewModel 层:做了两件事达到了数据的双向绑定 一是【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。...因为 MVVM ,View 不知道 Model 的存在,Model ViewModel 也观察不到 View,这种低耦合模式提高代码的可重用性注意:Vue 并没有完全遵循 MVVM 的思想 这一点官网自己也有说明那么问题来了...这种缓冲时去除重复数据对于避免不必要的计算 DOM 操作是非常重要的。然后,在下一个的事件循环tick,Vue 刷新队列并执行实际(已去重的)工作。...diff算法的优化策略:四种命中查找,四个指针前与前(先比开头,后插入删除节点的这种情况)后与后(比结尾,前插入或删除的情况)前与后(头与尾比,此种发生了,涉及移动节点,那么前指向的节点...Vue 实现响应式并不是在数据发生后立即更新 DOM,使用 vm.$nextTick 是在下次 DOM 更新循环结束之后立即执行延迟回调。修改数据之后使用,则可以回调获取更新后的 DOM。

2.8K40

vue面试题+答案,2021前端面试

MVVM MVVM 新增了 VM 类 ViewModel 层:做了两件事达到了数据的双向绑定 一是【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。...vue的优点 轻量级框架:只关注视图层,是一个构建数据视图集合,大小只有几十kb; 简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解学习; 双向数据绑定:保留了angular的特点,在数据操作方面更为简单...diff算法的优化策略:四种命中查找,四个指针 前与前(先比开头,后插入删除节点的这种情况) 后与后(比结尾,前插入或删除的情况) 前与后(头与尾比,此种发生了,涉及移动节点,那么前指向的节点...,移动到后之后) 后与前(尾与头比,此种发生了,涉及移动节点,那么前指向的节点,移动到前之前) v-for 为什么要加 key 如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改...虚拟DOM本质上是JavaScript对象,是对真实DOM的抽象 状态变更时,记录树的差异 最后把差异更新到真正的dom Vue 初始化页面闪动问题如何解决?

1.3K00

安卓开发的Model-View-Presenter(MVP模式)

对于层之间的通信,经典的MVP案例,我们发现它是通过回调完成的(这将最终把我们的应用程序变成回调地狱),而在MVVM LiveData中使用,虽然它允许我们避免回调,但它没有为我们提供大量的操作符来操作数据...像这样,我们可以使用RxJava我们的服务,所以我们可以操作数据与我们所有这个库提供的运营商LiveData视图的一部分,这将使我们能够使一个实现,意识到我们的活动的生命周期的变化,甚至使用谷歌提供的视图模型...View Android,我们的视图的实现将对应于一个活动或一个片段(示例/项目中是片段),但它可以是一个ViewModel,甚至是一个可视化组件。...这里不讨论视图是由N个片段组成的活动的情况,因为每个片段都有M个演示者,我们可以假设视图是这些片段的每一个,尽管它们随后被分组到一个片段(甚至另一个片段)。...此外,这个视图模型可以直接数据绑定注入到XML,并使用LiveData将可视化组件绑定到LiveData的可观察对象。

1.6K30

前端vue面试题汇总

MVVMMVVM 新增了 VM 类ViewModel 层:做了两件事达到了数据的双向绑定 一是【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。...Vue 实现响应式并不是在数据发生后立即更新 DOM,使用 vm.$nextTick 是在下次 DOM 更新循环结束之后立即执行延迟回调。修改数据之后使用,则可以回调获取更新后的 DOM。...我们 vue 项目中主要使用 v-model 指令表单 input、textarea、select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件...nextTick 使用场景原理nextTick 的回调是在下次 DOM 更新循环结束之后执行的延迟回调。修改数据之后立即使用这个方法,获取更新后的 DOM。...的出现促进了前端开发与后端业务逻辑的分离,极大地提高了前端开发效率,MVVM 的核心是 ViewModel 层,它就像是一个中转站(value converter),负责转换 Model 数据对象来让数据变得更容易管理使用

63230

2020vue面试题及答案_人际关系面试题及答案

1、虚拟DOMkey的作用: key是虚拟DOM对象的标识,当状态数据发生变化时,Vue会根据【数据】生成【的虚拟DOM】,随后Vue进行【虚拟DOM】的差异比较,比较规则如下...: 2、key的对比规则: 1、虚拟DOM中找到了与虚拟DOM相同的key: 若虚拟DOM内容没变,直接使用之前的真实DOM 若虚拟DOM内容变了,则生成的真实DOM,随后替换掉页面之前的真实...DOM 2、虚拟DOM未找到与虚拟DOM相同的key 创建的真实DOM,随后渲染到页面 3、用index作为key可能会引发的问题: 1、若对数据进行:逆序添加、...Model 层代表数据模型,也可以Model定义数据修改操作的业务逻辑;View 代表UI 组件,它负责数据模型转化成UI 展现出来,ViewModel 是一个同步View Model的对象...然后,使⽤Vue.extend⽅法创建⼀个组件,然后使⽤Vue.component⽅法注册组件。⼦组件需要数据,可以props接受定义。⽽⼦组件修改好数据后,想把数据传递给⽗组件。

8.7K20

前端工程师的vue面试题笔记

diff 算法的过程,先会进行新旧节点的首尾交叉对比,当无法匹配的时候会用节点的 key 与节点进行比对,从而找到相应节点.更准确 : 因为带 key 就不是就地复用了, sameNode 函数...的出现促进了前端开发与后端业务逻辑的分离,极大地提高了前端开发效率,MVVM 的核心是 ViewModel 层,它就像是一个中转站(value converter),负责转换 Model 数据对象来让数据变得更容易管理使用...,该层向上与视图层进行双向数据绑定,向下与 Model 层通过接口请求进行数据交互,起呈上启下作用(1)View 层View 是视图层,也就是用户界面。...MVVM 框架实现了双向绑定,这样 ViewModel 的内容会实时展现在 View 层,前端开发者再也不必低效又麻烦地通过操纵 DOM 去更新视图MVVM 框架已经把最脏最累的一块做好了,我们开发者只需要处理维护...Vue 实现响应式并不是在数据发生后立即更新 DOM,使用 vm.$nextTick 是在下次 DOM 更新循环结束之后立即执行延迟回调。修改数据之后使用,则可以回调获取更新后的 DOM。

66230

前端面试之Vue

Vue 面试专题 简述MVVM 什么是MVVM视图模型双向绑定,是Model-View-ViewModel的缩写,也就是把MVC的Controller演变成ViewModel。...Model层代表数据模型,View代表UI组件,ViewModel是ViewModel层的桥梁,数据绑定到viewModel层并自动数据渲染到页面视图变化的时候会通知viewModel层更新数据...以前是操作DOM结构更新视图,现在是数据驱动视图MVVM的优点: 1.低耦合。...Compile主要做的事情是解析模板指令,模板变量替换成数据然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加鉴定数据的订阅者,一旦数据有变动,收到通知,更新试图 传送门:☞ 20...vue的diff函数,会根据节点的key去对比节点数组的key,从而找到相应节点。如果没找到就认为是一个新增节点。而如果没有key,那么就会采用遍历查找的方式去找到对应的节点。

3.6K30

jQuery 已经落幕了~

jQuery 之前,使用 JavaScript 操作 DOM 需要定义一个函数,然后将其绑定到特定 DOM 的各种 HTML 元素,这对于日常使用来说非常繁琐复杂。...,然后使用适当的方式。  ...MVVM 架构由 Model、View、ViewModel 三部分构成,Model 层代表数据模型,可定义数据修改操作的业务逻辑;View 代表 UI 组件,负责数据模型转化成 UI 展现,ViewModel...由于 MVVM 结构实现了数据视图的分离,并通过数据来驱动视图,封装 DOM 操作,数据视图绑定变成了自动化的操作,进而把 DOM 操作从业务代码移除,这就导致 jQuery 很多场景失去了用武之地...在对 jQuery 的评价,有这么一句流传甚广的话:“任何一个程序员,都可以用三天的时间学会 jQuery 的基本用法并投入使用”。

61620

滴滴前端一面常考vue面试题(持续更新)_2023-03-13

虚拟DOM本质上是JavaScript对象,是对真实DOM的抽象状态变更时,记录树的差异最后把差异更新到真正的dom参考 前端进阶面试题详细解答为什么Vue采用异步渲染呢?...的出现促进了前端开发与后端业务逻辑的分离,极大地提高了前端开发效率,MVVM 的核心是 ViewModel 层,它就像是一个中转站(value converter),负责转换 Model 数据对象来让数据变得更容易管理使用...MVVM 框架实现了双向绑定,这样 ViewModel 的内容会实时展现在 View 层,前端开发者再也不必低效又麻烦地通过操纵 DOM 去更新视图MVVM 框架已经把最脏最累的一块做好了,我们开发者只需要处理维护...diff算法的优化策略:四种命中查找,四个指针前与前(先比开头,后插入删除节点的这种情况)后与后(比结尾,前插入或删除的情况)前与后(头与尾比,此种发生了,涉及移动节点,那么前指向的节点...出现该问题是因为 Vue 代码尚未被解析之前,尚无法控制页面 DOM 的显示,所以会看见模板字符串等代码。

78120

腾讯前端二面常考vue面试题(附答案)_2023-02-27

优点: 分离视图(View)模型(Model),降低代码耦合,提⾼视图或者逻辑的重⽤性: ⽐如视图(View)可以独⽴于Model变化修改,⼀个ViewModel可以绑定不同的"View"上,当View...MVVM MVVM 新增了 VM 类 ViewModel 层:做了两件事达到了数据的双向绑定 一是【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。...因为 MVVM ,View 不知道 Model 的存在,Model ViewModel 也观察不到 View,这种低耦合模式提高代码的可重用性 注意:Vue 并没有完全遵循 MVVM 的思想 这一点官网自己也有说明...Vue 实现响应式并不是在数据发生后立即更新 DOM,使用 vm.$nextTick 是在下次 DOM 更新循环结束之后立即执行延迟回调。修改数据之后使用,则可以回调获取更新后的 DOM。...MVVM框架要解决的一个核心问题是连接数据视图层,通过数据驱动应用,数据变化,视图更新,要做到这点的就需要对数据做响应式处理,这样一旦数据发生变化就可以立即做出更新处理 以vue为例说明,通过数据响应式加上虚拟

55120

六、 Web架构设计

MVC是构建应用框架的一个较好模式,业务处理显示分离,应用分为控制器、模型视图,增加了应用的可扩展性、强壮性灵活性。...MVVM流程图 image.png 对比:MVP进化而来,Presenter变成View Model,实现数据双向绑定,提升数据的一致性。...MVVM优点:数据可以实现双向绑定,当Model变化时,View-Model会自动更新,view也会自动变化。很好做到数据一致性。适合逻辑比较复杂的前端项目。...缓存方面:Hibernate使用二级缓存时如果出现数据,系统会报出错误并提示。Mybatis脏读不报错。...ORM:对象关系映射,是通过使用描述对象和数据库之间映射的元数据面向对象语言程序的对象自动持久化到关系数据。 ORM优点 1、降低学习开发成本。 2、程序员不用再写SQL进行数据库操作。

57730

软件工程导论期末救急包(

然后模型用业务逻辑来响应用户的请求并返回数据;最型后控制器用视图表示模型返回的数据呈现给用户。...c)         视图模型层(ViewModel):该层主要负责Model层与View层的通信以及数据视图绑定数据封装并传递至视图层,视图的行为与状态的变换传递到Model层。  ...MVVM与前后端分离开发。 课程案例采用前后端分离架构开发。该架构,后端对应MVVM模式的Model层,围绕数据库系统进行业务逻辑的处理,封装数据(主要为JSON格式)并传输至前端。...前端对应MVVM模式的ViewModel层View层。前端从后端获取的数据通过JavaScipt代码进行二次封装,以生成符合View层使用预期的视图数据模型,以网页形式展示。...视图模型层(ViewModel):该层主要负责Model层与View层的通信以及数据视图绑定数据封装并传递至视图层,视图的行为与状态的变换传递到Model层。

24220

校招前端二面高频vue面试题1

出现该问题是因为 Vue 代码尚未被解析之前,尚无法控制页面 DOM 的显示,所以会看见模板字符串等代码。...diff算法的优化策略:四种命中查找,四个指针前与前(先比开头,后插入删除节点的这种情况)后与后(比结尾,前插入或删除的情况)前与后(头与尾比,此种发生了,涉及移动节点,那么前指向的节点...通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据MVC 的思想:一句话描述就是 Controller 负责 Model 的数据用 View 显示出来,换句话说就是 Controller...MVVMMVVM 新增了 VM 类ViewModel 层:做了两件事达到了数据的双向绑定 一是【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。...当数据变化后,执行 render function 就可以得到一个的 VNode 节点,我们如果想要得到视图,最简单粗暴的方法就是直接解析这个的 VNode 节点,然后用 innerHTML 直接全部渲染到真实

52040
领券