字节跳动前端寒假实习面经 已拿offer

楼主大三,由于下学期基本没课了,所以准备找份实习。本人项目经验较多,基础一般,所以面试主要准备的是前端基础,从10月份开始按照牛客的面筋进行知识点总结,这些面经给了我很大的帮助,特此回馈牛客~

一面(50分钟视频面试)

11月25日通过内推途径提交简历,28日接到面试通知,约在11月29日进行一面。

  1. 讲一讲你做的最好的项目
  2. 浏览器和Node.js如何加载js文件,有什么区别
  3. 浏览器对esmodule的兼容性怎么样
  4. 搭建react项目的时候,你通常是自己配置Webpack还是使用脚手架
  5. Webpack配置文件的作用
  6. 在React中有几种创建组件的方式
  7. 布局页面喜欢使用哪几种布局方式?
  8. Flex布局中,如何使一个元素水平垂直居中?
  9. 实现counter函数
    function counter(v) {...}
    const c = counter(3)
    console.log(c.add()) // 4
    console.log(c.sub()) // 3
    c.add()
    console.log(c.add()) // 5
  10. 输入根节点,打印标签路径,及其路径上的data-v的最大值
    <div id="root" data-v="3">
    <p data-v="1">p1</p>
    <span dataa-v="2">
    span1
      <span data-v="4">span2</span>
    </span>
    <p data-v="99">p2</p>
    </div>
    输出:
    ["DIV"], 3
    ["DIV", "P"], 3
    ["DIV", "SPAN"], 3
    ["DIV", "SPAN", "SPAN"], 4
     ["DIV", "P"], 99
  11. 写出这段代码的输出结果
    function createTask(ms) {
       return () => {
         console.log('start', ms);
         return new Promise(r => setTimeout(() => {
           console.log('end', ms);
           r(ms);
         }, ms));
       }
    }
    const tasks = Array(5).fill(null).map((_, i) => createTask(i * 1000));
    Promise.all(tasks.map(task => task())).then(console.log);
  12. 接上一题,实现限制同时运行任务数的函数limitRunTask
    // 表示同时只能有2个任务运行,且then中得到的数组顺序和通过Promise.all得到的一致
    limitRunTask(tasks, 2).then(console.log);
    花了大概30分钟聊了项目,在聊项目的过程中面试官提出了一些针对项目的问题。之后是手撕代码,代码中存在的一些问题,面试官都帮我指出了,面试官真的超好。
    之后接到一面通过的通知,约在12月2日进行二面。

二面(50分钟视频面试)

  1. 实现promise
  2. 块级元素、行内元素的区别
  3. 对行内元素设置padding,margin有什么效果
  4. 水平垂直居中的方式,尽可能多
  5. 元素层叠顺序是如何计算的
  6. 父元素宽高固定,子元素宽高不固定 ,如何将子元素水平垂直居中
  7. 百分比translate是根据什么值计算的
  8. 百分比padding,margin是根据什么值计算的
  9. display:inline-block元素之间存在间隙,原因及解决方案
  10. display:inline-block元素和父元素上下存在间隙,产生原因及解决方案
  11. 如何防止XSS攻击
  12. 有哪些鉴权方式
  13. cookie如何保存登录状态
  14. cookie有哪些字段
  15. HTTP缓存方式
  16. Cache-Control有哪些字段,它们的作用
  17. Cache-Control: no-cache / no-store 的区别
  18. +obj是怎么计算的(obj是一个Object)
  19. HTTPS SSl握手过程
  20. 对密码学的了解怎么样
  21. 讲一下对称加密、非对称加密
  22. JS浮点数精度问题,原因及解决方案
  23. Nodejs createServer启动HTTP服务端在底层做了哪些事情
  24. 如何做TCP拥塞控制
  25. 移动端如何解决图片加载造成的闪动
    二面除了一道编码题,之后一直都是提问,压力还是挺大的。网络方面的问题自己答的比较差,有些记忆性的问题也没有完全答出来,这一面感觉答的一般。不过面试官说我编码题完成的不错,算是有所加分。
    之后约在12月5日进行HR面。

HR面

HR面主要就问了一些个人经历的问题,面试官姐姐很好,这一面也没有前两轮技术面的紧张感。最后聊到了下学期实习的安排,以及毕业后打算的问题。
最后在12月9日收到offer邮件。

总结一下,字节的面试体验非常好,非常有效率。面试官也都非常好,在手撕代码的时候有一些问题,他们都帮忙指出了。最后要特别感谢帮我内推的HR姐姐,在一二面后等不及想要知道结果,她都在第一时间告诉了我面试的结果~特别感谢!

#字节跳动##实习##前端工程师#
全部评论
同想找字节寒假实习,看了面试题:算了再学学吧🤣
2 回复
分享
发布于 2019-12-11 00:52
可以看下简历吗
1 回复
分享
发布于 2019-12-11 01:14
联想
校招火热招聘中
官网直投
❤️了
点赞 回复
分享
发布于 2019-12-10 18:37
tql
点赞 回复
分享
发布于 2019-12-10 19:04
大佬什么时候是实习
点赞 回复
分享
发布于 2019-12-10 19:15
dalao真的是太tm强了  基本看不懂几个题目...
点赞 回复
分享
发布于 2019-12-10 19:20
dalao好厉害,一面没几个会的
点赞 回复
分享
发布于 2019-12-10 19:52
tql
点赞 回复
分享
发布于 2019-12-10 20:25
我酸了
点赞 回复
分享
发布于 2019-12-10 20:38
唉...大佬 我十二月二号内推的... 到现在都没动静
点赞 回复
分享
发布于 2019-12-10 21:04
❤了
点赞 回复
分享
发布于 2019-12-10 21:22
学弟,继续加油
点赞 回复
分享
发布于 2019-12-11 00:00
没有三面leader面吗?
点赞 回复
分享
发布于 2019-12-11 00:13
大佬我想看看你一面的第10题输出节点那个是怎么写的... 我自己写了个感觉不太好 function printPath(el, maxValue = el.getAttribute('data-v'), res = []) {     if (!el) return     let count = el.childElementCount     res.push(el.nodeName)     console.log(`[${res.toString()}, ${maxValue} ]`)     if (count > 0) {         let children = el.children         for (let i = 0; i < count; i++) {             curRes = [...res]             let cur = children[i].getAttribute('data-v')             maxValue = maxValue > cur ? maxValue : cur             printPath(children[i], maxValue, curRes)         }     } }
点赞 回复
分享
发布于 2019-12-11 15:34
沾沾大佬喜气
点赞 回复
分享
发布于 2019-12-11 18:31
第11题答案是个啥???我运行了一下,Array.fill直接给我报错惹.....
点赞 回复
分享
发布于 2019-12-14 22:35
大佬大佬,手撕代码是问的啥,算法吗?
点赞 回复
分享
发布于 2019-12-16 19:09
字节前端不撕算法吗大佬?
点赞 回复
分享
发布于 2019-12-16 19:19
校友路过,不过学弟tql
点赞 回复
分享
发布于 2019-12-17 16:20
大佬,能看下你12题是怎么写的么
点赞 回复
分享
发布于 2019-12-19 11:45

相关推荐

15 194 评论
分享
牛客网
牛客企业服务