首页 > 字节跳动前端 一二三面 已意向
头像
阿珊向前冲
编辑于 2022-03-19 00:17
+ 关注

字节跳动前端 一二三面 已意向

https://jobs.toutiao.com/s/NACugpc

部门招人,内推啦:

笔者校招在经过深思熟虑后最终选择了字节跳动,现在已经来到部门实习了几个月,
部门小伙伴们个个都是人才,Leader自身反卷意识到位,人超好,部门业务也比较稳定,目前非常缺人(是真的缺,中国人不骗中国人),春招以及实习的同学可以火速拿简历来砸我,全程辅导+看状态
感兴趣的小伙伴可以私信我直推我现在的部门,或者使用内推码:PRJCJC1,在链接https://jobs.toutiao.com/s/NACugpc处选择自己感兴趣的职位投递。
个人还是非常建议私信我加v直推我现在的部门,这样还可以给大家做一些针对性的指导,如果有什么校招的问题,我也非常乐意给大家解答,不多说了兄弟们,私信就完事儿了


笔者暑假的时候在字节教育实习过,因为各种原因离职,秋招的时候重新投了字节其他部门。
可能是有字节的实习经历,秋招面试官基本都放我过了,三面之后3天就发了意向书。
另外如果有前端的同学对字节感兴趣,可以考虑投我面的这个部门,Leader人很好,组内氛围也不错,base北京、上海以及杭州。

下面是我实习以及秋招两次面试字节的面经:

实习

一面:

很简单,几乎纯八股。

二面:

  1. 路由懒加载和CDN的实现方式。

  2. react hooks。

  3. 看结果

    function Index(){
        const [ num ,setNumber ] = React.useState(0)
        const handerClick=()=>{
            for(let i=0; i<5;i++ ){
               setTimeout(() => {
                    setNumber(num+1)
                    console.log(num)
               }, 1000)
            }
        }
        return <button onClick={ handerClick } >{ num }</button>
    }
  4. https://ant.design/components/icon-cn/ 取出所有图标的名称,过滤名称中带circle字样的字符串,在开发者工具中取出即可。

  5. 弹出框实现遮罩层,说思路。

  6. 并发Promise,一次并发6次,如果中途reject一次,整体函数返回Promise.reject。整体成功返回成功的结果列表。

    /**
     * 
     * @param {Array<Promise>} asyncList 
     */
    async function promiseAll(asyncList) {
      let list = [];
      let res = [];
      for (let i = 0; i < asyncList.length;) {
        if (i + 6 < asyncList.length) {
          list = asyncList.slice(i, i+ 6);
          i += 6;
        }
        else {
          list = asyncList.slice(i);
          i = asyncList.length;
        }
        try {
          let _res = await Promise.all(list);
          res = res.concat(_res);
        } catch (error) {
          return Promise.reject(error);
        }
      }
      return res;
    }

三面:

  1. 说一说你知道的前端领域的技术(因为自我介绍里面提了一嘴)。

  2. 说一说为啥要学前端。

  3. 最具有挑战的一个项目。

  4. useMemo和useCallback的区别,以及用法。

  5. 讲一讲图片懒加载的实现。

  6. 说一说事件绑定的方式以及其区别。

  7. 实现一个订阅发布模式的类,要求另外加一个once方法,实现仅触发一次响应事件。

  8. 跨域的方法,详细说说jsonp的实现。

  9. 说一说跨标签页通讯,什么地方会用到跨标签页通讯。

  10. CDN优化时,你是如何判断该将哪些包分离。

  11. CDN原理。

  12. 3道判断题:

    1. 关于事件循环的一道题,非常基础的形式。

    2. 关于盒模型的一道题:问两个div盒子蓝色部分的像素宽高。

      #border-box{
          box-sizing: border-box;
      }
      #content-box{
          content-box: content-box;
      }
      .box {
          width: 10px;
          height: 10px;
          margin: 2px;
          padding: 2px;
          border: 1px solid red;
          background-color: blue;
      }
      
      <div id="border-box" class="box"></div>
      <div id="content-box" class="box"></div>
    3. 一道隐式转换的题:

      if ([]) console.log(1);
      if ([].length) console.log(2);
      if ([] == 0) console.log(3);
      if ({} === {}) console.log(4);
  13. 算法:版本号比较以及其优化。

  14. 想从实习的过程中学习到什么。

  15. 实习的时长问题。

秋招

一面

一面比较简单,纯八股文,写了一个instanceof的实现。

二面:

  1. 前端性能衡量指标以及优化方法
  2. iframe 的优缺点?
  3. BFC会与float元素相互覆盖吗?
  4. 深拷贝
  5. symbol的用处
  6. PWA使用过吗?serviceWorker的使用原理是啥?
  7. TCP 协议怎么保证可靠的,UDP 为什么不可靠?
  8. Fetch API与传统 XHR 的区别
  9. 前端路由原理?
  10. js实现树的深度优先搜索、广度优先搜索

三面:

  1. webpack用过吗,说一说原理

  2. loader和plugin分别有啥作用

  3. nodejs用的多吗

  4. koa的中间件是如何实现的有印象吗

  5. 写个算法吧

    // 实现函数solution(arr, k)
    // arr是number数组,k是number,返回前k个最小的数字组成的数组,保持相对顺序
    // 输入:[1,2,3,4,5,3,2],3,输出:[1,2,2]
    // 输入:[1,2,3,4,5,3,2],4,输出:[1,2,3,2]
    // 输入:[1,2,3,4,5,3,2],5,输出:[1,2,3,3,2] 

全部评论

(4) 回帖
加载中...
话题 回帖