小程序与跨端面试题
小程序与跨端面试题,涵盖小程序双线程模型、setData 性能、分包、Taro 与 uni-app 原理、JSBridge 与 WebView 通信。共 6 道题。
- Web、微信小程序和跨端框架的运行边界有什么不同?
从运行环境、组件模型、网络权限、生命周期和发布约束比较 Web、小程序与跨端框架,帮助面试时说明选型依据和迁移成本。
- 小程序的双线程模型是什么?逻辑层和渲染层如何协作?
说明微信小程序逻辑层(AppService)与视图层(WebView)分离的原因、通信方式和代价,以及 WXS 与 Skyline 对这一模型的改进。
- setData 为什么会慢?如何优化小程序的数据更新?
从 Shadow 树规模、更新数据量、调用频率和后台页面四个方面说明 setData 的性能影响因素与官方优化建议。
- 小程序的分包、独立分包和分包预下载分别解决什么问题?
说明 subPackages 的配置与引用规则、独立分包的启动特性与限制、preloadRule 预下载配置,以及分包异步化的作用。
- Taro 和 uni-app 如何把代码转换成小程序?编译时和运行时有什么区别?
对比编译型转换与 Taro 3 的运行时架构(模拟 DOM、自定义渲染器、模板递归),以及 uni-app 的条件编译和逻辑层/视图层拆分。
- JSBridge 是什么?WebView 页面如何与原生或小程序通信,怎样做安全校验?
说明 JSBridge 的两种调用方向和常见实现(注入对象、消息处理器、URL 拦截),小程序 web-view 的通信限制,以及来源校验、能力白名单和参数校验。