小程序面试题收集(持续更新中...)
创始人
2024-05-29 13:25:20
0

小程序面试题收集

1.请谈谈微信小程序主要目录和文件的作用

  • project.config.json:项目配置文件,用的最多的就是配置是否开启https校验
  • App.js:设置一些全局的基础数据等
  • App.json:底部tab,标题栏和路由等设置
  • App.wxss:公共样式,引入iconfont等
  • pages:里面包含一个个具体的页面
  • index.json:配置当前页面标题和引入组件
  • index.wxml:页面结构
  • index.wxss:页面样式表
  • index.js:页面的逻辑,请求和数据处理

2.请谈谈wxml与标准的html的异同

  • 都是用来描述页面的结构
  • 都由标签,属性等构成
  • 标签名字不一样,且小程序标签更少,单一标签更多
  • 多了一些 wx:if 这样的属性以及{{}} 这样的表达式
  • WXML仅能在微信小程序开发者工具中预览,而HTML可以在浏览器内预览
  • 组件封装不同,WXML对组件进行了重新封装
  • 小程序运行在JSCore中,没有DOM树和window对象,小程序中无法使用DOM和window,也不能使用NPM包

3.请谈谈WXSS和CSS的异同

  • 都是用来描述页面的样式
  • WXSS具有CSS大部分的特性,也做了一些扩充和修改
  • WXSS新增了尺寸单位,WXSS在底层支持新的尺寸单位rpx
  • WXSS仅支持部分CSS选择器
  • WXSS提供全局样式和局部样式

4.怎么封装微信小程序的数据请求

  • 在根目录下创建util目录及api.js文件和apiConfig.js
  • 在apiConfig.js封装基础的get,post和put,upload等请求方法,设置请求体,带上token和异常处理等
  • 在api中引入apiConfig.js封装好的请求方法,根据页面数据请求的urls,设置对应的方法并导出,在具体的页面中导入;或将所有的接口放在统一的js文件中并导出
  • 在app.js中创建封装请求数据的方法
  • 在子页面中调用封装的请求数据

5.小程序页面之间有哪些(传值)传递数据的方法?

  • 使用全局遍历实现数据传递
  • 页面跳转或重定向时,使用url带参数传递数据
  • 使用组件模板template传递参数
  • 使用缓存传递参数
  • 使用数据库传递参数
  • 给html元素添加data-*属性来传递值,然后通过e.currentTarget.dataset或onLoad的params参数获取
  • 设置id的方法标识来传值,通过e.currentTarget.id获取设置的id值,然后通过设置全局对象的方式来传值
  • 在navigator中添加参数数值

6.请谈谈小程序的双向绑定和vue的异同

大体相同,但小程序之间this.data的属性是不可以同步到视图的,必须调用this.setData()方法

7.请谈谈小程序的生命周期

分为页面生命周期和应用生命周期

页面生命周期:

  • onLoad:页面加载时触发,只会调用一次,可获取当前页面路径汇总的参数
  • onShow:页面显示/切入前台时触发,一般用来发送数据请求
  • onReady:页面初次渲染完成时触发,只会调用一次,代表页面已可以和视图层进行交互
  • onHide页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等
  • onUnload:页面卸载时触发,如redirectTo或navigateBack到其他页面

8. 分析微信小程序的优劣势

优势:

  • 容易上手,基础组件库比较全,基本不需要考虑兼容问题
  • 开发文档比较完善,开发社区比较活跃,支持插件式开发
  • 良好的用户体验
  • 开发成本比APP要低
  • 为用户提供良好的保障

劣势:

  • 限制较多,页面大小不能超过1M,不能打开超过5个层级的页面
  • 样式单一,部分组件已经是成型的,样式不可修改
  • 推广面窄
  • 依托与微信,无法开发后台管理功能
  • 后台调试麻烦,因为api接口必须https请求且公网地址
  • 甄姬测试,个别安卓和苹果表现迥异

9.微信小程序和H5的区别

  • 运行环境不同
  • 开发成本不同
  • 获取系统权限不同
  • 应用在生成环境的运行速度流程

10. bindtap 和 catchtap的区别

  • bind事件不会阻止冒泡事件向上冒泡(事件冒泡)
  • catch事件绑定可以阻止冒泡事件向上冒泡(事件委托)

11.简述wx.navigateTo(),wx.redirectTo(),wx.switchTab(),wx.navigateBack(),wx.reLanuch()的区别

  • 在 wxml 页面中:跳转新页面,在当前页面打开,切换到首页tab
  • 在 js 页面中:分为应用内的页面和tabBar的页面
  • 如果上述跳转遇到跳转失败或者无效的问题,请访问:wx.navigateTo/wx.redirectTo无效

12.哪些方法可以用来提高微信小程序的应用速度

  1. 提高页面加载速度
  2. 用户行为预测
  3. 减少默认data的大小
  4. 组件化方案

相关内容

热门资讯

小学四年级作文辅导书【优质5... 小学四年级作文辅导书 篇一标题:我的暑假生活暑假到了,我和家人一起度过了一个快乐而充实的假期。暑假的...
我发现了生活中的美小学三年级... 我发现了生活中的美 小学三年级作文 篇一今天,在我走进学校的大门时,我发现了生活中的美。我望着校园的...
猜猜我是谁200字三年级作文... 猜猜我是谁200字三年级作文 篇一假如我是一只小鱼,你能猜到吗?我住在水里,每天游来游去,不用担心吃...
我的正能量书信大赛征文四年级... 我的正能量书信大赛征文四年级 篇一亲爱的老师:您好!我是你们班的学生小明。我写这封信是为了向您分享一...
真情常在四年级作文【通用3篇... 真情常在四年级作文 篇一我的好朋友真情常在,这是我在四年级学习生活中最深刻的感受。我有一个好朋友,她...
一处美丽的自然景观作文四年级... 一处美丽的自然景观作文四年级85篇 篇一大自然给人类带来了无尽的美景,其中有一处我觉得最美丽的自然景...
关于描写妈妈的作文400字四... 关于描写妈妈的作文400字四年级 篇一妈妈是我最敬爱的人,她是一个温柔而又坚强的女人。她总是默默地为...
四年级作文小小动物园600字... 四年级作文小小动物园600字 篇一小小动物园的一天今天,我和同学们来到了小小动物园,我们都非常兴奋。...
春天来了四年级作文300字【... 春天来了四年级作文300字 篇一春天的脚步渐渐地临近了,大地一片生机勃勃。我喜欢春天,因为春天里有温...
我的心愿四年级100字作文怎... 篇一:我的心愿四年级100字作文怎么写42篇第一篇内容:我希望成为一名优秀的画家我是一个喜欢画画的孩...
感动的事四年级作文300字【... 感动的事四年级作文300字 篇一我的小伙伴我有一个特别好的小伙伴,他叫小明。他是一个非常善良和乐于助...
回乡偶书【优选4篇】 回乡偶书 篇一 回乡偶书 篇二回乡偶书 篇三 重庆市忠县实验小学四年级二班:申晓航         ...
想象四年级作文400字(精简... 想象四年级作文400字 篇一我的未来世界我是一位四年级的学生,我有一个梦想,那就是拥有一个充满科技和...
四年级作文【精彩6篇】 四年级作文 篇一我喜欢的动物我喜欢的动物是小狗。小狗是一种可爱的动物,它们有着憨态可掬的外表和忠诚的...
四年级描写北京故宫的作文40... 四年级描写北京故宫的作文400字 篇一北京故宫是我国古代宫殿建筑的代表之一,它位于北京市中心,是中国...
四年级作文我的暑生活(通用6... 四年级作文我的暑生活 篇一我的暑假生活充满了欢乐和收获。这个暑假,我参加了许多有趣的活动,学到了很多...
玫瑰花和小雨珠四年级作文【通... 玫瑰花和小雨珠四年级作文 篇一玫瑰花和小雨珠我有一个好朋友,她叫小雨珠。她是我们班的班花,而我则是班...
我我快乐300字四年级作文8... 我快乐300字四年级作文 篇一我快乐的一天今天是我快乐的一天。早上我起床后,妈妈给我做了我最喜欢吃的...
我们这美丽的校园四年级作文(... 我们这美丽的校园四年级作文 篇一我热爱我的校园,因为它是如此美丽。每天早上,当我走进校园时,我都被各...
古老而神秘的海神庙四年级作文... 古老而神秘的海神庙四年级作文 篇一海神庙是一座古老而神秘的庙宇,位于一个小岛上。我和我的家人去参观了...