深信服前端面经
一面 55min
自我介绍 1.闭包的原理 怎么产生闭包 闭包的应用场景 会产生什么问题 2.怎么合理的管理闭包 3.一次接收多个请求的结果怎么做 Promise.all如果有一个出错怎么处理 4.TCP三次握手过程 5.HTTP和HTTPS 有什么区别 6.cookie、sessionStorage、localStorage的区别 7.ES6的新特性 Promise 8.webpack中loader和plugin的区别 9.项目中的优化 算法题:括号匹配(力扣原题) 手写题:promise.all源码 反问环节 一面问题不算难,大多是八股文,手写源码题我没写过, 自己写了一个大概理解的思路,面试官说大致思路没问题给过了 面试结束学习了一下: Promise.prototype.all = function(args){ return new Promise((resolve,reject)=>{ let res = []; let count = 0; let index = 0; if(args.length == 0){ resolve(res); } args.forEach((item)=>{ let resIndex = index; index++; Promise.resolve(item).then(res=>{ res[resIndex] = res; count++; },err=>{ reject(err); }) if(count == args.length){ resolve(res); } }) }) } 二面 40min 说一下项目(针对项目提了几个问题) 说说你了解的vue3的新特性 compsitionAPI和OptionsAPI的区别 怎么优化webpack的打包速度 webpack的构建流程是怎样的 说一下快排的思路 算法题:打印二叉树的深度 反问环节 二面面试官很和善,对项目细节会问的多一点,面试之前没及时对项目复盘,有一些细节答的不是很好 面完后感觉会被刷掉,隔了一个星期收到了面试通过的通知(开心) 三面 HR面 20min 自我介绍 为什么会选择前端,初衷是什么? 谈谈你对深信服的认识(提前对hr面做过一些攻略 说完之后感受到了面试官语气的波动 面试之前一定要做好了解 感觉这是一个大扣分项 如果说 不了解有可能pass) 为什么选择长沙作为你的工作地 说说你对部门/岗位的期望 (你认为加入深信服对你来说会有什么益处) 反问环节
谈offer
打电话的是个非常非常温柔的小哥哥,耐心的对公司的福利待遇做了讲解,感觉非常不错,加上工作地在长沙的诱惑,果断接了offer#深信服面经##深信服##面试题目#