有赞前端一面

大概持续了一个小时吧,用的微信面试,没能录音,具体的记不清楚了
1.简单介绍
2.项目相关
3.如果让你来做前端监控,你会怎么做
4.讲下async这个库。
5.编程题(实现函数从而改变对象)
const testData = {
    a_v: 123,
    a_y: [1, 2, 3, 4], 
    a_d: {
        s: 2,
        s_3: 3
    },
    a_f: [{
        a_g: 5
    }],
    a_a_d: 1
}
// a_d => aD 
// a_a_d =>aAD
function underscoreToHump(data, isDeep=true) {
    //要实现的函数
}


const result = underscoreToHump(testData)
console.log(result)


我给下我的答案吧
function underscoreToHump(data, isDeep=true) {
    if(data == null || data == undefined){
        return ;
    }
    let newObj = {};
    if(typeof data !== 'object'){
        return data;
    }else{
        if(!Array.isArray(data) ){
            for(let key in data){
                let keyStr = key.toString();
                if(keyStr.indexOf("_")>-1){
                    //转换属性名
                    let tmp = keyStr.split("_");
                    let first = tmp[0];
                    tmp = tmp.map(i => i.toUpperCase());
                    tmp[0] = first;
                    let newKey = tmp.join("");
                    //赋值
                    newObj[newKey] = underscoreToHump(data[key], isDeep);
                }else{
                    //赋值
                    newObj[key] = underscoreToHump(data[key], isDeep);
                }
            }
        }else{
            let len = data.length;
            for(let i = 0; i< len; i++){
                data[i] = underscoreToHump(data[i], isDeep);
            }
            return data;
        }
    }
    return newObj;
}

#有赞##前端工程师##面经##内推##秋招##提前批#
全部评论
有赞前端招聘,简历至:ronghang@youzan.com
点赞 回复 分享
发布于 2018-08-15 10:43
应届生吗?大哥,感觉有赞好难进
点赞 回复 分享
发布于 2018-09-09 12:37
你不是cvte 录取了吗?还面试别的公司啊
点赞 回复 分享
发布于 2018-08-29 17:54
async库是指什么?
点赞 回复 分享
发布于 2018-08-29 17:51
前端监控该怎么回答?为什么会问这个呢
点赞 回复 分享
发布于 2018-08-14 18:16
dalao觉得有赞怎么样啊?
点赞 回复 分享
发布于 2018-08-14 17:58
编程题和深拷贝的思路很类似
点赞 回复 分享
发布于 2018-08-14 17:35
老哥,你的简历多久被捞的呀
点赞 回复 分享
发布于 2018-08-14 08:02
编程题怎么做?
点赞 回复 分享
发布于 2018-08-14 00:27

相关推荐

12-04 11:37
已编辑
门头沟学院 前端工程师
1.目前所在位置,如果能来最快什么时候2.学校相关课程3.讲一下回流和重绘的区别,举出具体会导致回流和重绘的例子4.浏览器是怎么把css加载为能展示在页面上的样式的,是怎么样的一个过程5.js是怎么处理异步任务的6.讲讲promise的原理7.讲讲事件循环的机制8.为什么0.1+0.2&nbsp;!==&nbsp;0.3,如果要他相等有什么办法9.讲讲ts中的泛型,以及具体的使用例子10.interface和type有什么样的区别,具体讲讲11.http2.0和http1.1有什么区别12.http2.0除了解决对头阻塞之外相比1.1还做了什么改进13.http2.0把数据压缩成二进制帧起到一个什么样的效果14.http2.0有没有彻底的解决对头阻塞的问题呢15.dns解析的具体过程,域名-ip之间的具体过程16.vue2和vue3有什么区别17.vue3里面具体实现一个自定义指令是怎么做的18.vite的常见配置19.vite和webpack相比较有哪些优缺点20.vite的生产打包和webpack比较有什么优缺点21.有没有使用过rollup22.项目里的node有用什么框架吗23.关于websocket的使用24.自己有没有部署过项目,是怎么部署的25.登录上的身份验证和权限管理是怎么做的26.token的生成和校验是怎么做的,是否了解27.登录过程中密码加密传输的过程28.cursor用来解决你的什么问题29.怎么去学习前沿技术,比如现在很火的ai30.讲讲osi7层模型,4层模型,以及在其中各层都做什么31.http,https,tcp,ip这种是在那一层应该还有一些,但是有点久了细节记不清了,但是总结的应该也有百分之90左右了——————————————————————————————————————————————————有赞别的部门一面1.浏览器的最小根字号是16px,如果要缩小有什么办法2.如果说让你手写一个动画然后你认为这个动画的最小时间间隔是多少3.两道事件循环的输出题+点击按钮后的打印顺序(事件冒泡相关)4.let&nbsp;const&nbsp;var的区别5.vue里面为什么要使用key,对这个key的一些理解6.vue中有父子组件,他们钩子函数的一个执行顺序是怎么样的(初始-挂载完)7.watch和computed的区别8.为什么要引入虚拟dom,有什么样的好处,虚拟dom的本质9.keep-alive的作用,缓存的本质是在缓存什么10.如果说让你实现一个上拉加载的这种思路,有什么思路吗?11.虚拟列表是用库还是自己手写的,为什么选择手写,原理是什么,缓冲区域的数据量怎么去设置12.手撕题:根据url输出query和value组成的对象13.对ai的理解,有没有自己去做ai相关的东西(好像是说有没有做过模型相关的)14.询问目前状态等面下来感受:换一个人面问的东西就完全不一样,有些时候都在思考面经的意义,因为看很多最后也可能一点都不挨边。。
想进开水团喝开水:有赞这是在选超人吗
发面经攒人品
点赞 评论 收藏
分享
评论
点赞
76
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务