Skip to content

字节跳动-国际化内容安全平台-前端面试经验

自我介绍

(面试开始先进行了自我介绍)

技术问题

1. 包管理工具

  • pnpm 和 npm 有什么区别?
  • pnpm 相比 npm 有哪些优势?

2. 操作系统

  • 硬链接和软链接的区别是什么?
    • 硬连接共享同一个inode,同一份数据。源文件删除后仍然能访问。
    • 软连接是特殊的文件,指向另一个文件的路径。删除后成为断链。
  • 硬链接的优势是什么?
    • 共享同一个inode,数据一致性,空间一致性
    • 硬连接都被删除的时候,源文件才会被删除

3. 前端性能优化

  • 首屏优化思路
  • 浏览器缓存静态资源的机制
  • 有哪些 HTTP 请求头在缓存中可能会用到?
  • 场景题:如果有大量的图片应该如何设置相应的缓存策略?

4. WebSocket 深度问题

  • WebSocket 和长轮询、gRPC Streaming、SSE 的区别是什么?
  • WebSocket 有什么好处?
  • 场景题:当客户端设备需要和多个服务器实例建立连接,如何处理?
  • 场景题:如何完成事件广播?服务端一个 emit 如何让所有客户端都接受到?
  • 场景题:服务端如果连接了多个客户端实例,怎么能让消息进行可控的分发?
  • WebSocket 基于 HTTP 协议通过101进行升级,有些请求头是 hop-by-hop 而不是 end-to-end 的,能说一下对这个的了解吗?
  • 如果 WebSocket 需要配置请求头的话,需要配置什么请求头?

5. 编程题

  • 大数相加
  • TS 伪构造消息订阅

6. 数据处理相关

  • 除了前端以外,有没有做过 ETL (数据处理)的事情?
  • 有没有使用过 ClickHouse?
  • 有没有了解过 pivot?
  • 场景题:有很大很大的数据表,希望做一些数据的任务,希望放在 SQL 中进行查询。如何把一个表中的部分数据通过中间表放入另外一个表中?有没有优化策略?思路是什么?
  • 场景题:埋点上报,用户量非常大,观察用户行为是否有问题时,如何处理会比较好?思路是什么?
本站访客数 人次 本站总访问量