首页 > 字节跳动 前端 3+1 面经(估计是最简单的字节面经)
头像
Penumbra
编辑于 2020-08-24 14:05
+ 关注

字节跳动 前端 3+1 面经(估计是最简单的字节面经)

前言

不知道是不是部门真的很缺人的原因(字节教育),所以感觉和别的字节前端面经比起来要容易得多,不仅是前端基础方面,算法方面由于我本身是学管理的,面试官也没有出太难的算法题目。
所以这份面经可能并没有太多参考价值...

在开始前再给我整理的知识点打个广告 FE-Basics, 得益于它我匆匆忙忙的复习过程才不会显得那么狼狈,并且本次面试大概90%的基础问题都涵盖到了。

整体面试总结

一面完感觉凉了,结果告诉我二面面试官马上来,二面面试官告诉我评价挺好的(惊了),二面完感觉不错也的确过了。三面约的19号,当天和产品对线对的自闭后感觉状态非常差,算法也没完全写出来,感觉是凉了。结果HR小姐姐说过了,昨天(24号)收到了意向书。

三面真的被拷打了,上来问我埋点和错误监控收集,呜呜呜我都忘记我简历上写了这玩意了... 整体结束后就是感觉必凉,其他基础倒是自认回答的不错。但想到字节的风格我结束后还是觉得挂了,只能说面试随缘?

如果有需要内推的话,也可以联系我哦,这个字节的HR小姐姐真的人超好,我还没问她就来告诉我进度了23333. 阿里目前秋季校招入口应该是已经关闭了,估计需要等明年春招了。

算法

  • 用数组模拟一个栈,每次获取栈内最小元素的时间复杂度为o(1)
  • 实现Promise.allSettled()
  • 并发限制Promise.all()
  • 2维数组斜45度输出
  • 设计通用输入搜索组件,能够以列表展示返回结果,主要就防抖与请求竞态处理
  • 实现订阅发布模式
  • 基于XHR封装fetch
  • 大数相加
  • 字符串匹配,大概是给一个str,再给一个exp,判断str能否被exp匹配(如"sss"可以被".*"匹配),应该是lc原题的感觉

JS基础 & ES6

  • 装箱拆箱,隐式转换
  • 事件循环,V8与Libuv事件循环的差异
  • 原型链 为什么要这么设计
  • ES5继承 寄生组合式(俺忘了)
  • ES6继承 实例成员与静态成员处理
  • CommonJS与ES Module差异
  • 防抖节流
  • 柯里化 尾递归(虽然知道这玩意,但我不会)
  • typeof instanceof ...

HTML & CSS

  • BFC IFC
  • CSS动画 GPU加速开启(3d属性)与原理(GPU)
  • 伪类与伪元素差别
  • Flex布局

React

  • React Hooks, useEffect闭包陷阱
  • React Suspense能力 作用(新的组件数据获取机制)
  • Suspense 实现(抛出Promise异常)
  • Redux 中间件(store.dispatch())
  • React 虚拟DOM 本质 优点
  • React Fiber 调度器机制(嘴贱扯了这个,但是没答好。 反 面
    教 材)
  • React setState原生事件与合成事件表现

Node & GraphQL

  • Node 多进程 child_process(spawn fork exec execFile差异) cluster egg-cluster
  • Node IPC
  • Node 多线程模拟 worker_thread(又嘴贱了,也没答好)
  • PM2 原理 杀手进程与守护进程
  • Node GC 新生代(scanverge)/老生代(标记清除 标记整理)使用的算法
  • Koa与Express中间件 分别如何使用中间件衡量请求处理时间
  • GraphQL 与 RESTFul API差异
  • 基于GraphQL的BFF会有哪些优势与劣势
  • GraphQL n+1问题
  • Serverless优势 FaaS实例启动流程
  • git rebase

TS & Git & Babel & Webpack

  • TS类型编程(正好写过相关文章,说了蛮多然后就不问其他TS的问题了)
  • Webpack摇树优化,为什么编译目标得是ES6(ESM静态优化机制)
  • Babel原理(打扰了,没学过编译原理我只知道个AST) Babel编译过程
  • Webpack性能优化 分为开发耗时与构建产物大小两个方面,见上一篇面经
  • Webpack构建流程
  • loader与plugin plugin遵循的事件流机制

小程序 & 跨端方案

  • 跨端方案差异 Taro & Rax & Weex RN & KBone & Flutter 运行时(KBone)/编译时(其他)/底层GPU+Skia绘制控件(Flutter)
  • 基于Rax开发项目时遇到了什么问题,如何解决的
  • 小程序生命周期
  • 小程序架构(这见之前的面经 有具体些的讲解)
  • Taro原理(淦我嘴真的太贱了,这个只回答到制定了组件与API的通用标准)

网络 & 浏览器

  • XSS 与 XSRF 防范手段 重点讲了cookie的same-site属性与axios的X-XSRF-TOKEN请求头
  • HTTP缓存 强缓存与协商缓存相关请求头与响应字段
  • 为啥有了last-modified还需要etag
  • DNS解析过程 递归查询与迭代查询
  • TCP与UDP差异
  • 浏览器渲染过程 从HTML词法解析到栅格化线程池生成位图,具体细节记不太清了也没答好
  • cookie setCookie 常见cookie属性(记不清了,被拷打)
  • 跨域 OPTIONS请求 简单与复杂请求 CORS

其他

  • 大文件上传 分片(Blob对象) 流式处理(Stream)
  • Sentry原理(重写window.onerror) window.onerror不能捕获的错误
  • 埋点方法
  • 统计uv与pv(也就是记录用户是否访问过网站,我答的cookie或者是localStorage这种)
  • 其他的后面想起来补充。

更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐