钉钉前端一面
感觉问的不难,可能是感觉到我菜,目前也没有后续
一面 10.12 40min
- 自我介绍
- 编辑器有做过定制开发吗
- 编辑器对文字实现加粗斜体等效果是怎么实现的
- 登录鉴权,token为什么不存在cookie中
- 跨域问题
- 断点续传 ❌
- 验证码
- 手机验证码登录,如何保证验证码是本次发送的,后端要如何维护 ❌
- 手写ajax
- 事件循环
- 读代码 2 3 5 4 1
setTimeout(function(){console.log(1)},0);
new Promise(function(resolve){
console.log(2);
for(var i=0;i<10000;i++)
i==9999 && resolve()
console.log(3)
}).then(function(){
console.log(4)
});
console.log(5)
- 手写节流,要求第一次立即执行
- 性能优化
- call,apply,bind区别
- 读代码题
let obj1 = {name:'a'};
let obj2 = {name:'b'};
function Child(name){
this.name = name;
}
Child.prototype = {
constructor:Child,
showName:function(){
console.log(this.name)
}
}
var name = 'd';
var child = new Child('c')
child.showName(); // c
child.showName.call(obj1); // a
child.showName.apply(obj2); // b
let bind = shild.showName.bind(obj1);
bind() // a
- 手写深拷贝
- 实现三栏布局
- vue的双向绑定原理
- diff算法
反问
部门:钉钉智能协作
技术栈:react+node.js+java
面试流程:两轮技术+hr
查看9道真题和解析