深信服前端二面面经
先做两道题
题目1:实现一个对树型结构进行过滤的函数,其中树形结构的格式如下: tree = [ {name: 'A'}, {name: 'B', children: [ {name: 'A'}, {name: 'AA', children: [...]} ]}, {name: 'C'} ] 1. 假设我输入的 str 为 A 则过滤后返回的结果为 [ {name: 'A',children: [name: 'bcde']}, {name: 'B', children: [ {name: 'A'} ]} ] 2. 假设我输入的 str 为 AA 则过滤后返回的结果为 [ {name: 'B', children: [ {name: 'AA', children: [...]} ]} ] // 实现该函数,要求不允许对原有的tree做任何修改,最终返回结果是一棵新结构出来的树 function filter (tree, str) { }
题目2:实现一个函数 checkCount,能匹配出数组中连续为 a 的最大次数,并返回。 如:var arr = ['a', 'b', 'b', 'a', 'a', 'a', 'b', 'a']; checkCount(arr) => 3 function checkCount (arr) { }1、js继承
2、你知道哪些http状态码
3、数组和链表的区别
4、什么是BFC,怎么开启BFC,具体应用场景
5、vue中怎么实现继承
6、实习项目介绍
7、项目中遇到影响最深的问题怎么解决
8、最近有看什么文章或者书籍(把0.1 + 0.2 为什么不等于0.3跟他说了一下,然后被追问怎么封装一个能实现正常加减乘除的函数)
9、算法:反转链表(很简单,写了一个函数给他看)
10、概率题:一个部门中后台1/3,前端2/5,前后端都会的是1/4,不是开发的有多少。(这个当时我陷入牛角尖了,没答上来。。。)
反问环节
#深信服##面经##前端工程师##校招#10、概率题:一个部门中后台1/3,前端2/5,前后端都会的是1/4,不是开发的有多少。(这个当时我陷入牛角尖了,没答上来。。。)
反问环节