深信服20届春招前端面经
由于在写毕业设计,因此拖到现在才有空写面经。
春招都快结束了,但还是来还愿牛客吧。
说不定能为下一届的人做下参考。
记得当时笔试编程题只做出了一道还是两道
一面(3月7号电话面试):
自我介绍
你对前端工作的理解?
有人说大部分功能是后台实现的,前端只是做界面展示,你认同这样的观念吗
什么场景下可以减少DOM操作来提高性能
重绘和回流了解吗
重绘和回流的触发方式
三栏等宽布局?
为什么要清除浮动?怎么清除浮动?
优化性能中资源压缩一般用什么工具?
webpack除了压缩还有其他什么功能吗?
CSS预处理器用过吗
webpack有哪些性能优化的地方?(通过webpack提升页面性能的)
浏览器可以同时并发几个请求?
Vue的data属性问什么用函数来返回对象,而不是直接为一个对象
Vue生命周期?
在实习过程有哪些功能或模块是比较印象深刻的?
跨域技术有哪些?
JSONP原理是什么?
HTTP状态码有哪些?
3开头和重定向有关的状态码有哪些?
临时重定向和永久重定向的区别?
什么时候返回304状态码?
后台根据哪些字段判断资源是否过期
数据结构有哪些?
栈和队列的异同
链表删除操作是怎么做的
平时用过Linux系统吗
怎么判断变量是数组
ES6有哪个方法可以判断数组
webpack有用过babel吗
如何实现数组扁平化
如何对无序正整数数组进行排序
sort方法接收哪些参数
sort方法如何降序排序
选择刚才说的排序算法进行描述算法过程及代码思路
二面(3月8号):
面试首先写了一道编程题
根据给定字符串过滤出结果 var tree = [ {name: 'A'}, { name: 'B', children: [ {name: 'A'}, {name: 'AA'} ] }, {name: 'C'} ] // tree是一个数组 str = 'A' 返回 [ {name: 'A'}, { name: 'B', children: [ {name: 'A'}, {name: 'AA'} ] } ] str = 'B' 返回 [ { name: 'n', children: [ {name: 'A'}, {name: 'AA'} ] } ] str= 'C' 返回 [ { name: 'C' } ] // 返回新树,不能改变原有树 function filter(tree, str) { }
function filter(tree, str) { let newtree = [] for (let item of tree) { if (item.name === str) { newtree.push(item) } else { if (item.children && item.children.length > 0) { let result = filter(item.children, str) if (result) { newtree.push(item) } } } } return newtree } // 我的实现
垂直居中有哪些方式?
JS继承实现的几种方式?
BFC了解过吗?
computed理解吗?除了data,computed还能监听哪些属性?computed自身能监听吗?computed源码怎么实现了解过吗?
数学题:前端会的人有2/5,后端1/3,前后端都会的人1/4,前后端都不会的人有多少?
后面详细问了实习项目
HR面:
问题忘记了,但主要是了解你的稳定度怎么样
比如你未来几年会不会一直在深圳,能不能承受加班,家乡哪里的,职业规划等等
一面面完当晚出结果,第二天进行二面,二面后第二天进行HR面
拿了offer,后来对比其他公司,又拒掉了(加班太严重,还是白白白白白白白白白菜价)
#深信服##前端工程师##校招##面经#