字节跳动 前端 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

相关推荐

三面业务主管面,最后的大boss,顺利过关!!希望offer快下来,太期待了项目+综合+算法,面试官很喜欢看问功能点的实现思路1.地图功能技术选型到最后落地的过程2.如果需要让产品能够绘制自己的路线图,那么往哪个方向去做迭代能实现这个功能?3.3D地图相比2D地图有挑战的点在哪?4.某个具体功能实现思路5.流程可视化编辑功能如何实现6.作为负责人应该做到哪些事情7.举一个项目过程中比较印象深刻或者有意思的事情8.如果一个项目给你要去做优化,你会从哪些方面做优化9.具体会关注哪些优化指标10.描述甘特图11.如果可视化过程中节点很多应该如何优化12. Vue3 Diff算法原理13.Vue的keep-alive14.webpack的vue文件是如何打包构建成html、js、css文件的?(webpack一问就寄,但是面试官让我大概猜一下思路,还是说了个7788)15.element-ui和elementplus的关系16.用伪代码大概说一下抽屉组件(也就是侧边栏的显示隐藏)怎么实现的17.希望给上面的组件传进去一个自定义的dom,希望在组件内显示,如何实现?代码题:1.最长无重复字符子串长度(LCR 016)2.求根节点到叶子节点数字之和(LCR 049)果然,最后又死在二叉树上,结果比正确答案多了一倍,debug的时候发现每个数字算了两遍,知道问题了但是最后没改出来,下来就改出来了,可惜哈哈哈#前端##25届暑期实习##软件开发2024笔面经##我的实习求职记录##字节##24届软开秋招面试经验大赏#
点赞 评论 收藏
转发
这次面的是工程院 bing 团队的 LLM 应用组,问的问题量不大,有一些比较开放性的问题比较有意思。1.自我介绍 两面都有2. 主要会根据项目做一些介绍,这个一面久,二面短一些。3. 一面问了 transformer 结构4. 有没有做过大模型之外的 NLP 相关的内容(简单讲了讲)二面的开放性问题5. 做 rag 应用的时候, 如果幻觉问题严重怎么办?比如已经给了很多 rag 召回的内容了,但是还是错误很多,尤其是一些时间数字类的信息,很容易不准确。(我回答:类似于指令微调,构造对应的数据集, 微调强化大模型对检索的内容的跟随能力)6.接着上面,那你觉得这种数据集怎么构造呢? 检索的内容和问题很好弄,但是答案怎么获取方便?(我: 我觉得可以反向构造,我先从网络上爬一堆内容作为答案,比如把新闻里的一些信息作为答案,然后让大模型比如 gpt4 生成对应的问题, 再检索召回相关的内容,构造数据集。 面试官说这个想法还挺有意思的)7. 我想通过加噪声的方式提高模型的鲁棒性, 你觉得这个噪声应该怎么加好? 或者说怎么确定加在 token 的什么位置,加什么 token?(不太懂,我就说从我一般的理解,加噪声都是从 embedding 去加的, 比如随机加一些高斯噪声提高鲁棒性)8.如果我做 rag 召回的相关内容里,会有人恶意注入了一些错误的信息, 你觉得会影响大模型的生成内容吗?怎么避免?(我认为肯定会有影响, 因为关注的信息有错。 我觉得可以提高召回的信息量, 从而稀释错误信息占比来解决)9.接着上面的回答, 我们的输入长度有限制,不能无限加召回的内容怎么办?(可以在检索召回链路中再加一层,类似于粗排后再精排一次,从而减少错误信息的量)其他的不记得了,就是感觉现在面试很喜欢问一些开放性问题。代码题一面编辑距离, 二面是一个有序数组左边平移一定位置后的数组,找到一个 target 的下标。都不算难。
点赞 评论 收藏
转发
11 68 评论
分享
牛客网
牛客企业服务