面经准备

现在开始准备面经呜呜

小程序面经

  1. Skyline和WebView的区别?
  • webview是小程序最基本的渲染引擎,整个小程序框架系统分为两部分:逻辑层(App Service)和 视图层(View)。小程序提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。
  • WebView 环境下时,WebView 的 JS 逻辑、DOM 树创建、CSS 解析、样式计算、Layout、Paint (Composite) 都发生在同一线程,在 WebView 上执行过多的 JS 逻辑可能阻塞渲染,导致界面卡顿。
  • skyline是从基础库3.0.0开始支持的
  • Skyline 创建了一条渲染线程来负责 Layout, Composite 和 Paint 等渲染任务,并在 AppService 中划出一个独立的上下文,来运行之前 WebView 承担的 JS 逻辑、DOM 树创建等逻辑。
  1. 为什么要用skyline引擎?
  • 以前写小程序,包括都是用webView,看文档的时候发现了skyline引擎,首先就是探索探索新技术吧
  • 其次就是skyline组件新增了许多高级特性比如说它提供了瀑布流组件,为了提高开发的效率我们的项目中的瀑布流就直接使用了skyline在底层实现的瀑布流。同时微信官方也指出直接在skyline底层实现的瀑布流要比webview实现的更优
  • Skyline新增了许多组件,对于scroll-view 组件进行了扩展,比如提供了sticky吸顶组件,还可以轻松实现瀑布流,scroll-view自带的瀑布流还有懒加载功能,在性能方面表现也不错。
  1. wx.setstoragesync和wx.setstorage的区别
  • 一个同步一个异步,有sync的就是异步
  • 将数据存储在本地缓存中
  1. 冷热启动
    从用户认知的角度看,广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动。

冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。

热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。
从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。


面经准备
https://mapllle.site/2024/04/17/frontend/Interview/
作者
MAple
发布于
2024年4月17日
许可协议