千锋教育-做有情怀、有良心、有品质的职业教育机构

领取全套视频

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  面试技巧  >  正文
分享到:

Web前端求职面试之经典Angular面试题

时间:2021-10-15 15:24     来源:千锋郑州校区 作者:千锋郑州

  Web前端之经典Angular面试题有哪些?AngularJS是一个JavaScript框架,是一个以JavaScript编写的库。它可通过<script>标签添加到HTML页面,通过指令扩展HTML,且通过表达式绑定数据到HTML。作为目前流行的框架之一,Angular一直是企业招聘考察的重点,接下来就给大家分享下经典的Angular面试题。

image/20200103/c0da05796825c39ec7aa1688e86b3573.jpeg

  1、解释Angular 2应用程序的生命周期hooks是什么?

  Angular 2组件/指令具有生命周期事件,是由@angular/core管理的。@angular/core会创建组件,渲染它,创建并呈现它的后代。当@angular/core的数据绑定属性更改时,处理就会更改,在从DOM中删除其模板之前,就会销毁掉它。Angular提供了一组生命周期hooks(特殊事件),可以被分接到生命周期中,并在需要时执行操作。构造函数会在所有生命周期事件之前执行。每个接口都有一个前缀为ng的hook方法。例如,ngOnint界面的OnInit方法,这个方法必须在组件中实现。

  #FormatImgID_0#

  2、事件发射器如何在Angular 2中工作的?

  Angular 2不具有双向digest cycle,这是与Angular 1不同的。在Angular2中,组件中发生的任何改变总是从当前组件传播到其所有子组件中。如果一个子组件的更改需要反映到其父组件的层次结构中,我们可以通过使用事件发射器api来发出事件。简而言之,EventEmitter是在@ angular/core模块中定义的类,由组件和指令使用,用来发出自定义事件。

  3、如何优化Angular 2应用程序来获得更好的性能?

  优化取决于应用程序的类型和大小以及许多其他因素。一般来说,在优化Angular 2应用程序时要考虑以下几点:

  1)考虑AOT编译。

  2)确保应用程序已经经过了捆绑,uglify和tree shaking。

  3)确保应用程序不存在不必要的import语句。

  4)确保应用中已经移除了不使用的第三方库。

  5)所有dependencies 和dev-dependencies都是明确分离的。

  6)如果应用程序较大时,我会考虑延迟加载而不是完全捆绑的应用程序。

  4、什么是Shadow DOM?它如何帮助Angular 2更好地执行?

  Shadow DOM是HTML规范的一部分,它允许开发人员封装自己的HTML标记,CSS样式和JavaScript。Shadow DOM以及其它一些技术,使开发人员能够像标签一样构建自己的一级标签,Web组件和API。总的来说,这些新的标签和API被称为Web组件。Shadow DOM通过提供了更好的关注分离,通过其它的HTML DOM元素实现了更少的样式与脚本的冲突。

  因为shadow DOM本质上是静态的,同时也是开发人员无法访问的,所以它是一个很好的候选对象。因为它缓存的DOM将在浏览器中呈现得更快,并提供更好的性能。此外,还可以相对很好地管理shadow DOM,同时检测Angular 2应用的改变,并且可以有效地管理视图的重新绘制。

  5、service怎么使用?

  AngularJS中你可以创建自己的服务,或使用内建服务。

  使用Module的provider方法

  使用Module的factory方法

  使用Module的service方法

  三种方法的比较

  需要在config中进行全局配置的话,只能选择provider方法,factory和service是使用比较频繁的创建服务的方法。

  它们之间的唯一区别是:service方法用于注入的结果通常是new出来的对象,factory方法注入的结果通常是一系列的functions;

  provider是创建服务最为复杂的方法,除非你需要创建一个可以复用的代码段并且需要进行全局配置,才需要使用provider创建;

  所有具有特定性目的的对象都是通过factory方法去创建。

  以上只是企业经常提问的Angular面试题中的部分内容,如果你想了解更多Web前端就业信息,想要进入Web前端行业, 可以先去免费试听一下,专业学习掌握高端技能,做企业需要的人才!

相关文章