美团前端面经
一面(一小时15分钟)
一共分为四个部分:自我介绍、基础知识问答、手写代码、反提问。
首先自我介绍部分,针对你的自我介绍内容提问:
- 为什么对前端感兴趣?
- 什么时候开始学习的前端?
- 自学前端的途径和方法?
- 除了前端还会其他的编程语言吗?做过什么项目?
- 你说你学习能力强,举例子说一下。
- 说说你对HTML5的理解;
- 你对HTML中语义化是怎么理解的?有什么优点?
- 说说HTML中的viewport;
- CSS的盒子是什么;
- width:100;padding:50;margin:50;border:50; 标准盒模型的宽度为?
- var、let、const的不同;
- 讲讲promise;
- cookie、sessionStorage和localStorage的区别;
- 不同域中的localStorage可以互相访问吗;
- httponly是什么;怎么实现防止xss攻击的;
- DOM事件的过程;
- 说一下em和rem;
- HTTP缓存;
- 说说flex;
- 实现水平居中的方法有哪些;
- 协商缓存的原理和过程;
1、
function Foo(){
this.a = 1;
return{
a:100;
};
}
Foo.prototype.a = 20;
Foo.prototype.b = 21;
new Foo().a;
new Foo().b; 输出什么值?
将return语句删掉输出?
2、
function Foo() {
getName = function () {
console.log(1);
};
return this;
};
Foo.getName = function () {
console.log(2);
};
Foo.prototype.getName = function () {
console.log(3);
};
var getName = function () {
console.log(4);
};
function getName() {
console.log(5);
};
Foo.getName();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName(); 分别输出什么?分析其过程; 2、手写代码:输入一个链表,输出该链表中倒数第k个节点;
3、手写代码:写个函数,将“hello_world"转化为"helloWorld';
第四部分:反提问;
#面经##美团#