「一道面试题」小程序与H5的区别

2022-03-28 18:03:38 浏览数 (1)

抛砖

此文是一道面试题,又不仅仅是一道面试题

面试题,在各个技术社区里都是一个永不落伍的话题,好像大多数人临面试前都会狂刷面试题,恨不得把所有面试题都看一遍,要说有用没,当然有用,因为大部分面试题确实可以助力面试者,而且刷面试题对技术积累和视野提升也是有真实帮助的,可不只是面试有用

其实大家面试前都刷面试题,可能几个人去面试前刷的面试题题解都是一样的,这种情况无疑增加了面试者筛选的难度,同样的,这也是为什么不仅仅是大公司,中小公司面试题也越来难,甚至严重不符合岗位水准的原因之一,大家每次面试回来都会感叹一句 俺可能配不上这个职位,这道题太难了!

也不能全怪那些出面试题的人,因为市面上面试题越来越多,想要鉴别一个人的真本事还是有些难度的,所以面的时候只能往深了问,借此筛掉一些人

这种情况是我们不能避免的,除非从此网上再无面试题解,可能面试时问题难度系数就会相对降低了

SO,大家看的都差不多,回答也差不多,怎么突出 我们不一样呢 ,还是要从面试题下手

引玉

首先,大家面试喜欢找什么样的题解?肯定是各个博主统一收集整理的面试题库了,看着方便、种类多、不用网上反复找零碎的面试题

其实这样好也不好,好处是可以快速了解市面上常见面试题,坏处嘛,各个博主其实碍于篇幅,给出的题解都是最精简的(此处意思是,一道面试题,给出对应的经典题解,并无太多相关知识点,而面试过程中是需要发散思维的)

想要突出和别人的不一样也简单,不能只刷面试题,每一个面试题都有它独特的考察意义,每刷一个面试题,不管它的难易程度,都认真看一看这道面试题相关技术的帖或文档,这样在问到这个面试题的时候起码不会被面试官随意一发散思维就Pass掉,在回答的时候也能从多个角度回答,而不仅限于此道面试题

还有就是大家方向都在研究各种复杂的题,这种题能答出来,面试官可能会觉得不错,但简单的题就不一样了

千万不要小瞧那些简单的面试题,简单的题大家回答都简单,但是你要能回答的很复杂,高低立判

说不得太开,需要自己理解,嘿嘿

我平常也会刷一刷面试题,提升提升视野,看看大前端行业内的水又深了多少 ( 着实怕呛水 )

这两天看一些博主发的阿里面试帖里都会看到一个题,就是本文标题,其实它就可以算一个例子

你说它难?刚入行的前端都能说出来几条

那它不难?刚看到的时候我认真想了想,如果我去面试被问到这个题了,显然我心中的答案并不能突出我比别人强

所以好好想了下怎么回答后就写了此文

回归正题

小程序与H5有什么区别?

解析题目

小程序与H5的区别,首先我们要看这道题问的侧重点在哪 ( 通俗讲就是先想一下这个题要考的是什么 )?

如果想挖你对H5的理解,我觉得不需要这么问,而问两者区别小程序在前,两者相对来说小程序是比较新的,很明显侧重点在小程序这块,通过与H5的对比来挖你对小程序的了解,那么回答的时候就要侧重小程序这块发散,要让面试官觉得,嗯,这小伙子对小程序还是有些了解的

接下来就侧重小程序尝试从各个方面对比来解答这个问题

运行环境方面

从运行环境方面开看,H5 的宿主环境是浏览器,只要有浏览器,就可以使用,包括APP中的 web-view 组件,以及小程序提供的 web-view 组件

小程序就不一样了,它运行于特定的移动软件平台 (Wechat / 支付宝 / 字节跳动 / 百度 / QQ 等)

拿微信小程序来说,它是基于浏览器内核重构的内置解析器,它并不是一个完整的浏览器,官方文档中重点强调了脚本内无法使用浏览器中常用的 window 对象和 document 对象,就是没有 DOMBOM 的相关的 API,这一条就干掉了 JQ 和一些依赖于 BOMDOM 的NPM包

运行机制方面

H5 的运行就是一个网页的运行,这里不过多叙述

小程序还是以微信小程序举例

启动

  • 如果用户已经打开过某小程序,在一定时间内再次打开该小程序,此时无需重新启动,只需将后台的小程序切换到前台,整个过程就是所谓的 热启动
  • 如果用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动,就是 冷启动

销毁

  • 当小程序进入后台一定时间,或系统资源占用过高,或者是你手动销毁,才算真正的销毁

系统权限方面

H5最被诟病的地方在哪?系统权限不够,比如网络通信状态、数据缓存能力、通讯录、或调用硬件的,如蓝牙功能等等一些APP有的功能,H5就没有这些系统权限,因为它重度依赖浏览器能力

依旧是微信小程序举例,微信客户端的这些系统级权限都可以和微信小程序无缝衔接,官方宣称拥有 Native App 的流畅性能

开发语言方面

H5 开发大家都知道,标准的 HTML、CSS、JavaScript ,万变不离其三剑客

小程序不同, (Wechat / 支付宝 / 字节跳动 / 百度 / QQ 等)不同的小程序都有自己定义独特的语言

最常用的微信小程序,自定义的 WXMLWXSSWXML 中全部是微信自定义的标签,WXSSJSONJS 文件中的写法都稍有限制,官方文档中都有明确的使用介绍,虽容易上手,但还是有区别的

❝不同系小程序的开发语言都有些区别,说到这,来个题外话 随着微信小程序越来越火百度阿里字节这些大厂都出了对应的小程序,但是问题来了,小程序技术标准越来越碎片化,去年9月,万维网联盟 ( World Wide Web Consortium,简称 W3C ) 针对这一行业问题,正式对外发布由阿里巴巴主导发起并联合W3C中国及国内外厂商起草的《小程序国际标准化白皮书》( 链接 ) 其实就是阿里准备牵头搞小程序标准了,阿里百度字节这些企业都有参与,但是一说小程序都是微信小程序,微信才是大头啊,腾讯好像并没有理它们,哈哈 (题外话,适当皮一下,如觉不妥请联系我删掉

0 人点赞