百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

小程序面试题 小程序面试题前端

bigegpt 2024-10-12 06:29 4 浏览

现在面试,都会问,你会不会小程序呀,你做没做过小程序呀,其实小程序很简单,只要严格按照小程序的官网来开发就行,一些常用api呀,组件呀,小程序都帮你做好了,你只需要负责用就行了。今天我们来说一下小程序面试中可能遇到的问题。

一、简述一下小程序的文件类型

我们可以看到在项目的根目录有一个 app.json、app.js 和 project.config.json 我们依次来说明一下它们的用途。

首先我们看一下小程序的目录结构,下面是小程序目录结构的截图;

1、小程序配置 app.json

必须要有这个文件,如果没有这个文件,项目无法运行,因为微信小程序把这个作为配置文件入口,是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、跳转到其他小程序配置、开启定位权限、是否开启调试模式、指定sitemap文件、分包的配置、网络超时时间、底部 tab 等。

2、全局app.js

必须要有这个文件,没有也会报错!这个文件创建一下就行,可以什么都不写,以后我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。

3、工具配置 project.config.json

小程序工具的个性化配置,例如界面颜色、编译配置等等。

4、pages里面的文件,分为四种类型,下面来简单介绍一下这四程类型

WXML模板:和HTML非常像,WXML由标签属性等构成,但是和HTML也有很多不一样的地方,例如:

  • 标签名字不一样,写 HTML 的时候,经常会用到的标签是 div, p, span,而小程序的 WXML 用的标签是 view, button, text 等等
  • 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式

WXSS 样式:WXSS 具有 CSS 大部分的特性,小程序在 WXSS 也做了一些扩充和修改。

  • 新增了尺寸单位rpx。1rpx=0.5px=1物理像素
  • 提供了全局的样式和局部样式。你可以写一个 app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。
  • 此外 WXSS 仅支持部分 CSS 选择器

JS 交互逻辑:一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等等。在小程序里边,我们就通过编写 JS脚本文件来处理用户的操作。

页面配置page.json:独立定义每个页面的一些属性,例如顶部颜色、是否允许下拉刷新等等。

二、小程序的事件

1、事件分类

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

2、事件的绑定

事件绑定的写法同组件的属性,以 key、value 的形式。

  • key 以bind或catch开头,然后跟上事件的类型,如bindtap、catchtouchstart。
  • value 是一个字符串,需要在对应的 Page 中定义同名的函数。不然当触发事件的时候会报错。

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

3、如何实现下拉刷新

监听用户下拉刷新事件。

  • 需要在app.json的window选项中或页面配置中开启enablePullDownRefresh。
  • 可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  • 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

三、小程序更新页面的值

函数用于将数据从逻辑层发送到视图层(异步)

this.setData(Object data, Function callback)
复制代码

参数说明:

data:传一个object,是这次要改变的数据

callback:传一个function,是setData引起的界面更新渲染完毕后的回调函数

四、小程序的路由方式

打开新页面:调用 API wx.navigateTo 或使用组件 < navigator open-type="navigateTo"/>

页面重定向:调用 API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/>

页面返回:调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮

Tab 切换:调用 API wx.switchTab 或使用组件 <navigator open-type="switchTab"/> 或用户切换 Tab

重启动:调用 API wx.reLaunch 或使用组件 <navigator open-type="reLaunch"/>

五、常用的小程序请求接口的方式

HTTPS 请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile) 和 WebSocket 通信(wx.connectSocket)

相关推荐

Redis集群对比:主从复制、哨兵模式、Cluster一文看懂所有优缺点

在分布式系统中,Redis作为高性能的内存数据库,其集群方案的选择直接影响到系统的稳定性、可用性和扩展性。本文将全面对比Redis的三种主流集群方案:主从复制、哨兵模式和Cluster模式,帮助开发者...

redis的主从复制,读写分离,主从切换

当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。redis提供了一个master,多个sl...

# Redis 入门到精通(九)-- 主从复制(3)

#Redis入门到精通(九)--主从复制(3)##一、redis主从复制-常见问题(1)###1、伴随着redis系统的运行,master的数据量会越来越大,一旦master重启...

redis - 主从复制(Redis主从复制时序图)

1引言在上一篇文章中,我们了解了Redis两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AO...

# Redis 入门到精通(九)-- 主从复制(2)

#Redis入门到精通(九)--主从复制(2)##一、redis主从复制--数据同步阶段注意事项###1、数据同步阶段master说明1)如果master数据量巨大,数据同步阶段应...

Redis主从复制(redis主从复制主节点挂了)

介绍Redis有两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AOF文件恢复内存中的数据。不过...

深入解析 Redis 集群的主从复制实现方式

在互联网大厂的后端开发领域,Redis作为一款高性能的内存数据库,被广泛应用于缓存、消息队列等场景。而Redis集群中的主从复制机制,更是保障数据安全、实现读写分离以及提升系统性能的关键所在。今...

Redis主从架构详解(redis主从架构高可用如何实现)

Redis主从架构搭建Redis主节点配置创建主节点目录(/opt/redis-master),复制redis.conf到该目录下,redis.conf配置项修改#后台启动daemonizeyes...

抖音“四大包塘战神”:承包了全网的快乐

在抖音钓鱼垂类领域,"包塘战神"军团正掀起一场黑色幽默风暴。空军华、大表坑、李赔光、透心良四位创作者,以承包鱼塘为舞台,用连续翻车的钓鱼直播构筑起流量奇观。当钓鱼佬在抖音集体转型喜剧人...

ORACLE 11G RAC 安装-通过VM配置共享磁盘

简介:在自己的电脑上通过VM软件搭建Oracle11GRAC,通过修改VM的参数文件来实现磁盘共享!目标:搭建RAC环境实现:使用VMwareWorkstation8.0.0+ORACLE...

Linux操作系统安全配置(linux系统安全配置包括)

一、服务相关命令systemctlenable服务名#开机自启动systemctldisable服务名#禁用开机自启动systemctlstop服务名#停止服务systemctls...

关于Linux性能调优中网络I/O的一些笔记

写在前面和小伙伴分享一些Linux网络优化的笔记,内容很浅,可以用作入门博文内容结合《Linux性能优化》读书笔记整理涉及内容包括常用的优化工具(mii-tool,ethtool,ifconfig,i...

从 Sonatype Nexus Repository Manager 迁移到 Artifactory

1.Nexus1.1下载下载链接:https://help.sonatype.com/repomanager3/product-information/download/download-archiv...

Ubuntu20安装zabbix5.0企业监控系统亲测教程

前言示例主机:zabbix10.0.100.10,将安装在UbuntuServer上教程说明:因使用官方教程无法安装成功,所以本教程与官方教程有所不同安装前提:已安装UbuntuServer2...

Linux内核设计与实现—进程管理(linux内核程序设计)

进程进程就是处于执行期的程序(目标码存放在某种存储介质上)。进并不仅仅局限于一段可执行程序代码(Unix称其为代码段,textsection)。通常进程还要包含其他资源,像打开的文件,挂起的信号,...