微信小程序面试题及答案(实战版).docxVIP

微信小程序面试题及答案(实战版).docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

微信小程序面试题及答案(实战版)

一、基础概念题(共5题)

问:微信小程序和普通H5的核心区别是什么?实际开发中要注意哪些适配问题?

答:核心区别在运行环境(小程序是微信内置的双线程渲染引擎,H5在浏览器)、API权限(小程序能调用微信支付、地理位置等原生能力,H5受限)、体积限制(主包2M内)。实际开发要注意:①样式不支持通配符*、body,需用page标签替代;②路由跳转有层级限制(最多10层),需避免深层嵌套;③本地存储wx.setStorage单个key最大1024KB,需拆分大数据。

问:小程序的目录结构中,app.json和page.json的作用分别是什么?举1个实际配置案例。

答:app.json是全局配置,管页面路径、窗口样式、tabBar、网络超时等;page.json是页面单独配置,优先级高于全局,可单独设置当前页面的导航栏标题、是否下拉刷新等。案例:全局app.json设置所有页面导航栏为蓝色,某详情页需红色,就在该页面的page.json中配置navigationBarBackgroundColor:#ff0000覆盖全局。

问:小程序的“双线程模型”指什么?为什么要这么设计?

答:双线程是逻辑层(JS线程)和视图层(WebView线程)分离。逻辑层负责业务逻辑(数据处理、接口请求),视图层负责页面渲染,通过微信原生桥接器通信。设计目的:①隔离风险,避免JS长时间运行阻塞页面渲染;②保障微信生态安全,限制逻辑层对原生API的直接访问。

问:wx:for循环渲染时,为什么要加wx:key?wx:key可以用哪些值?

答:加wx:key是为了提高列表渲染性能,让小程序准确识别列表项的唯一性,避免重复渲染或错乱。可用值:①数组中item的唯一属性(如id,需是字符串/数字);②保留关键字*this(仅当item本身是唯一值时,如纯数字数组)。

问:小程序的本地存储有哪几种方式?它们的区别和使用场景是什么?

答:三种方式:wx.setStorageSync(同步)、wx.setStorage(异步)、wx.setStorageInfo(获取存储信息)。区别:同步方法会阻塞后续代码执行,异步不会;同步适合少量数据(如用户ID),异步适合大数据(如列表缓存)。场景:①同步:登录后存储token,需立即使用;②异步:缓存首页banner图数据,不影响页面加载。

二、生命周期题(共3题)

问:小程序的应用生命周期和页面生命周期有哪些关键函数?请说明它们的执行顺序(以打开新页面为例)。

答:应用生命周期(app.js):onLaunch(初始化,全局只执行1次)→onShow(小程序显示)→onHide(小程序隐藏);页面生命周期(page.js):onLoad(页面加载,只执行1次)→onShow(页面显示)→onReady(页面渲染完成)→onHide(页面隐藏)→onUnload(页面卸载)。执行顺序:打开小程序时,app.onLaunch→app.onShow→页面onLoad→页面onShow→页面onReady;跳转新页面时,旧页面onHide→新页面onLoad→新页面onShow→新页面onReady。

问:onLoad和onShow的区别是什么?实际开发中,哪些逻辑适合放在onLoad,哪些适合放在onShow?

答:onLoad只在页面加载时执行1次,接收页面跳转的参数(options);onShow每次页面显示时都会执行(如返回页面、小程序从后台切前台)。适合onLoad:①初始化页面数据(如根据options.id请求详情接口);②绑定一次性事件。适合onShow:①刷新页面数据(如返回购物车后刷新商品数量);②检查登录状态(如小程序切前台后验证token是否过期)。

问:小程序中,页面之间传递数据有哪些方式?请分别说明适用场景。

答:常见方式及场景:①路由传参(wx.navigateTo的url带参):适合少量简单数据(如ID、名称),缺点是参数暴露在URL中,不能传对象;②本地存储:适合跨页面共享数据(如用户信息、全局配置),注意敏感数据需加密;③getCurrentPages()获取页面栈:适合相邻页面通信(如父页面给子页面传数据),需注意页面栈层级限制;④全局变量(app.js中定义):适合全局共享的常量(如接口域名),不适合频繁修改的数据。

三、实战开发题(共4题)

问:小程序开发中,如何解决“数据更新了但页面没渲染”的问题?请举2个实际案例。

答:核心原因是数据未被小程序的响应式系统监测到。解决方法:①

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档