前端面试:Taro / 小程序方向
1. Taro 是什么?它解决了什么问题? Taro 是跨端开发框架,可以用 Vue/React 等语法开发微信、支付宝、抖音小程序和 H5,提高多端代码复用。 2. Taro 和原生微信小程序开发有什么区别? 原生小程序更贴近平台,性能和调试直接;Taro 工程化和跨端复用更好,但要处理平台差异和框架转换带来的兼容问题。 3. Taro 多端适配的原理怎么理解? 通过编译层把 Taro 代码转换为不同平台代码,同时提供统一 API。实
七、Taro / 小程序方向
1. Taro 是什么?它解决了什么问题?
Taro 是跨端开发框架,可以用 Vue/React 等语法开发微信、支付宝、抖音小程序和 H5,提高多端代码复用。
2. Taro 和原生微信小程序开发有什么区别?
原生小程序更贴近平台,性能和调试直接;Taro 工程化和跨端复用更好,但要处理平台差异和框架转换带来的兼容问题。
3. Taro 多端适配的原理怎么理解?
通过编译层把 Taro 代码转换为不同平台代码,同时提供统一 API。实际多端仍需要条件编译、适配层、组件封装处理差异。
4. Taro 项目中遇到过哪些兼容问题?
常见有样式单位差异、组件属性差异、生命周期差异、平台 API 不一致、原生组件层级问题、地图/视频/Canvas 表现不同。
5. Taro + Vue3 + TypeScript 项目怎么组织目录?
常见有 pages 页面、components 组件、services/api 接口、stores 状态、utils 工具、types 类型、assets 资源、hooks 复用逻辑。
6. 小程序分包是什么?为什么要做?
把代码拆成主包和子包,进入对应页面时再加载子包。可以减少主包体积,提升启动速度。
7. 小程序首屏加载慢怎么优化?
主包瘦身、分包、图片压缩、减少首屏接口、缓存关键数据、减少 setData、骨架屏、避免首屏加载重组件。
8. 微信小程序生命周期有哪些?
应用生命周期有 onLaunch/onShow/onHide;页面生命周期有 onLoad/onShow/onReady/onHide/onUnload;还有下拉刷新、触底、分享等事件。
9. 小程序页面生命周期和 Vue 组件生命周期如何配合?
页面初始化逻辑可放 onLoad,页面展示刷新放 onShow,组件内部状态初始化用 Vue 的 onMounted,销毁清理用 onUnmounted。
10. 小程序中如何实现登录授权?
前端调用 wx.login 获取 code,传给后端换 openid/session/token;用户信息授权根据业务触发;前端保存 token,后续请求带上。
11. 小程序如何接入微信支付?
前端发起下单请求,后端返回支付参数,前端调用 wx.requestPayment,根据成功/失败回调处理订单状态,最终以服务端支付回调为准。
12. 小程序如何实现分享、订阅消息?
分享用 onShareAppMessage/onShareTimeline 配置标题、路径、图片。订阅消息先调用订阅授权,用户同意后后端按模板发送。
13. 小程序里 Canvas、地图、视频组件有什么坑?
这些属于原生组件,可能有层级高、样式覆盖困难、跨端表现不一致、性能消耗大等问题,需要提前验证并做平台适配。
14. Taro 项目如何封装跨端组件?
对外保持统一 props 和事件,内部根据平台做条件编译或适配。通用逻辑抽 hooks,平台差异放适配层,避免页面里到处写判断。
15. 上线过的小程序项目中,最复杂的问题是什么?怎么解决?
可以答:“之前遇到过首屏慢和分包体积过大的问题。我先分析主包依赖,把低频页面拆到分包,压缩图片,移除不必要依赖,同时缓存首页关键接口,最后启动速度明显提升。”
评论留言
登录后可留言和点赞