钉钉前端一面
感觉问的不难,可能是感觉到我菜,目前也没有后续
一面 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