张晓倩

1994
高级前端工程师

关于我

就职于百度智能小程序研发部,主要从事小程序的编译和性能优化相关的工作, 5年前端领域工作经验,有多个大型前端项目的设计与开发经历。喜欢解决具有挑战性的问题。注重项目的代码质量,希望创造出对他人有益的东西。

工作经历

  • 百度 前端

    Jul 2019 - Present | 北京

      小程序开发者工具-编译 (Node.js, Esbuild, Pkg) 2022.4 - 2023.10 - 核心开发

      编译模块是小程序开发模拟/调试定位/预览发布过程中最重要的环节。我参与设计了新版编译自研架构,不依赖打包工具从底层实现,我负责实现了对入口依赖和 css 的复杂编译处理。
      • 解决编译性能和稳定性方面的问题;通过尽可能并发,按需地启动依赖,以及合并多次 AST parse 等方式来优化性能。使新编译的全量编译性能提升 85%,增量编译速度提升 70%。
      • 深入优化代码;开发更细粒度功能的 postcss 插件,优化 css 处理流程。
      • 解决打包性能问题;采用 Esbuild 和 多线程 Terser 优化小程序打包阶段性能,并产出了多线程压缩开启核数的最佳实践。压缩性能提升 77%

      文心一言插件低代码 UI SDK (Rollup, San, Less) 2023.10 - present - 负责人

      是面向开发者的文心一言插件低代码框架, 开发者可通过 JSON 配置来生成插件 UI, 目前已在百度多个大模型平台上集成;我作为项目负责人,完成架构设计,并从 0 到 1完成项目的搭建。
      • 负责低码 sdk 的接口设计、核心模块的开发,集成单测和 CI/CD 搭建。
      • 深度理解 AI 业务,高效完成版本迭代;带领组员与各协同方积极沟通,保证接口和组件设计的合理性,并把关评审和CR。
      • 迭代支持了 markdown, 动态图表,生物大分子等复杂组件。

      小程序前端框架性能与业务 (Typescript, Webpack) 2020.4 - 2022.4 - 核心开发

      是在客户端上运行百度小程序的前端框架,负责管理小程序的生命周期,页面路由,数据绑定等。我主要负责小程序框架的性能优化和关键业务迭代。
      • 结合线上性能报表数据,对性能瓶颈——资源加载阶段 进行优化,通过预加载高频页面资源的方式,优化启动性能 50-200ms。
      • 业务支持方面:设计并重构了历史包袱较重的复杂核心模块:资源加载模块,解决线上资源加载导致的报错。
      • 完善开源宿主场景的支持: 支持无 v8 内核宿主下的 API 实现;打通小米,华为的登录流程。助力更多开源宿主接入小程序。
      • 探索底层创新性性能优化方案;调研将小程序底层 v8 替换为 quickjs 引擎,旨在解决开源宿主 v8 引擎冷启耗时过长问题。

      小程序框架质量 2020.9 - 2021.4 - 核心开发

      小程序具有数亿级别的日均访问,因此小程序框架的质量监控非常重要。在此方向,我负责对重要场景增设监控,对日志增加分析手段,在复杂问题排查和日志建设上积攒了丰富的经验。
      • 支付、登录、用户信息等重要场景,建立监控和用户反馈通路。协同B端建立监控,协同O端反馈问题到开发者,形成发现问题-解决问题的闭环。
      • 善于基于线上错误日志,排查并解决难以线下复现的棘手线上问题。高效解决开发者反馈的小程序框架问题 230+ 个

项目经历

  • zone: a mastodon client 

    基于 React 开发:一个小巧的 Mastodon web 客户端,支持查看时间线,撰写帖子等基本功能。

  • vs-emoji-intellisense 

    一个提供表情符号的智能提示、搜索和预览功能的 vscode 插件。

  • san playground 

    基于 vue 开发:San 的在线代码编辑器。

  • 技术栈

    Frontend
    TypeScript, JavaScript, React, Vue, Vite, UnoCSS
    Backend
    Node, Serverless
    DevOps
    AWS, Azure
    Languages
    Java, C/C++

    教育背景

    • GIS, 硕士,  武汉大学

      Sep 2016 - Jun 2019

    • GIS, 本科,  武汉大学

      Sep 2012 - Jun 2016