问题一:简述重绘和重排的联系
解析:重绘不会引起重排,但重排一定会引起重绘,一个元素的重排一般会带来一系列的反响,甚至触发整个文档的重排和重绘,功能代价是昂扬的。
问题二:简述重绘的概念
解析:重绘是一个元素外观的改动所触发的浏览器行为,例如改动visibility、outline、背景色等特点。浏览器会根据元素的新特点重新制作,使元素出现新的外观。因为浏览器的流布局,对烘托树的核算一般只需求遍历一次就可以完成。但table及其内部元素在外,它或许需求屡次核算才干确定好其在烘托树中节点的特点值,比同等元素要多花两倍时刻,这便是咱们尽量防止使用table布局页面的原因之一。
问题三:什么情况下会触发重排?
解析:*页面烘托初始化时;(这个无法防止)
*浏览器窗口改动尺寸;
*元素尺寸改动时;
*元素位置改动时;
*元素内容改动时;
*添加或删去可见的DOM元素时。
问题四:redux有什么缺点
1.一个组件所需求的数据,必须甶父组件传过来,而不能像flux中直接从store取。2.当一个组件相关数据更新吋,即便父组件不需求用到这个组件,父组件仍是会重新render,或许会有效率影响,或者需求写复杂的shouldComponentUpdate进行判别。
问题五:说说你对MVC和MVVM的理解
mvc:View传送指令到ControllerController完成事务逻辑后,要求Model改动状态Model将新的数据发送到View,用户得到反馈所有通讯都是单向的。Angular它采用双向绑定(data-binding):View的变动,主动反映在ViewModel,反之亦然。组成部分Model、View、ViewModel
View:UI界面ViewModel:它是View的笼统,负责View与Model之间信息转换,将View的Command传送到Model;Model:数据访问层
以上便是指尖今天收拾供给的Web前端开发面试题,期望为Web前端同学供给了有用的面试资料,以后指尖每日均会供给Python及Web相关的习题。
面试官常问的问题
你怎么理解盒子模型?
盒子模型是咱们刚开始接触WEB前端常常遇到名词,其实这是一道送分题啊!其实在网页中,页面中每个标签元素都是由标签内容、外边距、内边距、边框组成,如果这样回答的话,能够说是及格分了,但是不能算是优异了,需求加上这句话“盒子模型包括标准模型和IE模型,IE模型包括的内容包括边框、内边距”就能够了。
HTML的样式表导入有几种办法?有什么区别?
答:1、link标签导入,是HTML的样式表导入最为遍及的一种办法,这种办法除了导入样式表,还能界说rel、type等特点。
2、@import引进,这种办法是css内部引证,只能用于加载其他样式表。
3、sytle内部嵌入式,只对当时的HTML页面有效,其他HTML页面不能调用,这种办法会导致增加不必要的代码,不利于后期的页面维护,一般不主张这种方法导入样式表。
简述一下块元素和内联元素的区别?
块元素:默认会占一行,能够设置宽、高特点,能够设置外边距和内边距,能够使用display:block声明块元素,常见块元素有a、b、span、img、input等。
内联元素:默认不会换行,直到当时这一行占满才换行,内联元素不能直接设置宽和高,能够使用display::inline声明块元素,常见内联元素ul、ol、li、dl、dt等。