2020.11.18 小米一面
1 跨域问题
因为浏览器的同源策略导致了跨域。解决方法,JSONP和CORS,整个CORS通信过程,都是浏览器自动完成,不需要用户参与。实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。请求分为:简单和非简单请求,简单请求会在头信息中增加一个origin字段,说明来自哪个源,如果origin指定的域名在许可范围内,服务器返回的响应,会多出几个头信息字段。非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为"预检"请求(preflight)。浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。
2手写链表,和快排
3写的项目中的亮点(好好总结)
4 flex布局
5 eventloop
js是单线程,所有任务分为同步任务和异步任务,同步任务在主线程上执行,形成执行栈,异步任务运行完,会在任务队列放置一个事件,当执行栈中的同步任务执行完,系统能够会读取任务队列,那些事件对应的异步任务会结束等待状态,进入执行栈中。主线程从任务队列中读取事件,这个过程不断循环,称为eventLoop
6继承
7es6新属性
8闭包
9 bind call apply区别,可以手写其中一个吗
10基本类型
11this指向
作为普通函数被调用,非严格模式下指向全局对象;作为对象属性被调用,指向对象;作为构造函数被调用,只想将要被new出的对象;call和apply的应用,指向参数,传入想要this指向的上下文即可
12 节流和防抖
13react生命周期
总结:项目亮点,自己亮点,基础。都是面经上的,多刷刷。大厂用react的比较多
11.23 跟谁学一面
1、 promise用法,包括all,then
2、 setTimeIterval和setTimeOut
哪个是瞬时,怎么用其中一个实现另外一个
3、 给你九个span,手写九宫格
4、 手写将一个数组乱序排列
5、 手写一个冒泡排序
6、 手写一个关于promise的方法?
7、 用过的框架,有写过小程序吗
8、 前后端交互用到cookie,说下这仨的区别
9、 跨域问题简单请求和复杂请求区别
10、为啥想做前端,是自学的前端吗
(小米面的时候也问到了)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。