美团校招前端一面+二面 许愿HR面
一面
- 自我介绍
-
http和tcp有什么区别?
-
tcp和ip有什么区别和关联?
-
tcp头部有哪些内容?
-
判断是否是数组的方法
-
说一下下面这段代码的执行过程(原型链)?instanceof double返回什么?hasOwnproperty用的是谁的方法?
function double(num){ console.log(num); } double.hasOwnproperty(name);
-
判断数组有哪些方法?
-
如何判断两个数组元素是否一样?
-
基本类型和引用类型有什么区别?
-
基本类型和引用类型分别放在什么结构里面?
-
同步和异步是什么意思?
-
哪些方法是异步的?
-
怎么使外部资源异步加载?
-
async和defer有什么区别?
-
页面渲染过程?
-
vue里面的虚拟dom有什么用?
-
vue diff算法
-
vue router有哪些方法?
-
输出顺序是什么?抛出异常能捕获到吗?resolve()去掉呢?
const promise = new Promise(resolve=> { console.log('1') setTimeout(() => { console.log('2') }, 0); resolve(); throw new Error('error') }) promise.then(()=> { console.log('3') setTimeout(() => { console.log('4') }, 0); },()=> { console.log('reject') }).catch(()=> { console.log('catch') }) console.log('5')
-
算法题
给定一个正整数n,请计算n的阶乘n!末尾所含有“0”的个数。例如: 5!=120,其末尾所含有的“0”的个数为1; 10!= 3628800,其末尾所含有的“0”的个数为2; 20!= 2432902008176640000,其末尾所含有的“0”的个数为4。
-
实习的话你可以实习多久?
- 有什么要问我的?
二面
-
自我介绍
-
介绍一下校园经历
-
说一下项目
-
项目选型怎么选的?为什么用vue
-
项目难点是什么?
-
hashMap底层原理知道吗?
-
链表和数组的区别
-
链表删除中间一个结点怎么删除?
-
es6箭头函数
-
url从输入到渲染的过程
-
dns解析有没有被劫持的的可能
-
生产环境为什么要打包?假设只有一次操作,那是直接操作dom节点快还是用虚拟dom快?
-
css怎么渲染?
-
虚拟dom是干嘛的?
-
diff算法
-
为什么要用vuex?
-
怎么保证不同组件的公共数据不会相互污染?(多人开发)
-
怎么跨页面共享数据?
-
浏览器有哪些存储?
-
localstroage有什么限制?会有什么问题?
-
前端性能指标有哪些?
-
接口怎么定义?
-
会遵循什么规范吗?
-
你对restful的理解
-
还有哪些请求方式?
-
接口url一般怎么定义?
-
跨域
-
知道vue的proxy底层原理吗?
-
前端工程化涵盖哪些概念?
-
职业规划
- 怎么学习/学习方法?
- 有什么要问我的?