# 四、今日头条

# 1.对 async、await 的理解,内部原理

# 2.介绍下 Promise,内部实现

class Promise{
    constructor(resolve,reject){
        this.resolve=
    }
}

1
2
3
4
5
6

# 3.清除浮动

# 4.定位问题(绝对定位、相对定位等)

# 5.从输入 URL 到页面加载全过程

# 6.tcp3 次握手

# 7.tcp 属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))

# 8.redux 的设计思想

# 9.接入 redux 的过程

# 10.绑定 connect 的过程

# 11.connect 原理

# 12.webpack 介绍

# 13.== 和 ===的区别,什么情况下用相等==

== 在比较时只比较大小,===会比较数据类型

# 14.bind、call、apply 的区别

bind 函数不会立即执行,第一个参数是修改的 this 对象,后面的都是参数 call 和 apply 函数会立即执行,第一参数是修改的 this 对象,第二个参数 call 后面是 arg1,arg2,arg3...的形式,apply 是数组形式

# 15.动画的了解

# 16.介绍下原型链(解决的是继承问题吗)

# 17.对跨域的了解

  • 浏览器的同源策略造成跨越
  • 跨域请求数据其实已经到达浏览器了,之所以前端页面拿不到数据是因为浏览器把信息屏蔽掉了,可以通过降级浏览器的方式解除这种限制拿到非同源请求的数据,常用于前端开发
  • 后端请求是不存在跨域的
  • 跨域的几种方式
    • jsonp:通过 script 或者 img 等标签不受浏览器同源策略影响的标签实现跨域,具体是前端先写好函数将参数传给相关页面,将函数和相关前端需要请求的参数通过 js 传递给后端,后端通过 js 解析参数,拿到前端函数名称,后端执行这个函数传入相关参数,前端将后端传过来的 js 插入到页面中,执行了后端的函数,前端通过之前的函数拿到后端的参数
    • cors:后端设置请求头允许跨域
    • proxymiddle:代理常见 webpack 中的代理,实际上是用 node 框架中 express 的代理服务
    • postmessage:h5 的通信方式支持跨域
    • websockit:消息推送,支持跨域
    • domian:二级域名之间的通信
    • hash:通过二级域名之间通过 hash 传值
    • name:二级域名之间通过 name 跨域
    • nginx:代理跨域
上次更新: 2022/6/29 上午12:09:44