凉经:头条前端实习岗面试体验谈
2024-02-19 13:38:25
头条的面试官真是亲和呀,一上来就跟我嘘寒问暖,瞬间让人心里放松了很多。一开始就是基本情况了解,什么时候开始接触前端的呀?大学都学过什么课程呀?最让人诧异的,面试官居然丝毫不想问项目经历相关的问题(暗自庆幸,之前面试的大佬项目也是一带而过)!
“谈谈JS中的类吧。”面试官突然抛出了一个问题。
我心里咯噔一下,之前复习的时候,Java中的类复习得不错,但是JS中的类,我并没有怎么复习。不过,我还是硬着头皮说:“JS中的类与Java中的类有很大的区别,JS中的类是一种语法糖,它使用prototype来实现继承。
面试官点了点头,说:“很好,继续说。”
我接着说:“JS中的类还可以使用class来声明,class关键字是ES6引入的,它使得JS中的类更接近于Java中的类。class关键字声明的类具有私有属性和方法,并且支持继承和多态。”
面试官听完我的回答,点了点头,说:“你对JS中的类理解得不错。你还有其他问题吗?”
我说:“没有了。”
面试官说:“好,谢谢你的时间。我们稍后会通知你面试结果。”
我走出面试室,心里七上八下。虽然面试官表面上看起来很和蔼,但是我总觉得他是在故意刁难我。不过,我还是希望自己能够通过面试,毕竟头条是很多前端工程师梦寐以求的公司。
几天后,我收到了头条的offer,我欣喜若狂。我终于可以去头条实习了,这对我来说是一个难得的机会。
在头条实习的这段时间,我学到了很多东西。我不仅提高了自己的技术水平,还结交了很多志同道合的朋友。我很感谢头条给我这次实习机会,这将对我未来的职业发展产生深远的影响。
JS中的类
JS中的类是一种语法糖,它使用prototype来实现继承。prototype是一个对象,它包含了类的属性和方法。当一个对象被创建时,它会继承其构造函数的prototype对象。
class关键字是ES6引入的,它使得JS中的类更接近于Java中的类。class关键字声明的类具有私有属性和方法,并且支持继承和多态。
JS中的类可以分为两类:内置类和用户自定义类。内置类是JS引擎提供的一组预定义的类,如Object、Array、String等。用户自定义类是由用户自己定义的类。
用户自定义类可以使用class关键字来声明。class关键字后面跟类名,类名后面跟花括号。花括号里面是类的属性和方法。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
getName() {
return this.name;
}
getAge() {
return this.age;
}
}
上面的代码定义了一个名为Person的类。Person类有两个属性:name和age。Person类有两个方法:getName()和getAge()。
我们可以使用new关键字来创建Person类的对象。
const person = new Person("John", 30);
person对象是一个Person类的实例。person对象具有name和age属性,以及getName()和getAge()方法。
console.log(person.getName()); // "John"
console.log(person.getAge()); // 30