当前位置: 首页 > news >正文

5、小程序面试题

1, 小程序页面有哪些生命周期函数

onLoad: 页面加载

onReady: 页面初次渲染完成

onShow: 页面显示

onHide: 页面隐藏

onUnload: 页面卸载

2, 一页小程序页面有哪些文件组成,分别有什么作用

.wxml: 使用微信框架设计的一套组件构建页面结构

.wxss: 用于设置页面样式, 和css基本一致

.js : 设置页面数据与逻辑

.json: 页面的配置信息

3, 小程序中rpx和px有什么不同

px是固定单位, 指的是物理像素, 小程序样式不建议使用px,而建议用rpx

rpx是相对单位, 小程序把页面宽度统一设置为750rpx, 它可以根据不同屏幕宽度进行自适应,更有利于屏幕适配

4, 列举几个小程序常用组件及用法

view : 视图组件,块级元素, 用于显示块级视图及包裹子视图

text: 文本组件, 用于文字的渲染, 支持换行

Image: 图片组件, 用于渲染本地或在线图片

Button: 按钮组件

Input: 输入框组件

Picker: 选择器组件

Swiper: 轮播图组件

........

5, 简述小程序开发流程

首先在微信公众平台注册小程序账号, 获取appID

填写小程序基本信息,并下载微信开发者工具

使用小程序appID创建小程序项目,并编写完善项目

上传小程序项目为测试版, 由测试人员测试并修改BUG

测试完成后,在微信公众平台提交发布, 人工审核通过即可

6, 小程序中有哪些事件

tap, touchstart, touchmove, touchend, touchcancel,

Input, change, blue, focus, confirm

7, 简述微信小程序原理

微信小程序采用JavaScript、WXML、WXSS 三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现

8,小程序的双向绑定和vue哪里不一样

Vue双向绑定使用v-model指令即可实现

小程序双向绑定需要自己绑定value属性和input事件

而且vue中this.data即可修改数据并更新视图,

小程序中只能用this.setData()修改数据才可更新视图

9,. 微信小程序的优劣势

优势

容易上手,基础组件库比较全,基本上不需要考虑兼容问题;

即用即走,不用安装,省流量,省安装时间,不占用桌面

依托微信流量,天生推广传播优势

开发成本比App 低

缺点

样式单一,部分组件已经是成型了的,样式不可修改,例如:幻灯片、导航入口

相对传统App 要深很多

限制较多,页面大小不能超过2M。不能打开超过5个层级的页面

10,bindtap和catchtap的区别?

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

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

11,请谈谈WXSS和CSS的异同?

都是用来设置页面样式

WXSS 具有 CSS 大部分的特性,也做了一些扩充和修改;

WXSS新增了尺寸单位,WXSS 在底层支持新的尺寸单位 rpx;

WXSS 仅支持部分 CSS 选择器;

WXSS 提供全局样式与局部样式

12,小程序和H5的不同

运行环境不同(小程序在微信运行,h5在浏览器运行);

开发成本不同(h5需要兼容不同的浏览器);

获取系统权限不同(系统级权限可以和小程序无缝衔接);

应用在生产环境的运行流畅度(h5需不断对项目优化来提高用户体验);

13, 小程序如何实现分享

只需要实现onShareAppMessage这个函数,即可点击右上角菜单分享

调用API wx.showShareMenu() 开启分享功能, 点击右上角菜单分享

给button组件添加 open-type="share" 属性, 即可点击按钮执行分享

14, 小程序组件中有哪些生命周期函数

created: 组件实例刚刚被创建时执行

attached: 组件实例进入页面节点树时执行

ready: 组件在视图层布局完成时执行

moved: 组件实例被移动到节点树另一个位置时执行

detached: 组件实例被从页面节点树移除时执行

error: 组件方法抛出错误时执行

15, 小程序中的传值方式有哪些:

(1, 页面(父组件)向子组件传值: 通过调用子组件的props中自定义的属性传值, 或者 通过slot插槽传值

(2, 子组件向父组件(页面)传值: 子组件发射自定义事件, 把数据放入事件函数的参数传递

(3, 页面(父组件)主动读取子组件数据, 通过this.selectComponent()函数可得到子组件实例

(4, 页面到页面之间传值: 通过路由传值, 把数据拼接到url路径上传递, 在目标页面用onLoad参数接收

(5, 使用全局状态管理传值: 在app.js中globalData字段定义全局数据, 可以在每一个页面getApp()引入并读写

(6, 使用数据缓存传值, 在一个页面中wx.setStorage存值, 另一个页面wx.getStogage取值

16,如何实现下拉刷新和触底刷新

(1, 页面的下拉刷新功能默认时关闭状态, 可以在json文件中添加字段允许下拉刷新

"enablePullDownRefresh": true

然后,下拉页面会自动调用 onPullDownRefresh()函数, 在这里请求新数据

最后,数据请求完成的success函数中,调用wx.stopPullDownRefresh停止下拉刷新的状态

(2, 触底功能默认开启, 当页面滚动到底部,会调用onReachBottom()函数

17,你是怎么封装微信小程序的数据请求的?

(1、将所有的接口放在统一的js文件中并导出

(2、在app.js中创建封装请求数据的方法

(3、在子页面中调用封装的方法请求数据

18,小程序中如何解决跨域问题?

开发时, 可在开发工具的设置选项中勾选”不校验合法域名”, 以忽略跨域限制

发布时, 需在小程序后台开发设置添加小程序中使用的域名地址,使之合法即可

19, 说一些小程序中的常用API及用法

wx.request 发起网络请求

wx.navigateTo 执行路由跳转

wx.showModal 展示模态框

wx.downloadFile 下载文件

wx.setStorage 本地存储

wx.chooseImage 从相册选择图片

wx.getUserInfo 获取用户信息

.......

20, 小程序如何获取用户信息?

(1, 使用wx.getUserInfo() 这个API,单目前已废除,建议使用以下方式

(2, 给按钮添加open-type=”getUserInfo”属性, 用bindgetuserinfo事件绑定函数获取

(3, 使用open-data组件标签,添加type属性获取某一个用户信息

21,微信API有哪些限制让你觉得不爽?

个人开发者不能使用支付API

个人开发者不能用webview组件

某些微信API有调用频次限制,例如分享API

相关文章:

5、小程序面试题

1, 小程序页面有哪些生命周期函数onLoad: 页面加载onReady: 页面初次渲染完成onShow: 页面显示onHide: 页面隐藏onUnload: 页面卸载2, 一页小程序页面有哪些文件组成,分别有什么作用.wxml: 使用微信框架设计的一套组件构建页面结构.wxss: 用于设置页面样式, 和css基本一致.js :…...

Java特殊操作流

6 特殊操作流 6.1 标注输入输出流 System类中有两个静态的成员变量: public static final InputStream in:标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源public static final PrintStream out:标准输…...

如何用SCRM销售管理系统管理销售和做销售管理

每一家企业都在找适合自己公司的销售管理方法,实现销售目标和努力提高业绩。 我们常说,做好销售管理有很多路径和方法,但我们不知道从哪里开始?每个阶段我们该怎么办?如何有效管理销售团队?好的企企业微信…...

分享117个HTML婚纱模板,总有一款适合您

分享117个HTML婚纱模板,总有一款适合您 117个HTML婚纱模板下载链接:https://pan.baidu.com/s/1cC3I5cfh91-KmQj4nfSoPA?pwd9hod 提取码:9hod Python采集代码下载链接:采集代码.zip - 蓝奏云 import os import shutil import …...

VIVADO2022 sdk 工程创建流程

正点原子uart历程复现 create block design(起名 为System) -> open block design -> 号/IP catalog 中搜索zynq 双击打开, 将和pl相关的时钟都干掉 再auto 布线一下 把herarchy中的sources 中的system.bd右键、 无脑下一步导出 如…...

【MyBatis】源码学习 02 - Java 元注解以及 MyBatis @Param 注解分析

文章目录前言参考目录学习笔记1、Java 注解1.1、Java 元注解1.2、Java ElementType 枚举值1.3、自定义注解2、Param 注解分析2.1、Param 注解2.2、测试方法2.3、流程分析(重点:ParamNameResolver)前言 本文内容对应的是书本第 7 章的内容&am…...

贪心算法-蓝桥杯

一、贪心算法的优缺点优点:1.容易理解:生活常见。2.操作简单:在每一步都选局部最优。3.效率高: 复杂度常常是O(1)的。缺点:1.局部最优不一定是全局最优。二、例子: 最少硬币问题硬币面值1、2、5。支付13元,要求硬币数量最少。贪心法: (1) 5元…...

zookeeper 复习 ---- chapter03

zookeeper 复习 ---- chapter03如何创建 zookeeper 对象 要求: 1:知道这几个构造参数 2:知道每一个参数的含义 ZooKeeper(String connectString, int sessionTimeout, Watcher watcher) ZooKeeper(String connectString, int sessionTimeout…...

1.PostgreSQL

文章目录LIMITWITH 和RECURSIVEPostgreSQL 约束PostgreSQL AUTO INCREMENT(自动增长)PostgreSQL PRIVILEGES(权限)GRANT语法LIMIT SELECT * FROM COMPANY LIMIT 3 OFFSET 2;WITH 和RECURSIVE WITH RECURSIVE t(a,b) AS (VALUES (…...

buu [UTCTF2020]basic-crypto 1

题目描述: 01010101 01101000 00101101 01101111 01101000 00101100 00100000 01101100 01101111 01101111 01101011 01110011 00100000 01101100 01101001 01101011 01100101 00100000 01110111 01100101 00100000 01101000 01100001 01110110 01100101 00100000 0…...

火山引擎数智平台的这款产品,正在帮助 APP 提升用户活跃度

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 你有没有关注过 APP 给你推送的消息? 出于提升用户活跃度的考虑,APP 会定期在应用内面向用户进行内通推送,推送形式既包括 APP …...

记录每日LeetCode 2341.数组能形成多少数对 Java实现

题目描述: 给你一个下标从 0 开始的整数数组 nums 。在一步操作中,你可以执行以下步骤: 从 nums 选出 两个 相等的 整数从 nums 中移除这两个整数,形成一个 数对 请你在 nums 上多次执行此操作直到无法继续执行。 返回一个下标…...

Ant Design Chart词云图

什么是词云图?词云图,也叫文字云,是对网络文本中出现频率较高的“关键词”予以视觉上的突出,出现越多,显示的字体越大,越突出,这个关键词也就越重要。让浏览者通过词云图一眼就可以快速感知最突…...

mysql索引

索引 mysql索引: 在MySQL中,索引是存储引擎实现的,所以没有统一的索引标准,不同存储引擎的索引工作方式也不一样,也不是所有的存储引擎都支持所有类型的索引即使是多个存储引擎都支持同一种类型的索引,他…...

Java中怎样将数据对象序列化和反序列化?

程序在运行过程中,可能需要将一些数据永久地保存到磁盘上,而数据在Java中都是保存在对象当中的。那么我们要怎样将对象中的数据保存到磁盘上呢?这时就需要使用Java中的对象序列化。对象的序列化(Serializable)是指将一个Java对象转换成一个I/O流中字节序…...

ffmpeg filter的理解

ffmpeg filter的理解 filter的简介 从整体看,filte rgraph包含filter chain,而filter chain又包含了filter,所以可以分为是三个层次去理解。 filterfilter chainfilter graph filter graph是链接多个filter的有向图。它可以包含循环&#…...

炔活化的生物素化试剂773888-45-2,Alkyne-Biotin,炔基生物素

【产品描述】炔活化的生物素化试剂,可通过铜催化的点击反应与叠氮化物反应,产生稳定的三唑键,生物素炔烃在结构上与生物素炔烃相同。用于通过点击化学制备各种生物素化共轭物的生物素炔烃。Alkyne activated biotinylation reagents can prod…...

了解僵尸网络攻击:什么是僵尸网络,它如何传播恶意软件以及如何保护自己?

进行系统安全安排的专业人员非常了解“僵尸网络”一词。通常用于被劫持的计算机/系统链,如果指示恢复性和健壮的系统,则应很好地理解“僵尸网络”一词,因为它们的错误使用会导致巨大的混乱。 文章目录前言一、僵尸网络定义僵尸网络如何工作&a…...

大学生博主-14天学习挑战赛活动-CSDN

还在为写文没有流量发愁吗?还沉浸在假期中无法恢复状态吗?赶快来参与面向CSDN的大学生博主而举办的活动吧!本次活动为了避免刷量行为,也为了保持公平性,能够选出最优秀的文章,特意邀请了五位在C站具有一定影…...

如何自学芯片设计?

众所周知,芯片设计自学还是比较困难的,更不存在速成的。这里简单说一下学习的规划。 学会相应的知识 无论是科班毕业,还是理工科专业,想要入行IC,那就一定要具备相关的基础知识。尤其是在学校里,学习的很…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...