面试题集六

2019-11-28  本文已影响0人  月半女那

typescript是js类型的超集

1. interface定义:

在面向对象语言中,interface是对行为的抽象,具体实现则是由class去实现(implements),在ts中接口的作用类型检查

2. object.defineProperty与proxy的区别

3. angular2的双向绑定原理

脏值检查(存储所有变量的值,每当变量发生变化的时候需要检测,将旧值和新值进行比较,不相等则更新对应的视图)
在ng2+中优势:

4. cookie

cookie在浏览器中,可以在下次访问的时候附带它发送给服务器,服务器可以通过识别cookies来判断是哪个用户,然后判断用户是否登录,然后返回对应的想要一般每条cookie的长度不超过4kb,每个domain下最多20条,cookie弥补了HTTP协议的无状态

5. resetful api

用url定位资源,用http method描述操作

  1. 原则:
    协议 / 域名 / 版本 / 路径 (使用名词不可以使用动词)
    / HTTP {(GET / POST (新建一个资源 ) / PUT (修改整个资源)/ PATCH (修改单个属性) / DELECT / OPTIONS (获取信息)) }
    / 过滤信息 (api提供参数,过滤返回结果,例如排序,分页,选择 ?pageNumber=2&perSize=100)
    / 状态码 (204: no content ;403 : forbidden ; 404 : not found ; 500:服务器内部错误 ; 406 Not caaeptable )
    / 错误处理
    / 返回结果
    / 使用HATEOAS的Hypermedia api
    / 认证

6. 序列化和反序列化

7. promise / async await

  1. promise
 var p1=new Promise((resolve,rej) => {
    console.log('没有resolve')
    //throw new Error('手动返回错误')
    rej('失败了')

 })

 p1.then(data =>{
    console.log('data::',data);
 },err=> {
    console.log('err::',err)
 }).catch(
    res => {
    console.log('catch data::', res)
 })

// 没有resolve
// err:: 失败了

 p1.then(data =>{
    console.log('data::',data);
 }).catch(
    res => {
    console.log('catch data::', res)
 })
// 没有resolve
// catch data::失败了
  1. async await
    async await 让异步代码开起来表现起来像同步代码
    await 是让出线程的标志,

8. class 中的super

9. 箭头函数什么情况下不能用

  1. 定义对象方法
    1.1. 定义字面量方法的时候,由于箭头函数中this永远指向window
    1.2. 定义原型方法的时候,箭头函数会导致运行时执行上下文错误
  2. 定义事件回调
  3. 定义构造函数
    https://www.cnblogs.com/huyanluanyu/p/9958676.html

10. 闭包

上一篇 下一篇

猜你喜欢

热点阅读