2020Web前端高频面试题及答案全解析

Web前端面试题

问题一:什么是防抖和节流?有什么区别?

解析:(1)防抖(debounce):触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。

举例:就好像在百度搜索时,每次输入之后都有联想词弹出,这个控制联想词的方法就不可能是输入框内容一改变就触发的,他一定是当你结束输入一段时间之后才会触发。

(2)节流(thorttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。

举例:预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。就好像你在淘宝抢购某一件限量热卖商品时,你不断点刷新点购买,可是总有一段时间你点上是没有效果,这里就用到了节流,就是怕点的太快导致系统出现bug。

(3)区别:防抖动是将多次执行变为最后一次执行,节流是将多次执行变成每隔一段时间执行。

问题二:ICONFONT使用及其利与弊?

把一些零散的icon做成字体。我们调用文字的时候,渲染出来的就是icon图像,这样的显示就是iconfont(字体图标)

好处:iconfont图像放大后,不会失真。iconfont节省流量iconfont在颜色变幻方面很简单缺点:iconfont不能支持一个图像里面混入多重颜色iconfont的使用没有使用图片那么直接,简单。

问题三:在选择框架的时候要从哪方面入手

影响团队技术选型有很多因素,如技术组成,新技术,新框架,语言及发布等。为了更好的考量不同的因素,需要列出重要的象限,如开发效率、团队喜好,依次来决定哪个框架更适合当前的团队和项目。上线时间影响框架选择,不要盲目替换现有框架。

(1)jQuery项目功能比较简单。并不需要做成一个单页面应用,就不需要MV*框架。项目是一个遗留系统。与其使用其他框架来替换,不如留着以后重写项目。

(2)AngularJS当我们在制作一个应用,它对性能要求不是很高的时候,那么我们应该选择开发速度更快的技术栈AngularJS,她拥有混合开发能力的ionic框架。对于复杂的前端应用来说,基于Angular.js应用的运行效率,仍然有大量地改进空间。Angular2需要学习新的语言,需慎重选择。

(3)React选择React有两个原因,一是通过VirtualDOM提高运行效率,二是通过组件化提高开发效率。大型项目首选。选择React还有_个原因是:ReactNative、ReactVR等等,可以让React运行在不同的平台之上。我们还能通过React轻松编写出原生应用,还有VR应用。令人遗憾的是React只是一个View层,它是为了优化DOM的操作而诞生的。为了完成一个完整的应用,我们还需要路由库、执行单向流库、webAP丨调用库、测试库、依赖管理库等等,为了完整搭建出一个完整的React项目,我们还需要做大量的额外工作。

4)Vue.js对于使用Vue.js的开发者来说,我们仍然可以使用熟悉的HTML和CSS来编写代码。并且,Vue.js也使用了VirtualD〇M、Reactive及组件化的思想,可以让我们集中精力于编写应用,而不是应用的性能。对于没有Angular和React经验的团队,并且规模不大的前端项目来说,Vue.js是一个非常好的选择。

以上就是小科今天整理提供的Web前端开发面试题,希望为Web前端同学提供了有用的面试素材,以后小科每日均会提供Python及Web相关的习题提供给大家学习参考。




转载请注明:http://www.aierlanlan.com/rzgz/3762.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了