面经

记字节跳动暑期实习生面试

2019-04-01  本文已影响0人  RedLee666

一脸懵逼地过了笔试来到了面试,断断续续看完的JavaScript(引以为戒)。
说实话,当时还是认真准备了比较长的一段时间,尽管平时也在上课,但是每天都在抽时间复习,也看了一些面经,但是当面试的时候我还是懵逼了。。。不过大哥还是很nice,基本都给我讲了,记错的地方自行脑补或者去评论区,题目也是脑补回来的。。。

1.考察JavaScript基本类型,包括数组是用堆还是用栈(基本类型和对象的引用在栈中,引用类型在堆中),还有些其他和类型相关的。
console.log(1  == '1');
console.log(1 === '1');
console.log([1] ==  [1]);
console.log([1] ===  [1]);
console.log(0.1 + 0.2 == 0.3);
console.log(0.1 + 0.2 === 0.3);
2.考察作用域,问了些原型链的问题。
var a = 1
function b() {
    a = 10;
    return;
    function a() {};
}
b();
console.log(a);
3.跨域的条件,解决方案,哪些情景会跨域等等,没往细了问。
4.写一个函数判断回文字符串,简便方法是转换成数组逆序再转换成字符串进行对比。
5.HTTP请求状态码。
6.考察对象的创建,问了一些相关问题,给了个构造函数和参数的例子,没写出来。。。
7.考察闭包,也没问什么,直接叫我写出sum函数。
console.log(sum(2,3).valueOf())//5
console.log(sum(2,3)(3).valueOf())//8

解:

function sum(num1, num2) {
    let sum = num1 + num2;
    let result = function (num3) {
        sum += num3;
        return result;
    }
    result.valueOf = function () {
        return sum;
    }
    return result;
}

PS:研究一下柯里化。

失败总结:菜。

上一篇下一篇

猜你喜欢

热点阅读