首页 > 编程语言 >跨端之小程序面试题总结

跨端之小程序面试题总结

时间:2023-06-30 13:44:05浏览次数:56  
标签:总结 navigateTo 面试题 微信 程序 跨端 跳转 页面 wx

微信小程序的相关文件类型

  • WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。内部主要是微信自己定义的一套组件
  • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
  • js 逻辑处理,网络请求
  • json 小程序设置,如页面注册,页面标题及 tabBar

主要文件:

  • app.json 必须要有这个文件,如果没有这个文件,项目无法运行,因为微信框架把这个作为配置文件入口,整个小程序的全局配置。包括页面注册,网络设置,以及小程序的 window 背景色,配置导航条样式,配置默认标题
  • app.js 必须要有这个文件,没有也是会报错!但是这个文件创建一下就行 什么都不需要写以后我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量
  • app.wxss 可选

简述微信小程序原理

微信小程序采用 JavaScriptWXMLWXSS 三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口

微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现

小程序分为两个部分 webviewappService其中 webview 主要用来展现 UI appService 有来处理业务逻辑、数据及接口调用它们在两个进程中运行,通过系统层 JSBridge 实现通信,实现 UI 的渲染、事件的处理

小程序的双向绑定与 vue 哪里不一样

小程序直接通过 this.data 属性是不可以同步到视图的,必须调用 this.setData({ /* 这里设置 */ })

小程序的 wxss 和 css 有哪些不一样的地方

  • 尺寸单位 rpx:rpx 是响应式像素,可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。如在 iPhone6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素
  • 使用 @import 标识符来导入外联样式。@import 后跟需要导入的外联样式表的相对路径,用;表示语句结束

小程序页面间有哪些传递数据的方法

  • 使用全局变量,在 app.js 文件中定义全局变量 globalData,将需要存储需要的信息存放在里面,使用时直接使用 getApp() 拿到存储的信息
  • 使用 wx.navigateTowx.redirectTo 的时候,可以将部分数据放在 url 里面,并在新页面 onLoad 的时候初始化。wx.navigateTowx.redirectTo 不允许跳转到 tab 所包含的页面,onLoad 只执行一次

小程序的生命周期函数

  • onLoad 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数
  • onShow() 页面显示/切入前台时触发
  • onReady() 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
  • onHide() 页面隐藏/切入后台时触发。 如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台等
  • onUnload() 页面卸载时触发。如 redirectTonavigateBack 到其他页面时

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

网络请求小程序提供了 wx.request,可以使用 promise 封装(小程序支持 es6 )

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

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

小程序的优劣势

优势

  • 即用即走,不用安装,省流量,省安装时间,不占用桌面
  • 依托微信流量,天生推广传播优势
  • 开发成本比 App

缺点

  • 用户留存,即用即走是优势,也存在一些问题
  • 入口相对传统 App 要深很多
  • 限制较多,页面大小不能超过2M。不能打开超过10个层级的页面

小程序关联微信公众号如何确定用户的唯一性

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的

如何实现下拉刷新

首先在全局 config 中的 window 配置 enablePullDownRefresh

Page 中定义 onPullDownRefresh 钩子函数,到达下拉刷新条件后,该钩子函数执行,发起请求方法

请求返回后,调用 wx.stopPullDownRefresh 停止下拉刷新

bindtap 与 catchtap 的区别

相同点:首先他们都是作为点击事件函数,就是点击时触发。在这个作用上他们是一样的,可以不做区分

不同点:他们的不同点主要是bindtap是不会阻止冒泡事件的,catchtap是阻止冒泡的

简述下 wx.navigateTo()wx.redirectTo()wx.switchTo()wx.navigateBack()wx.reLaunch()的区别

  • wx.navigateTo():保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面
  • wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
  • wx.switchTab():跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
  • wx.navigateBack()关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层
  • wx.reLaunch():关闭所有页面,打开到应用内的某个页面

参考 前端面试题-小程序

标签:总结,navigateTo,面试题,微信,程序,跨端,跳转,页面,wx
From: https://www.cnblogs.com/EGBDFACE/p/17501992.html

相关文章

  • MySQL内存使用率高且不释放问题排查与总结
    一、内存使用率高且不释放问题排查生产环境MySQL5.7数据库告警内存使用率95%。排查MySQL内存占用问题的思路方法可以参考叶老师这篇文章:https://mp.weixin.qq.com/s/VneUUnprxzRGAyQNaKi-7g。TOP命令查看MySQL进程的RES指标,发现内存使用了10.6G,而数据库的innodb_buffer_pool_si......
  • Markdown 用法总结
    1.插入图片Markdown中插入图片的语法为:方法1:![图片说明](图片路径)方法2:<imgsrc="图片路径"width="300"height="200">1)主要分为网络图片和本地图片其中网络图片可以直接写入网址即可,而插入本地图片可以分为绝对路径和相对路径,由于绝对路径在不同的环境下容易无法......
  • 前端知识点总结(一)
    前端知识点HTMLHTML是超文本标记语言,用于构建网页结构和内容。HTML元素、标签和属性的概念。常用HTML标签的使用,如<div>、<p>、<img>等。CSSCSS是层叠样式表,用于控制网页的样式和布局。CSS选择器、属性和值的基本概念。常用的CSS样式属性,如color、font-size、margin等......
  • 4、5及期中考试总结
    一.前言Java编程语言是当今最流行的编程语言之一,由于其跨平台性、面向对象性和安全性等特点,受到广泛的应用。作为一名计算机专业的学生,在学习Java编程语言时,我们需要完成多个作业来巩固所学知识。在前三次Java作业中,我们已经学习了Java的基础知识和常用技术,通过完成这些作业,我们......
  • Three.js教程:threejs语法总结
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生threejs语法总结本节课从JavaScript面向对象语法的角度,给大家总结下threejsAPI的使用习惯,这样方便大家更好的使用threejsAPI。Three.js语法总结:类(构造函数)Three.js提供了各种各样的类(构造函数),通过ne......
  • 每日总结2023年6月29日
    今日学习:数据库夏季学期课程了解以及课题选择(快递管理系统)磁盘:SSD不是磁盘,机械硬盘是磁盘,磁盘盘面保存数据,磁盘时用磁头在盘上磁化出一个一个的小磁铁来记录信息(生成磁道,一个磁道上有许多扇区),磁盘的存取时间=寻道时间+等待时间(平均定位时间+转动延迟)下面是例题计算机总线分为:外......
  • 2023年字节阿里等大厂Android岗秋招(校招)它来了,行情预测和面试题汇总
    写在前面前段时间的金三银四相信大家的找工作和面试,有的人从里面收获了心仪的offer;有的人走了一趟,收获寥寥,不甚满意;还有的人在观望,等待下一个良机。那么6月份快过去了,秋招它要来了!!!6.12,科大讯飞“飞行计划”正式启动,整整提前了1个星期!6.14,麦肯锡2024秋招全面启动,比去年提前了半......
  • 【备战金九银十】分享2023 Android中高级面试题大全
    都说今年互联网行情很差,Android行情更差。但到底怎么样呢,不能光听别人说,而要自己走出去看一看。还有两个月就要到金九银十了,那么如何准备即将来临的面试热潮呢?运筹帷幄之后,决胜千里之外!小编从来不打没有准备的战,不管是笔试还是面试都是有章可循的!!面试题,注意看!!非常重要!!对于程序员来......
  • 20230629习题总结
    1.QOJ6513EXPRESSION3考虑每个数正负状态的贡献,维护优先级后缀最小值。多项式部分不清晰。2.CF335FBuyOne,GetOneFree因为有重复的价格,贪心不成立,考虑反悔,反悔时不直接删去而是加入一个可撤销的等价于返回的操作,便于反悔之前的反悔。3.QOJ6178区间子集问题两个区间要......
  • 助教工作总结(计算机网络22级专升本)
    一、助教工作的具体职责和任务(1)协助并分担老师的工作,在线上或者线下对学生不理解的问题进行一定的指导以及答疑解答。(2)跟学生多聊天,了解一下老师的讲课进度是否过快,学生是否充分理解,收集并且分析后,跟老师进行一个反馈。二、助教工作的每周时长和具体安排(1)平常时段的7:00~23:00......