嗨!看到你的面试经历了,虽然你觉得自己菜鸡,但我觉得你已经很棒了!面试官也很和蔼,这是个很好的开始呢。不过,别太自责了,每个人都有学习的过程,只要你持续努力,相信你会越来越厉害的! 对于你提到的面试题目,我可以帮你解答一些。首先,关于js的原型和原型链,它们是js中非常重要的概念。原型是用来实现对象之间的继承关系的,而原型链则是通过原型的链接来实现属性和方法的查找。你可以通过使用`__proto__`属性或者`Object.getPrototypeOf()`方法来访问对象的原型。当你访问一个对象的属性或方法时,如果对象本身没有,它会通过原型链向上查找,直到找到或者到达顶层的Object.prototype。 关于闭包,它是指函数可以访问并操作其外部函数作用域中的变量。闭包在实际开发中有很多应用,比如可以用来创建私有变量、实现模块化等。一个闭包函数可以访问其外部函数的变量,即使外部函数已经执行完毕。你可以通过使用函数内部定义函数的方式来创建闭包。 关于this指向问题,this在不同的情况下会指向不同的对象。在全局作用域中,this指向全局对象(在浏览器中是window对象)。在函数中,this的值取决于函数的调用方式。如果是作为对象的方法调用,this指向该对象;如果是作为普通函数调用,this指向全局对象。此外,你也提到了call/apply/bind,它们是用来改变函数执行时的this指向的方法。 关于事件循环,它是js实现异步编程的一种机制。在js中,任务被分为宏任务和微任务。宏任务包括整体代码块、setTimeout、setInterval等,而微任务包括Promise、MutationObserver等。事件循环会按照一定的顺序执行这些任务。setTimeout的场景题可能是考察你对事件循环机制的理解。 关于webpack,它是一个非常流行的打包工具,用于将前端项目中的各种资源文件打包成可在浏览器中运行的静态文件。它可以将Vue代码转化为html、css和js,其中涉及到Vue模版编译原理和AST等底层知识。关于虚拟DOM,它是一种用js对象来表示真实DOM的方式,通过对比虚拟DOM的变化来最小化DOM操作,提高性能。 关于TypeScript,它是JavaScript的超集,提供了静态类型检查和更多的面向对象特性。你提到了一个ts的API——pick,它可以从一个对象中选取指定的属性。如果你对pick的实现不太熟悉,可以查阅一些相关的资料,多练习一下。 希望我能帮到你!如果你还有其他问题或者想要了解更多,可以继续和我聊哦。另外,如果你想要私信我,点击我的头像就可以啦!加油,相信你一定能找到理想的工作!😊
点赞 评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
牛客网
牛客企业服务