字节前端商业化一二三面面经

一直有在牛客学习 算是回馈一下社区~

一面 10.10 16:30~17:30

  • 项目+八股

问项目

Formily原理

React学习过程中的疑问

常用的hooks

setTimeout和setInterval倒计时是精确的吗

有什么更好的倒计时的实现方式?

浏览器进程 线程

结合线程讲事件循环

网络进程和异步http线程关系

RN白屏问题?

lynx怎么解决的?

HTTP为什么要基于TCP?

HTTPS加密过程

  • 手撕
    让在算法和JS场景题二选一 选了后者
    实现sum函数 使得
    sum(2,3) // 5
    sum(2)(3) // 5
    const initialSum = (x, y) => {
      return x + y;
    }
    const curry = function (fn) {
      return function curried (...args1) {
          if (args1.length >= fn.length) {
              return fn.apply(this, args1);
          } else {
              return function (...args2) {
                  return curried.apply(this, [...args1, ...args2]);
              }
          }
      }
    }
    const sum = curry(initialSum);
    刚好前两天复习过 写的比较快 面试官说那把算法也写了 汗
    leetcode 括号生成
    当时有点bug还没de完 面试官说时间不够了 问了一下思路 基本对的 然后就是反问了

二面 10.12 15:00~16:00

  • 项目+八股
    问项目
    Formily介绍
    怎么桥接不同的UI组件库?
    useCallback useMemo
    useCallback后的函数 组件会重新分配地址吗?
    useImperativeHandle?
    useLayoutEffect和useEffect区别
    react跨层级通信的方式?
    useContext provider原理?
    Hooks内部结构?
    hooks是怎么知道他是哪个组件的?
    HTTP2.0?
    HTTP3.0?为什么基于UDP?
    进程线程区别?
    TCP和UDP区别?
    设计模式了解哪些?
    MVVM理解

  • 手撕
    算法

    leetcode 全排列

    JS场景题

    不用async/await循环 实现promise数组的自动有序执行(不考虑失败
    const solution = (promises) => {
      return new Promise(resolve => {
          let count = 0;
          const res = [];
          const len = promises.length;
    
          const auto = (count) => {
              if (count === len) {
                  resolve(res);
              } else {
                  Promise.resolve(promises[count]).then(data => {
                      res[count] = data;
                      count++;
                      auto();
                  })
              }
          }  
      })
    }

    反问

三面 10.14 11:00-12:00
leader面 没让自我介绍 有点记不清了

  • 问项目
    formily有哪些联动手段?
    原理分别是什么?
    formily怎么实现响应式?
    Antd4.0怎么实现的?
    区别在哪里?
    中间闲聊了一段 和我探讨了一些非技术的东西(声乐和耳机
    Object map weakmap set区别
    学的最好的课?(答了计算机网络
    tcp拥塞控制?
    快速重传?
    滑动窗口定义是啥

  • 看代码说输出

    const p = new Promise(res => res());
    p.then(() => {
    console.log(1);
    throw new Error('err');
    }, () => {
    console.log(2);
    }).then(() => {
    console.log(3);
    }, () => {
    console.log(4);
    }).then(() => {
    console.log(5);
    }, () => {
    console.log(6);
    })

    还有一道很基础的this指向

  • 手撕

    对象扁平化 太紧张了 实现方式也不太好 磕磕绊绊地写完了
    const obj = {
    a: {
      b: {
        c: 2,
        d: 5,
      },
      e: {
        f: 1,
        h: {
          i: 3,
        }
      }
    },
    j: 4,
    }
    const res = {};
    const flatten = (obj, k) => {
    if (typeof obj === 'number') {
      const ky = k.slice(1).join('');
      res[ky] = obj;
      return ;
    }
    
    for (let key in obj) {
      if (obj.hasOwnProperty(key)) {
        flatten(obj[key], [...k, '.', key]);
      }
    }
    }
    flatten(obj, []);
    console.log(res);

    反问

希望能给个offer 今年真难呀

#字节招聘字节面试##前端##字节跳动##秋招#
全部评论
1 回复 分享
发布于 2022-10-17 03:01 浙江
你这个流程好快 我还在等二面 隔了好久 吐了 感觉隔这么久怕不是逗我玩的kpi
点赞 回复 分享
发布于 2022-10-22 02:57 湖北

相关推荐

不好意思家人们标题党了,另一个号简历不清晰,换这个号发布,实际上大厂投递了一直泡池子杳无音信😭牛友求助,投递简历杳无音信,附上投递流程:北京蓝标(9.2)一面(9.4)二面(9.7)oc(9.8)因为学院压力,已拒北京国源科技(9.10)一面挂(9.12)业务不匹配,做二维地图的,偏Java后端中科星图 base北京顺义总部(9.27)一面(9.28)二面(9.30)二面完直接oc(到岗时间太久,婉拒,总经理跟我说想去随时联系,但是北京太远了点,蜀黍肠胃差,容易水土不服)浙江群核科技 base杭州(9.20)一面(9.23)二面(9.26)主做react的,但因为业务栈要webgpu,webgl三维技术,跟面试官相谈甚欢oc(9.26)(到岗时间太久,工资偏低婉拒)字节跳动国际商业化产品与技术(9.24投递)一面(9.29)二面挂(10.9)准备了一大堆计算机图形学的相关项目和webgpu渲染管线,滔滔不绝讲的面试官皱眉了不爱听,最后抓住一个蜀黍不熟悉的pinia和vuex的底层区别疯狂拷打了快20分钟,后面听hr说是业务不匹配,他们是纯前端业务,我偏向计算机图形学(o(╥﹏╥)o惹)对字节有阴影了,好像因为不太想让我过丢了个hot100以外的hard手撕,面评脏了不想再投递了腾讯ui开发 base深圳(10.9投递,测评已做,简历每天更新)到现在依旧泡池子,好不容易找到一个能对标webgl技能标签的快手前端(10.9投递)泡池子小红书前端(10.9投递)泡池子网易前端(10.9投递)泡池子美团前端(10.9投递) 泡池子估计蜀黍的简历太菜了蜀黍现在在哪个平台投中大厂都杳无音信了,也很难这种能对标我技能的公司,不知道是不是简历的问题,求牛友狠狠拷打,不知道现在快11月了会不会很难投简历了,哭惹
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
12
38
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务