原生小程序前端面试中,面试官通常会询问与小程序开发相关的基础知识、API使用、性能优化、生命周期管理等方面的问题。以下是一些高频的面试题目及其答案:
-
微信小程序的主要目录和文件的作用是什么?
project.config.json
:项目配置文件,用于配置如是否开启https校验等。App.js
:全局JS文件,用于设置全局基础数据等。App.json
:全局配置文件,设置底部tab、标题栏和路由等。App.wxss
:全局样式文件,可以引入iconfont等。pages
:包含各个具体页面的目录。index.json
:配置当前页面标题和引入组件。index.wxml
:页面结构文件。index.wxss
:页面样式表。index.js
:页面逻辑文件,处理请求和数据处理。
-
wxml与标准的html有什么异同?
- 相似之处在于都是用来描述页面结构,由标签和属性构成。
- 不同之处在于WXML使用的标签名字与HTML不同,WXML的标签更少且单一,有特殊的属性如
wx:if
和双大括号{{}}
表达式。WXML不能在浏览器中预览,且小程序没有DOM树和window对象。
-
WXSS和CSS有什么异同?
- WXSS具有CSS的大部分特性,并做了一些扩充和修改。
- WXSS新增了尺寸单位rpx,仅支持部分CSS选择器,并提供全局样式与局部样式。
-
小程序页面之间的传值方法有哪些?
- 使用全局变量、页面跳转或重定向时URL带参数、组件模板
template
传递参数、使用缓存、数据库传递参数、给HTML元素添加data-*
属性传递值。
- 使用全局变量、页面跳转或重定向时URL带参数、组件模板
-
小程序的双向绑定和Vue的异同?
- 相似之处在于都提供了数据双向绑定的机制。
- 不同之处在于小程序中
this.data
的属性不可同步到视图,必须调用this.setData()
方法。
-
小程序的生命周期函数有哪些?
- 页面生命周期包括
onLoad()
、onShow()
、onReady()
、onHide()
、onUnload()
。 - 小程序框架还包括应用级生命周期和组件级生命周期。
- 页面生命周期包括
-
如何封装微信小程序的数据请求?
- 创建
util
目录,包含api.js
和apiConfig.js
文件,封装基础的请求方法如get
、post
等,并处理请求体和异常。 - 在页面中导入并使用封装的请求方法。
- 创建
-
小程序与H5开发的区别是什么?
- 小程序运行在微信等平台内,而H5网页运行在浏览器中。
- 小程序使用微信提供的API和组件,H5网页使用标准的Web技术。
- 小程序有更好的性能和用户体验,但开发受到一定限制。
-
如何提高微信小程序的应用速度?
- 优化页面加载速度,预测用户行为,减少
data
的大小,使用组件化方案。
- 优化页面加载速度,预测用户行为,减少
-
小程序的发布流程是怎样的?
- 注册微信小程序账号,获取AppID,下载开发者工具,创建项目,配置域名,上传代码,提交审核,发布小程序。
-
小程序的支付流程是如何实现的?
- 小程序支付需要注册小程序并绑定商户号,调用
wx.login()
获取临时登录凭证(code),传送到后端与微信服务器交换access_token、openid和session_key,然后调用统一下单API获取支付参数,使用wx.requestPayment()
发起支付请求,用户确认后完成支付。
- 小程序支付需要注册小程序并绑定商户号,调用
-
小程序的生命周期函数有哪些?
- 生命周期函数包括
onLoad
(页面加载),onShow
(页面显示),onReady
(页面初次渲染完成),onHide
(页面隐藏),onUnload
(页面卸载),onPullDownRefresh
(下拉刷新),onReachBottom
(上拉触底),onShareAppMessage
(分享),onPageScroll
(页面滚动),onTabItemTap
(点击tab项目)。
- 生命周期函数包括
这些问题和答案覆盖了小程序开发的多个方面,包括项目结构、数据绑定、生命周期管理、性能优化、支付流程和发布流程等,是面试中常见的考察点。
原声小程序面试题集合:
第 1 篇资料:Web前端面试题分享—微信小程序篇(一) - 知乎
第 2 篇资料:2024年,前端岗最全面试攻略,吃透15个技术栈Offer拿到手软
第 3 篇资料:微信小程序面试题大全(持续更新) - CSDN博客
第 4 篇资料:前端面试题–小程序篇(持续更新中) - CSDN博客
第 5 篇资料:2023 6月份面试题 小程序篇 - 掘金
第 6 篇资料:2021.6月最新前端面试题总结(JavaScript、Html5、小程序 …
第 7 篇资料:微信小程序面试题合集(持续更新) - 掘金
第 8 篇资料:前端面试 - GitHub Pages
第 9 篇资料:面试官:说说微信小程序的支付流程? | web前端面试 - 面试 …
找到了第 10 篇资料:面试官:说说微信小程序的生命周期函数有哪些? | web前端 …