最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最初按照题目和分析,加上构造函数就行,之前我也没有这样用过:
interface MyInterface {
new (name:string):MyInterface
}
class Bar implements MyInterface {
constructor(public name: string) {}
}
class Foo implements MyInterface {
constructor(public name: string) {}
}
function myfn(Klass: MyInterface, name: string) {
return new Klass(name);
}
let bar = myfn(Bar,‘1’);
let foo = myfn(Foo,‘2’);
console.log(bar,foo);
输出结果:
Bar { name: ‘1’ } Foo { name: ‘2’ }
运行时可以的,但是类型检查室报错的。
interface MyInterface {
}
interface MyConstructor{
new (name:string):MyInterface
}
class Bar implements MyInterface {
constructor(public name: string) {}
}
class Foo implements MyInterface {
constructor(public name: string) {}
}
function myfn(Klass: MyConstructor, name: string) {
return new Klass(name);
}
let bar = myfn(Bar,‘1’);
let foo = myfn(Foo,‘2’);
console.log(bar,foo);
这里因为当一个类实现了一个接口时,只对其实例部分进行类型检查。 constructor存在于类的静态部分,所以不在检查的范围内。
总结
面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
前端面试题汇总
JavaScript
前端资料汇总