字节提前批面经 影响正式批的
之前提前批挂了。现在再投正式批。笔试都没给就给挂了
#字节跳动#
真的坑人。骗人没准备好就去送。
- 为什么学前端
- 怎么学前端的
- es6有什么新语法,说了箭头函数,generator,类,promise,await async,硬是没说let const
- 箭头函数的this指向啥? 秒答没this。补了一句,非要说的话,就是定义时候的地方。
- 箭头函数能改this吗。不能
- es6跟变量有关的有啥新语法吗?let const
- 没es6时候,有啥作用域。
- 块级作用域和函数作用域有啥区别?问懵了。没想过这个问题。就说块级可以直接{}
- react componentdidmount和componentwillunmount 父子组件执行顺序
- react组件间通信,props,redux,context。相比context,redux有啥优越的地方?或者说,可以用context实现redux所有功能吗?说了个redux时间回溯。还有吗?你不必使用Redux:比较prop钻取、Redux和React Context API
- 讲讲jsonp原理。
- jsonp除了get请求还能请求啥?
- 讲讲cookie。安全吗?当然不安全,说了xss攻击读取cookie。但是没说csrf攻击。例如:当用户访问b.com时,请求了一张放在a.com服务器上的图片,此请求中会携带之前用户访问a.com时保存的cookie。cookie的安全性
- 黑客拿你的cookie能犯法吗?懵了,cookie咋犯法。
- 啥时候会跨域?说了端口,协议,域名。心里想着还有一个,没想起来。还有必须ajax!
- 还有啥跨域办法吗。说了cors,本来还想继续说说我的8大跨域的。。结果面试官直接下个问题了
- jsonp和ajax跨域有啥差别。ajax和jsonp本质上是不同的东西。Ajax是异步的js他的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本。ajax和jsonp这两种技术很像,目的也一样,都是请求一个url,然后把服务器返回的数据进行处理,因此jquery类库把jsonp作为ajax的一种形式进行了封装(其实并不是一种东西)
- 那除了跨域,ajax请求和别的请求有啥差别。
- react-loadable的原理。不知道。。说了下suspence的原理。react-loadble原理
for (var i = 0; i < 9; i++) { setTimeout(() => { console.log(i) }, 0) }
console.log(0) setTimeout(() => { console.log(1) }, 0) new Promise((resolve) => { console.log(2) resolve() console.log(3) }).then(() => { console.log(4) }) async function echo() { console.log(5) await Promise.resolve() console.log(6) } echo() console.log(7)
实现一个useMemo
const arr = [1, 23, 45, [45, 78, 90, [67, 90]]] async function add(a, b) { Promise.resolve(a+b) } async function sum(arr) {}