首页 > 笔经面经 > 字节跳动前端寒假实习面经 已拿offer

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

头像
NightCatS
编辑于 2019-12-14 23:34:27 APP内打开
赞 13 | 收藏 166 | 回复32 | 浏览19075

楼主大三,由于下学期基本没课了,所以准备找份实习。本人项目经验较多,基础一般,所以面试主要准备的是前端基础,从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姐姐,在一二面后等不及想要知道结果,她都在第一时间告诉了我面试的结果~特别感谢!

32条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

近期精华帖

热门推荐