作业帮视频面凉经

这次面试是自己第一次视频面试,可以说是有很多尬笑点,面试官问我为什么老是往右边看,我就说因为我在看着你的脸啊,屏幕是在右边hhh。
1.对闭包有了解吗?可不可以说说你的理解?
第一个问题热身之后,面试官二话不说就是两个console结果判断题,分别涉及了原型链和this指向
2.关于原型链的继承
function A(val){
      this.age = val || 2;
    }
    A.prototype.age = 3;
    function B(val){
      A.call(this,val);
    }
    //B.prototype = Object.create(A.prototype);
    B.prototype = new A();
    B.prototype.constructor = B;
    var a = new A();
    var b = new B(1);
    console.log(a.age);   //2
    console.log(b.age);   //1
    console.log(A.age);   //undefined
    console.log(B.age);   //undefined
    delete a.age;
    console.log(a.age);   //3
面试官还问了直接使用函数.prototype和使用Object.create()有什么区别。
答:前者将跟踪已创建的所有实例,后者不会多次初始化实例方法/属性。
3.关于this的指向
function ABC(){
var a = 2;
console.log(a);
this.b = 3;
console.log(this);
console.log(b);
}
ABC();
new ABC();
问题:请说出两次函数调用console打印的值,为什么?使用new和不使用有什么区别?
答:a和b的值打印都是2和3,但是this的指向不同,前者指向window,后者指向构造函数,并且前者运行完的返回值是undefined,后者是构造函数产生的新对象。
4.vue-router的两个模式你用过哪一个,请说明。(hash模式和history模式)
5.注册登录的具体流程,请简要分析。(涉及cookie的应用)
6.'dssas'---->'asd',简单来说就是字符串的变换(可以考虑先数组去重再逆序)
这道题面试官或许是想听我的很多解决方案,但是我只是说明了数组的方法(例如使用Set去重,转回数组然后reverse逆序,或者使用indexOf lastIndexOf、es6 include和charCodeAt判断)
面试官尝试提示了我有没有字符串的方法,但是我没能给出满意的答案。(ps:若有伙伴知道,麻烦评论区交流一下,谢谢)
7.web性能优化方案,尽可能的给出。

这场面试总体而言,第一次视频面试没有经验,有些许的紧张,当遇到问题卡住的时候我和面试官礼貌微笑,最后闲聊的时候,还问了我为什么没有考研之类的hhh,或许我太菜了。




#作业帮##笔试题目#
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 4 评论
分享
牛客网
牛客企业服务