字节跳动 前端 Data 南京 面经分享

双非渣硕非科班,9.29号收到字节Data部门的意向书,秋招正式结束😁
分享一下字节3轮技术面中的难题,希望能够帮到还没有上岸的各位朋友

9.15一面:
手撕算法:
1. 三个异步fetch请求,只要有一个请求变成resolve,那么就输出对应的result,并结束。如果请求过程中出现错误,则需要在最后输出错误信息
(我用Promise race,不过好像不能完美实现面试官提出的要求)
2. 字符串转千分位
(做过不知道多少遍了,结果后面用正则翻车了😂
3. 实现深搜索,例如对于这样一个数组city和指定的code,输出对应的name:
 var city = [
     {
         code : 0,
         name: 'beijing',
     },
     {
         code : 211,
         name: 'jiangsu',
         children: [
             {
                 code: 212,
                 name: 'nanjing'
             }
         ]
     }
 ]

function search(code) {
// code
    return name
} 
(递归搜索,也挺简单的)


9.15 二面
一面完之后直接二面,面试官是一个很开朗的小姐姐,体验很棒
手撕算法:
二面斯的代码令我印象非常深刻,因为是很简单的闭包,但里面的陷阱很多
// 实现一个foo函数, 返回自身被调用的次数 可以这么使用:
a = foo();
b = foo();
c = foo();
// 此时  a 的值是1;b的值是2;c的值是3;
foo.reset();
d = foo(); // d的值是1, 说明foo重新开始计数;
撕了大概30min,后面我都想放弃了,不过最后面试官还是告诉了我答案:
 const foo = (function(){
    let counter = 1;
    function increase(){
        return counter++;
    }
    increase.reset = function() {
        counter = 1;
    }
    return increase;
})()
二面整体比一面难很多,问的都是一些细节方面的问题,包括:
1. Vue和react的diff 算法的区别
(我:原来有区别?😂
2. Vue和React的不同点
3. React hooks用过吗
(我:莫得)
4. VueX和Mobx原理上的区别,和Redux又有什么区别
5. WebPack中Tree shaking的原理
6. TS中的泛型,使用TS带来了什么提升
(我:类型检查,面试官:😂


9.21 三面
三面据说是部门大佬面,不过感觉与二面相比,轻松了不少
手撕:
实现一个get函数,用来获取一个深嵌套对象中的值,例如:
var object = { 'a': [{ 'b': { 'c': 3 } }] };
get(object, 'a[0].b.c');
//应该返回 3
难点在于对象内部可能有数组,对于数组按下标方式取,需要特殊地解决


9.22 hr面
随便聊人生,包括:
你觉得自己这三次面试表现如何,能给自己打多少分
(我:60吧😂

9.29 经过漫长的等待,终于上岸了
希望有知道的老哥能否说一下南京data部门的工作情况?

#面经##校招##字节跳动##前端工程师#
全部评论
恭喜恭喜
1 回复
分享
发布于 2020-10-03 10:19
三面这个算法题不错啊,收录wx小程序了-- 前端面试精华
1 回复
分享
发布于 2020-10-09 10:46
小红书
校招火热招聘中
官网直投
恭喜啊
点赞 回复
分享
发布于 2020-10-01 23:55
点赞 回复
分享
发布于 2020-10-02 13:43
大佬,能请教一下非科班的项目经历是怎么找的吗,苦于找不到合适的项目经历。
点赞 回复
分享
发布于 2020-10-03 18:26
我二面就遇到了你二面的get方法🤣
点赞 回复
分享
发布于 2020-10-10 16:10
lz这个data是啥部门啊,不是广告把
点赞 回复
分享
发布于 2020-10-15 22:29
楼主,你是几点收到意向书的
点赞 回复
分享
发布于 2020-10-19 16:10
LZ有内推码嘛😀
点赞 回复
分享
发布于 2021-07-28 17:29

相关推荐

11 68 评论
分享
牛客网
牛客企业服务