20190808面试记录

Angular的核心?

组件,指令,服务,依赖注入

性能优化?

1、减少http请求(图片压缩合并,css压缩合并,js文件压缩合并)

2、检查是否有重定向问题

3、检查是否一个列表有多次请求问题

4、减少DOM数量

5、延迟加载

6、提前加载

7、能用css做的尽量不要用js去做,能有原生写的尽量不引用外部插件

8、减少cookie的使用

9、尽量不用iframe

10、前端和后台协调,使用相应资源的压缩

11、根据需求使用ajax缓存

12、减少dom操作

13、减量不嵌套循环

14、css放head尽量不使用@import,因为@import是同步操作,只有把对应的样式导入后,才会继续向下加载,而link是异步的操作

15、css设置定位后最好设置z-index改变盒子的层级

16、使用window.requestAnimationFrame代替传统的定时器动画,如果可以使用setTimeout代替的setInterval就尽量不用setInterval

17、script标签放在底部加载

18、绑定多个事件的时候可以使用事件委托,减少循环给元素绑定事件

19、减少flash的使用

20、合理利用本地缓存

21、尽量给动画设置单独的一个图层(避免重绘和回流)

AMD和CMD的标准?现阶段使用的都是什么标准?

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。

AMD推崇依赖就近

CMD推崇依赖前置

// CMD
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// 此处略去 100 行
var b = require('./b') // 依赖可以就近书写
b.doSomething()
// ... 
})// AMD 默认推荐的是
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// 此处略去 100 行
b.doSomething()
...
})

现阶段大部分框架用的较多应该是AMD,依赖前置

TypeScript的多态?

父类定义了一个接口,子类有多种实现

 

AngularJS的依赖注入?

依赖注入(DI)是用来创建对象及其依赖的其它对象的一种方式。 当依赖注入系统创建某个对象实例时,会负责提供该对象所依赖的对象(称为该对象的依赖)。

@Injectable 装饰器会指出这些服务或其它类是用来注入的。它还能用于为这些服务提供配置项。

providers 告诉 Angular,它的根注入器要负责调用类的构造函数来创建一个实例,并让它在整个应用中都是可用的。

组件中的providers服务还可以提供给指定的组件。在组件级提供的服务只能在该组件及其子组件的注入器中使用。

import { Component } from '@angular/core';
import { HeroService } from './hero.service';@Component({selector: 'app-heroes',providers: [ HeroService ],template: `<h2>Heroes</h2><app-hero-list></app-hero-list>
  `
})
export class HeroesComponent { }

 

Angular的脏值检查不再被吐槽呢?

Angular 使用了 zone.js 这个大杀器来跟踪异步任务,并进行脏检查

每一个组件都都它自己的检测器(detector),用于负责检查其自身模板上绑定的变量。所以每一个组件都可以独立地决定是否进行脏检查。

Angular 中组件是以树的形式组织起来的,相应地,检测器也是一棵树的形状。当一个异步事件发生时,脏检查会从根组件开始,自上而下对树上的所有子组件进行检查。相比 Angular1 中的带有环的结构,这样的单向数据流效率更高,而且容易预测

<!--value是数据绑定,input是事件绑定-->
<input [value]="currentHero.name"   (input)="currentHero.name=$event.target.value">
<!--等价-->
<input [(ngModel)]="currentHero.name">

而Angular2接入了ZoneJS,由它监听了Angular所有的异步事件。ZoneJS重写了所有的异步API(所谓的猴子补丁,MonkeyPath)。ZoneJS会通知Angular可能有数据发生变化,需要检测更新

Angularjs采用的是双向数据流,错综复杂的数据流使得他不得不多次检查,使得数据最终趋向稳定

 

 

 

转载于:https://www.cnblogs.com/llcMite/p/11325659.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你真的了解计算生物学和AI for Science吗?

来源&#xff1a;量子位Q1&#xff1a;AlphaFold2的最大意义是什么&#xff1f;A1&#xff1a;这个看似突破性的进展&#xff0c;其实是技术演进的必然结果。 此外&#xff0c;如果我们换个视角来看待这个问题&#xff0c;蛋白质结构预测仅仅是计算生物学这个大门类里面一个相对…

excel字符串反转

1.新建空白sheet2.altf11调出VB3.插入-模块-填入自定义函数Function REVERSE(Str As String)REVERSE StrReverse(Str)End Function 转载于:https://www.cnblogs.com/AWNUygah/p/11350843.html

Stephen Wolfram专访Judea Pearl:从贝叶斯网络到元胞自动机

来源&#xff1a; 集智俱乐部编译&#xff1a;闫和东、徐培 编辑&#xff1a;邓一雪 导语2022年人工智能与数学国际研讨会&#xff08;ISAIM 2022&#xff09;恰逢著名计算机科学家、贝叶斯网络之父 Judea Pearl 85岁生日&#xff0c;会议期间Mathematica创始人 Stephen Wolfra…

excel常用函数

1.截取字符串函数 left&#xff08;&#xff09;   从左边截取 mid()    从中间截取 right()    从右边截取 转载于:https://www.cnblogs.com/AWNUygah/p/11350904.html

day32 并发编程之锁

并发编程之锁 1. GIL全局解释器锁 2. GIL与普通的互斥锁 3. 死锁 4. 信号量 5. event事件 6. 线程q 1. GIL全局解释器锁 """ In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytec…

马斯克Neuralink被曝“虐杀实验猴”,140万元美金项目遭谴责

来源&#xff1a; 学术头条作者&#xff1a;刘芳编辑&#xff1a;黄珊2021 年 4 月&#xff0c;马斯克公布了一段猴子用意念玩乒乓球游戏的视频&#xff0c;一时间为他旗下的脑机接口公司 Neuralink 赚足了眼球。然而最近&#xff0c;这些被用来做脑机接口实验的猴子的经历&…

死前真的会有「跑马灯」,人类首次同步测量大脑濒死状态

来源&#xff1a;新智元编辑&#xff1a;袁榭 好困或许&#xff0c;人死前可能真会眼前出现人生跑马灯&#xff01;最近&#xff0c;神经科学家在记录了一个濒临死亡的人类大脑的活动之后发现&#xff0c;人在死亡前后有节奏的脑电波模式与做梦、回忆记忆和冥想时出现的模式相似…

七牛图片盲水印

注意 暂时不支持从 dora 数据处理直接调该接口&#xff0c;只支持从 kodo 存储调用。即 cdn 域名不可开通图片瘦身调用形式 资源 http://i.iamlj.com/19-08-12/123936.png 处理参数 watermark/6/method/encode/text/aGVsbG8gcWluaXU 新图 http://i.iamlj.com/19-08-12/123936-w…

「最小细胞」的3D数字模型,计算揭示生命最基本的要求

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮无论是海洋深处的奇异生物还是我们体内的细菌&#xff0c;地球上的所有生命都是由细胞组成的。但我们对这些细胞中最简单的细胞如何运作只有一个非常粗略的了解。伊利诺伊大学厄巴纳-香槟分校的一个团队创建了有史以来最完整的…

excel常用技巧

一、单元格内快速换行输入&#xff1a;编辑状态下AltEnter 二、单元格设置斜线分割 作为表头&#xff0c;斜线分割还是比较常用的。 1、选中单元格。 2、右键设置单元格格式。 3、在对话框中选择边框标签。 4、选中斜线选项并确定即可。 5、编辑表头&#xff0c;利用AltEnter输…

Yann LeCun最新发声:自监督+世界模型,让 AI 像人类与一样学习与推理

来源&#xff1a;AI科技评论作者&#xff1a;维克多、西西、王晔编辑&#xff1a;陈彩娴如何突破当代人工智能&#xff08;AI&#xff09;的瓶颈&#xff1f;不同学者存在不同观点。总体来看可以概括为两类&#xff0c;其一监督学习者&#xff0c;提倡通过改善数据标签质量&…

day33-进程池和线程池

进程池与线程池 开进程开线程都需要消耗资源&#xff0c;只不过两者比较的情况线程消耗的资源比较少 在计算机能够承受范围之内最大限度的利用计算机 什么是池&#xff1f; # 在保证计算机硬件安全的情况下最大限度的利用计算机 池其实是降低了程序的运行效率 但是保证了计算机…

【转】常用数学函数篇(Linux c)

abs&#xff08;计算整型数的绝对值&#xff09; 相关函数 labs, fabs 表头文件 #include<stdlib.h> 定义函数 int abs (int j) 函数说明 abs()用来计算参数j的绝对值&#xff0c;然后将结果返回。 返回值 返回参数j的绝对值结果。 范例 #ingclude <stdlib.h> main…

两大头号玩家 一个伟大愿景: 联邦学习的元生态建设美好世界

来源&#xff1a;IEEE标准协会新年伊始&#xff0c;世界领先的标准制定机构IEEE标准协会牵头&#xff0c;组织了2022年度联邦学习领域首场重量级尖峰交流活动——联邦学习首创团队带头人、谷歌研究院副总裁Blaise Agura y Arcas博士&#xff0c;与联邦学习亚洲奠基人、IEEE联邦…

物理学的过去、现在与未来

来源&#xff1a;中科院之声&#xff08;ID:zkyzswx&#xff09;、《物理》杂志、中国物理学会期刊网作者&#xff1a;冯端&#xff08;我国著名物理学家、金属和晶体材料学家、教育家&#xff0c;中国科学院院士、第三世界科学院院士、第五届中国物理学会理事长&#xff0c;南…

Android UI之困 横跨四个屏幕的战争

用户界面&#xff08;UI&#xff09;的话题&#xff0c;总是会带来强烈的争论。这有点像电视领域——每个人都是专家&#xff0c;因为每个人都是用户。早在2002年&#xff0c;电信运营商就有一套自己的UI定制界面——例如Vodafone Live 和 Orange SPV。当然&#xff0c;这遭到很…

《MIT科技评论》:2022年全球十大突破性技术

来源&#xff1a;6G俱乐部资料来源&#xff1a;《麻省理工科技评论》近日&#xff0c;《麻省理工科技评论》2022年“全球十大突破性技术”正式发布。此次发布的突破性技术包括&#xff1a;“新冠口服药”“实用型聚变反应堆”“终结密码”“AI蛋白质折叠”“PoS权益证明”“长时…

day34 数据库入门

数据库概念 # 1.随意的存到了一个文件中 数据格式也是千差万别的 # 2.软件开发目录规范规定了数据存放的位置ps:数据都是保存在本地的 # 3.将保存数据的部分 存到一个公共的地方 所有的用户涉及到数据相关 都必须来这个公共地方查找 数据库之MySQL # 本质就是一款基于网络通信的…

PNAS前沿:迈向作为多层学习的进化理论

来源&#xff1a;集智俱乐部作者&#xff1a;郭瑞东编辑&#xff1a;邓一雪导语进化、学习与物理系统的重整化有何相似之处&#xff1f;PNAS的论文“构建将进化视作多层学习的理论”一文&#xff0c;经由统一的理论框架&#xff0c;分析进化过程中的环境预测误差&#xff0c;及…

09.MyBatis的逆向工程

逆向工程:(通过表自动生成实体类和映射文件) 1.导入mybatis-generator-core-1.3.2.jar的jar包 2.在src下创建并编写配置文件&#xff0c;如下&#xff0c; generator.xml 1 <?xml version"1.0" encoding"UTF-8"?>2 <!DOCTYPE generatorConfigur…