小程序 App 的 onLaunch、onShow、onHide 分别在什么时机触发,onLaunch 里要注意什么?
围绕“小程序 App 的 onLaunch、onShow、onHide 分别在什么时机触发,onLaunch 里要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明冷启动与热启动切换场景下各钩子的行为。
小程序 · 运行时与开发面试题第 1 页,显示第 1–45 题,共找到 45 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“小程序 App 的 onLaunch、onShow、onHide 分别在什么时机触发,onLaunch 里要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明冷启动与热启动切换场景下各钩子的行为。
围绕“小程序逻辑层执行耗时任务会卡住什么,为什么渲染层动画仍可运行但事件响应变慢”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须基于双线程分工说明事件派发受阻而 WXML 已渲染页面不卡的成因。
围绕“小程序 wx.authorize 与 scope 列表如何使用,用户拒绝授权后如何再次引导”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明提前授权与调起时授权两种模式及 openSetting 引导方案。
围绕“小程序自定义组件的抽象节点(抽象组件)是什么,selectComponent 有哪些使用限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明抽象节点按组件 generic 临时标记渲染的概念与实例获取方式的注意点。
围绕“小程序 behaviors 与组件的逻辑复用是什么关系,多个 behavior 同名属性冲突怎么处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 behavior 混入机制及同名字段的覆盖优先级。
围绕“小程序组件的 created、attached、ready、detached 各在什么时机触发,数据请求该放哪个”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出组件生命周期顺序并结合节点树插入时机说明用途。
围绕“小程序组件的 pageLifetimes(show/hide/resize)解决什么问题,和组件自身生命周期有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明组件感知所在页面显隐的需求场景。
围绕“小程序组件 properties 的 observer 在什么时候触发,使用时要避免什么坑”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 observer 触发条件与在 observer 里再 setData 导致循环的风险。
围绕“小程序组件间 relations 定义解决什么问题,典型用在什么组件组合上”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须以类似 tabs/tab-item 场景说明双向关联注册机制。
围绕“小程序组件的 slot 如何定义和使用,多 slot 需要做什么额外配置”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明匿名/具名 slot 用法及 options.multipleSlots 配置。
围绕“小程序组件样式隔离 styleIsolation 的几种取值有什么区别,外部样式如何影响组件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较 isolated、apply-shared、shared 三种取值的作用方向。
围绕“小程序子组件如何向父组件传递事件和数据,triggerEvent 怎么用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 triggerEvent 与 bind 自定义事件的配对用法。
围绕“小程序自定义组件和页面在配置与能力上有哪些异同,何时该抽成组件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较构造器、生命周期与路由能力的差异并给出抽象标准。
围绕“小程序页面中哪些数据应该放 data 里,哪些应挂在 this 上或模块作用域”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出是否需要驱动视图这一判断标准。
围绕“小程序为什么采用逻辑层与渲染层分离的双线程模型,这一架构带来哪些限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明双线程的通信方式与不能直接操作 DOM 的根本原因。
围绕“小程序如何用 wx.getSetting 检测授权状态并据此决定是否展示引导按钮”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出先查询再决定是否弹授权的决策链。
围绕“小程序获取用户信息为什么从 wx.getUserInfo 弹窗改为 button open-type 再到 getU”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明接口变迁原因及 getUserProfile 需用户手势触发的限制。
围绕“小程序独立分包与普通分包有什么区别,什么业务适合用独立分包”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明独立分包不依赖主包即可运行及其限制(如不能用主包资源与 App 生命周期差异)。
围绕“小程序逻辑层和渲染层之间通过什么机制通信,为什么说频繁跨线程通信是性能瓶颈”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清数据经 Native 中转序列化的成本。
围绕“小程序登录流程中 wx.login 拿到的 code 如何使用,为什么不能在前端直接换 session_key”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须画出 code 到后端再调 code2Session 的完整链路及安全原因。
围绕“小程序从 B 页面返回 A 页面时如何把数据带回去”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 getCurrentPages 改前一页数据或 events 事件回调等方案并比较。
围绕“小程序页面中定时器和事件监听应在哪个生命周期清理,泄漏会造成什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 onHide 与 onUnload 下资源是否释放的判断。
围绕“小程序页面数据初始化应该放在 onLoad 还是 onShow,两者的取舍标准是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按是否需要每次进入都刷新来区分,不罗列其他生命周期钩子。
围绕“为什么小程序页面 onLoad 之前拿不到页面实例和 this.setData,路由传参又只能在 onLoad 拿”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释页面实例创建与路由参数注入的先后顺序。
围绕“小程序页面 onLoad、onShow、onReady 的执行顺序和各自只执行一次还是多次”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出完整顺序及各钩子的触发次数差异。
围绕“小程序页面滚动卡顿、长列表渲染慢时,从双线程与 setData 角度如何定位和优化”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出减少节点数、分页加载与 IntersectionObserver 等具体手段。
围绕“小程序页面栈最多多少层,超过后 navigateTo 会怎样,如何规避”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明层数上限、超限表现与用 redirectTo 等规避方案。
围绕“小程序获取用户手机号的流程是怎样的,为什么需要后端配合解密”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 button 触发、code/加密数据交后端换取手机号的链路与安全边界。
围绕“小程序 wx.navigateTo 的 events 参数(EventChannel)怎么用,解决什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 EventChannel 双向通信机制相对 getCurrentPages 的优势。
围绕“小程序页面跳转时如何传参,复杂对象参数有哪些可靠传递方案”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖 query 拼接、encodeURIComponent 编码及事件通道或全局存储等替代方案。
围绕“小程序 wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch 的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按页面栈变化和目标页面类型(是否 tabBar)区分四个 API。
围绕“小程序登录态过期如何检测与无感刷新,wx.checkSession 的局限是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 checkSession 校验微信侧会话与自有 token 过期判断需结合使用。
围绕“小程序 setData 是同步还是异步的,为什么连续读取 this.data 可能拿到旧值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分数据同步写入与视图异步渲染两个层面。
围绕“小程序 setData 的回调参数什么时候执行,适合用它解决哪类时序问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明回调在视图更新完成后触发及其适用场景。
围绕“小程序 setData 支持哪些数据路径写法,如何只更新数组某一项或对象的某个字段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出路径更新语法及其相对整对象替换的优势。
围绕“小程序 setData 触发视图更新的底层过程是怎样的,为什么只应传递变化的数据”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明数据传输与 diff 重渲染的链路及传输量对性能的影响。
围绕“在小程序滚动或高频事件中频繁调用 setData 会出什么问题,应如何治理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出合并更新、节流或改用其他方案的具体取舍。
围绕“小程序单次 setData 传输数据过大有什么后果,官方对数据量有什么建议”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明大数据量序列化传输的代价与官方建议上限。
围绕“小程序分包在什么时候被下载,进入分包页面时用户会经历什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按需下载与加载等待的表现。
围绕“小程序分包预下载如何配置,应基于什么判断决定预下载哪些分包”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 preloadRule 配置方式及网络/场景权衡。
围绕“小程序分包之间以及主包与分包之间的资源引用有哪些限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须说清分包可引用主包资源、分包间不能互相引用的规则。
围绕“小程序为什么要做分包,主包和分包的体积限制分别是多少”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出体积限制数字与分包对启动速度的意义。
围绕“小程序 tabBar 页面与普通页面在路由和生命周期上有什么特殊之处”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 tab 页只能用 switchTab 切换、首次加载后不销毁等差异。
围绕“小程序中 openid 与 unionid 有什么区别,什么场景必须打通 unionid”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明同一用户跨小程序/公众号/应用唯一标识的场景。
围绕“小程序 Worker 适用于什么场景,它与逻辑层线程之间如何通信、有哪些限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Worker 无法操作页面与 wx API 受限的边界及典型计算场景。