字节跳动前端一面

9.10进行的一面
记录几个答的不好的点:
1. cors中, 当希望允许多个origin跨域获取资源时Access-Control-Allow-Origin的值应该如何设置
(不要设置成'*', 需要携带cookie)
当时没答上来,应该可以设置一个白名单,每次收到请求时,对比origin是否在白名单里,如果在,就允许
2.一道关于作用域的题目
var bar = {
    myname: "bar",
    getName: function() {
        console.log(myname);
        console.log(this);
    }
}

function foo() {
    var myname = "foo";
    return bar.getName;
}
var myname = "global";
var _printName = foo();
_printName();
bar.getName();
当时自己的回答是:
"global"
window
"bar" //这里错了!!!
bar
自己下来之后跑了一下,应该是:
"global"
window
"global"
bar
在chrome的console中跑的结果:

3.箭头函数和普通函数的区别
回答了3点:
(1)箭头函数的this在定义时确定(父级作用域),而非运行时(普通函数在运行时确定)
(2)箭头函数不能当作构造函数通过new来新建实例(追问:为什么不能new? 当时回答应该和new的过程有关,但是具体没答上来,后来百度了一下,大概是因为箭头函数没有自己的prototype)
(3)没有argumnets对象
之后查了一下补充2点:
(4)没有prototype
(5)不能用yield命令,因此箭头函数不能用做Generator函数

问了挺多的,记不太清了,问了缓存、从浏览器输入url到页面的呈现经历了什么、跨域、xss攻击、event loop、promise……(基本上都是前端面试基础题目把)
然后编程题还挺简单的,忘了有几道了,最后一个是比较两棵树是否相等,我用了递归
以上都是自己查了一下资料再加上自己的理解~作为前端小白,会有很多理解不到位的地方。
如果有不对的地方,或者有更好的解答,还希望大家可以批评指正~靴靴!🤗
共勉共勉~ 同时为自己祈福
#面经##校招##字节跳动##前端工程师#
全部评论
好像是箭头函数没有内部属性[[constructor]],请问楼主实习还是校招,实习也考算法吗,想找个不考算法的实习。。
点赞 回复
分享
发布于 2020-09-12 10:10
第二题作用域的那个我是这个值: global [object Window] global [object Object]
点赞 回复
分享
发布于 2020-09-12 10:34
联想
校招火热招聘中
官网直投
想请教一下第三个输出的为什么是global而不是bar呢
点赞 回复
分享
发布于 2020-09-12 12:24
请问一下为什么作用域那道题第3行输出是global啊,我感觉也是bar😥
点赞 回复
分享
发布于 2020-09-12 15:48

相关推荐

1 23 评论
分享
牛客网
牛客企业服务