前端面经总结合集(他人+自己)2

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、为啥想做前端,是自学的前端吗

(小米面的时候也问到了)

你可能感兴趣的:(javascript,前端)