Skip to content

好的,已经为您重新整理了这份字节面试题的格式,并移除了个人信息。


字节某部门面试题

一面

聊项目(20min)

技术基础

  1. JS有哪些基本类型?判断类型有哪些方式?Object.prototype.toString 的详细原理是什么?
  2. ES6之前是怎么实现继承的?
  3. 闭包的作用是什么?举几个实际应用场景。
  4. React中父子组件的 useEffect 执行顺序是怎样的?
  5. useCallbackuseMemo 的使用场景分别是什么?
  6. TCP和UDP有哪些区别?
  7. HTTPS的加密传输过程是怎样的?
  8. WebSocket协议在网络分层中属于哪一层?
  9. Cookie和LocalStorage的区别是什么?
  10. 如何让LocalStorage实现过期功能?
  11. requestIdleCallback 会在什么时候执行?如果某一轮事件循环中不断产生微任务,这一轮会结束吗?

算法与代码

  1. 一道异步代码输出题。
  2. 找出二叉树每层的最大值 (要求写出打印顺序)。

追问

  1. git mergegit rebase 的区别是什么?平时更常用哪个?
  2. Fiber架构做了哪些优化?
  3. React中 useState 的原理是否基于闭包?

二面

技术与场景设计

  1. SDK设计:如何能让SDK尽可能地不去影响原生项目的运转?
  2. JSBridge兼容性问题
    • 背景:SDK需要调用客户端(Native)提供的能力(如打开相机、打电话),这通过JSBridge实现。
    • 问题:如果前端组件(依赖于高版本SDK)运行在了安装着低版本SDK的客户端上,导致组件想调用的新功能(如打电话)在当前客户端的JSBridge中不存在,从而调用失败。
    • 提问:有没有什么思路或机制来解决这种版本不一致导致的调用失败问题?
  3. 前端监控
    • 性能指标采集怎么做的?有哪些关键的性能指标?
    • 用户行为监控是怎么做的?
  4. 介绍一下日常中用得比较多的TS工具函数和一些API。
  5. 有接触过一些Node.js相关的知识吗?或者项目中有没有用到?
  6. 公司内网站的联合登录(SSO)是如何实现的?如果登录过子域名A后,再访问子域名B,是否会重定向?Cookie存在哪个域名下?

算法

  1. 写一个类微信抢红包的函数(随机金额版本)。
  2. 给定一个nums数组,找出所有符合 a+b+c===0 的不重复三元组 (顺序不重要)。

三面

实习与项目经历 (30min)

  1. 在第一段实习公司里面学到了什么?
  2. monorepo 相比于多仓管理有哪些优缺点?
  3. 硬链接和软链接的具体应用场景是什么?
  4. 埋点SDK设计中的兼容性如何处理?浏览器兼容性如何覆盖?
  5. 埋点项目最终交付形态是什么样子的?存储层用了什么?为什么要用ClickHouse?
  6. 项目中的技术难点是什么?
  7. (上一段实习相关内容...)

拷打技术基础

  1. 访问一个网址的全流程是什么?
  2. DNS中路由到目标服务器的过程详细讲讲。
  3. 七层网络协议了解吗?展开讲一下。
  4. 讲讲HTTP缓存机制及优先级。
  5. HTTP状态码:4xx和5xx分别代表什么?301、302、307分别是什么?
  6. HTTPS加密过程。
  7. 线程和进程的区别。
  8. LocalStorage与Cookie的差异有哪些?
  9. requestIdleCallback 的工作原理。
  10. 日常Git操作有哪些?(展开讲讲 rebasemerge 的区别,fetchpull 的区别)。
  11. 如何撤销本地未提交的修改?如果只能用git命令实现呢?
本站访客数 人次 本站总访问量