微信小程序简答题
Posted ╰つ゛~无名小姐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序简答题相关的知识,希望对你有一定的参考价值。
1
小程序的页面生命周期函数包含哪些?它们分别在什么时候触发?
(5.0分)
(1)onLoad页面加载时触发
(2)onReady页面初次渲染完成时触发
(3)onShow页面显示时触发
(4)onHide页面隐藏时触发
(5)onUnload页面卸载时触发
2
简单介绍微信小程序、原生APP和Web App之间的区别。
(5.0分)
微信小程序是继原生APP、Web APP之后出现的一种新的APP形态。适合开发一些业务逻辑简单、低频次使用、对性能要求不高的应用。
原生APP由于android和ios两个平台的不兼容,需要开发两个版本,开发成本高。
基于html5开发的Web APP解决了跨平台的问题,但是性能和用户体验不佳。
3
简述小程序有哪些优点?
(5.0分)
(1)无需下载
(2)无需升级
(3)开发周期短
(4)开发成本低
(5)体积小
(6)跨平台
1. 什么是JSON、什么是XML?
JSON(javascript Object Notation) 是一种轻量级的数据交换格式。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯。这些特性使JSON成为理想的数据交换语言。
XML是一种简单的数据存储语言。使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然可扩展标记语言占用的空间比二进制数据要占用更多的空间,但可扩展标记语言极其简单易于掌握和使用。XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:它极其简单。
2. 原生APP和Web APP的区别?
1.开发方面
原生APP:每一种移动操作系统全部须要独立的开发项目,iphone版本、WP版本、安卓版本。每种平台全部须要独立的开发语言。Java(Android), Objective-C(iOS)等等,必须要使用各自的软件开发包,开发工具乃至各自的控件。开发费用高、开发速度慢、维护费用高。三个平台(IOS、安卓、windows)的规则、推广、运营全部不一样。官方应用商店对APP上线审核过程相对复杂并且慢长,严重影响APP的发布上线。
Web App :因为运行在移动设备的浏览器上,于是只须要一个开发项目。能够通过HTML、 CSS或许JavaScript来实行Web APP的开发。开发费用低、开发速度快。
2.功能方面
原生App:原生APP就是一个系统性的应用程序,能够类比在电脑上的软件。原生app能够调用移动终端的硬件设备, 好比:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。完成功能丰富
Web App:Web APP能够类比在电脑上的网页。Web APP很多就是页面展示类的APP。只可以使用有限的移动硬件设备功能。很多用来页面展示,侧重在简单的交互,没办法使用很多硬件设备独特的功能。
3.应用安装使用方面
原生App:须要通过应用商店会原生app下载到手机上或移动终端上。以独立的应用程序运行,用户必需手动去下载并安装这些原生App,原生应用能够节约宽带费用,能够访问本地资源、缓存。
Web App:通过移动设备上的浏览器访问,软件更新只须要更新服务器就够了,用户层面不须要做一切操作。不须要安装客户端,能够节省手机终端的内存空间。
4.版本控制方面
原生App:用户能够自由地选取能否更新软件版本,于是能显现不一样用户一起使用不一样版本的状况。一起同样能引起维护费用相对比较高。使用旧版本的用户没办法体验新版本的完整功能。
Web App:全部的用户全部就是使用同样的版本,全部用户得到的功能全部就是一样的。版本更新相对比较便利,马上在服务器侧更新数据就可以。一个功能做好了就可以上线,1天更新几十次全部毫无压力。假如客户端不过是个浏览器,那所有都会变得非常简单。其它web统一性高,跨平台实用时开发量少。因为其入口不显著(浏览器导航或许随意点击链接进入),令用户记住的门槛同样随之拔高,每次推广导入的流量全部也许沦为一次性努力,用户留存率低。
5.加载速度方面
原生App:原生APP由“云服务器数据+APP应用客户端”两个别构成,APP应用全部的UI元素、数据内容、逻辑框架均安装在手机终端上。访问的时刻,不须要重新下载加载应用页面框架,只须要加载数据就可以。于是加载速度更快,页面响应更快。
Web App:而Web APP开启一个页面,全部需要重新加载页面的全部元素,访问速度受手机终端性能与网络环境的限制,引起加载速度慢,并且操作频繁容易卡死。
总结
原生App偏向在交互,注重用户体验(导航切换、勾选选项、相片、视频等操作),Web APP偏向和浏览与简单的交互。 一些功能须要访问硬件(摄像头、传感器等),使用原生App, Web APP用来信息展示。 费用有限时,中心的功能使用原生APP,周边辅助的功能能够使用Web App。
3. 什么是微信小程序?
微信小程序其实就是一种不需要下载安装即可使用的应用,它基于微信运行,类似于APP,不过无需下载安装,想用就用,用完即走,不占内存。开发上也要比APP简单很多,成本要低一些,中小商家和个人也可承受。比如我们常见的摩拜单车、滴滴打车小程序,虽然你没有安装APP,但通过微信你依然可以正常使用骑车、打车服务,不用单独下载它的APP,这就相当方便。
4. 微信小程序开发用户登录功能,登录成功后如何存储当前用户信息 (用localStorage)?
通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态。对于开发者自己生成的 session,应该保证其安全性且不应该设置较长的过期时间。session 派发到小程序客户端之后,可将其存储在 storage ,用于后续通信使用
当我们通过wx.login()获取code的后,发送给我们的服务器,然后去请求微信服务器换取得到对应的openid与session_key,openid是该用户在小程序中的唯一标识用于模板通知之类的。session_key就是用来解密用户的敏感信息。unionid之类的。unionid是微信用户在所有微信平台下的唯一标识
调用wx.login()得到code后请求服务器获取openid与session_key缓存在服务器当中。其中生成一个随机数为key,value为openid与session_key。然后返回到小程序通过wx.setStorageSync('LoginSessionKey',得到的随机数key)缓存在小程序当中。每当我们去请求服务器时带上LoginSessionKey即可给服务器读取从而判断用户是否在登录
5. Android原生开发和Web APP开发区别?
Native App开发
Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发
Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
Web APP应用呈现以下特点:
(1)每次打开APP,都要通过APP框架向云网站取UI及数据;
(2)手机用户无法上网则无法访问APP应用中的数据。
(3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;
(5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;
(6)APP用户每次都可以访问到实时的最新的云端数据;
(7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;
适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。
Native App(原生型APP)应用呈现以下特点:
(1)每次获取最新的APP功能,需要升级APP应用;
(2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
(3)手机用户无法上网也可访问APP应用中以前下载的数据。
(4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
(5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。
6. 什么是Ajax以及Ajax在哪些场景下使用?
什么是AJAX?
即异步的 JavaScript 和 XML,是一种用于创建快速动态网页的技术;
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
使用AJAX则不需要加载更新整个网页,实现部分内容更新
Ajax适用场景
表单驱动的交互
传统的表单提交,在文本框输入内容后,点击按钮,后台处理完毕后,页面刷新,再回头检查是否刷新结果正确。使用Ajax,在点击sunmit按钮后,立刻进行异步处理,并在页面上快速显示了更新后的结果,这里没有整个页面刷新的问题。
深层次的树的导航
深层次的级联菜单(树)的遍历是一项非常复杂的任务,使用JavaScript来控制显示逻辑,使用Ajax延迟加载更深层次的数据可以有效的减轻服务器的负担。
7. 注册一个微信小程序的流程是什么?
1、注册方法
在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。
2、选择注册的帐号类型
选择“小程序”,点击“查看类型区别”可查看不同类型帐号的区别和优势。
3、填写邮箱和密码
请填写未注册过公众平台、开放平台、企业号、未绑定个人号的邮箱。
4、激活邮箱
登录邮箱,查收激活邮件,点击激活链接。
5、填写主体信息
点击激活链接后,继续下一步的注册流程。请选择主体类型选择,完善主体信息和管理员信息。
选择主体类型:
8. 微信小程序不适合开发什么类型项目?
高频刚需企业、大型商城业务
如果需要同时很多人登陆,那么微信小程序的后台可能无法承受过高的压力。导致服务器崩坏。因为微信小程序总包不得超过上限,每一个分包也不可以超过上限。所以导致小程序中很多图片和资源需要到网络中直接申请。如果并发量很大,那么可能会导致数据无法及时获得。导致服务器崩坏掉。
9.json和xml的差别?
JSON与XML的区别比较。json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。常用JSON的人看到这个字符串之后,就对JSON的结构很明了了,就更容易的操作JSON。JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力。
10.微信小程序适合开发什么类型项目?
低频刚需企业
大家可能对低频刚需企业并不了解,低频刚需企业包括O2O类和旅游类企业。微信用户只需要通过扫描微信小程序的二维码就可以进入,可以在微信小程序里了解到更多产品功能的介绍。
对于目前从事O2O类服务的企业来说,这些企业更加注重的是线下布局,主要为线下客户提供优质的服务,而利用微信小程序恰好能够给用户提供优质的体验。O2O类的服务企业在开发微信小程序之后,用户可以直接通过小程序进行线上预约,同时也能够了解到更多的服务项目,企业的工作人员可以与客户零障碍进行沟通交流。
刚开始创业的企业
刚开始创业的企业在市场上的知名度比较低,要利用线上和线下两种方式进行宣传。这部分企业可以利用小程序进行宣传,因为微信平台就是一个天然的宣传平台,微信用户数量非常的多,所以刚开始创业的企业,完全可以把握住微信天然的传播功能进行宣传,这样就可以降低企业宣传的成本,还可以获得更多客户的关注度。
高频使用非刚需行业
高频使用非刚需的行业有很多,比如人们所熟知的就是娱乐行业,娱乐行业主要通过微信小程序,来吸引更多的新客户。实际上高频使用非刚需行业包括的企业非常的多,比如餐饮行业、电影票务行业。
越来越多的餐厅推出了微信小程序,一款微信小程序能够给商家解决很多的问题,微信用户可以直接打开手机搜索附近的小程序,了解一些比较受欢迎的餐厅,就要在餐厅进行排队,可以提前下订单,到了餐厅之后可以直接上菜,减少排队的时间,能够同时节省商家和客户的时间,提升客户的体验值。
看电影已经成为人们日常消遣的一种方式,在一部新电影上线之后,微信用户可以直接通过微信小程序了解到电影的相关信息,可以通过扫描小程序的二维码,了解到更多关于电影的预告以及上映时间的介绍,如果电影已经上映,可以直接在微信小程序上选择电影院和订票等一系列的操作。
以上是关于微信小程序简答题的主要内容,如果未能解决你的问题,请参考以下文章