58同城一面+滴滴一面

95 阅读1分钟

这两个面试技术层面的问题较少,比较多的是项目层面的,故合为一篇。第一部分为58的

1.手写flat:多维数组转一维数组

// 法一
arr.flat(Infinity)

// 法二
const flat2 = (arr,ret = []) => {
    arr.forEach((i,idx) => {
        if(Array.isArray(i)){
            flat2(i,ret)
        }else{
            ret.push(i)
        }
    })
}

// 法三
const flat3 = (arr) => {
    arr.reduce((ret,cur)=>{
        if(Array.isArray(cur)){
            return ret.concat(flat3(cur))
        }else{
            return ret.concat(cur)
        }
    },[])
}

2.项目中是如何协作的,如何进行安全性监测,如何搭建cli

3.webpack有没有自己尝试搭建过

##############下面为滴滴

1.react的生命周期

image.png

2.react和vue的区别

3.react的hook和class的区别以及为何选择hook

4.会封装sdk吗,封装过公共组件库吗,会node吗,系统安全是怎么监控的

5.移动端适配是怎么做的

  • rem
  • rpx(微信,屏宽750,则1px=1rpx;屏宽620,则1px=(750/620)rpx)
  • vw\vh

juejin.cn/post/716393…