从互联网整理而来

一、基础概念与运行机制

  1. 小程序与H5、App的核心区别
  2. 小程序双线程模型分别是什么,各自职责
  3. 逻辑层与视图层通信方式
  4. 小程序渲染流程完整过程
  5. 小程序启动流程(冷启动、热启动)
  6. 冷启动和热启动的差异
  7. 小程序分包加载机制概念
  8. 主包与分包限制规则
  9. 独立分包和普通分包区别
  10. 小程序的生命周期分类(应用、页面、组件)
  11. 小程序页面栈规则,最多存放多少页面
  12. 小程序登录流程整体逻辑
  13. 微信授权两种类型区别(基础授权、隐私授权)
  14. 小程序原生宿主环境提供哪些能力
  15. 小程序更新机制,静默更新与主动更新

二、文件结构与配置

  1. 小程序四种核心文件作用(json/wxml/wxss/js)
  2. app.json 全局配置常用字段
  3. page.json 页面配置优先级与app.json关系
  4. sitemap.json 作用
  5. project.config.json 用途
  6. app.js 全局App实例生命周期
  7. 页面js Page构造器生命周期
  8. 组件js Component构造器生命周期
  9. usingComponents 引入组件配置
  10. 全局样式app.wxss和页面wxss权重规则
  11. wxss与css差异,特有特性
  12. rpx单位换算规则,适配原理
  13. 小程序支持的选择器有哪些,不支持哪些
  14. 图片、静态资源本地与线上引入规则
  15. 分包配置subpackages字段参数含义

三、WXML 模板语法

  1. WXML数据绑定语法规则
  2. 插值表达式支持哪些运算
  3. wx:if、wx:elif、wx:else 条件渲染
  4. hidden属性与wx:if性能差异
  5. wx:for列表渲染,wx:key作用
  6. wx:key使用规范,禁止index的场景
  7. block标签作用,是否生成真实节点
  8. 模板template定义与引入,数据传递
  9. wxs脚本作用,运行环境限制
  10. wxs与js的区别,能否调用小程序API
  11. 事件绑定bind、catch、capture-bind区别
  12. mut-bind互斥事件作用
  13. 事件传参几种实现方式
  14. 数据双向绑定model语法
  15. 标签属性布尔值绑定规则

四、组件系统(原生+自定义组件)

  1. 小程序自定义组件创建完整结构
  2. Component中properties传参配置规则
  3. properties三种数据监听方式
  4. data、properties、observers执行顺序
  5. observers监听对象、数组深层变化写法
  6. 组件生命周期完整钩子
  7. lifetimes与pageLifetimes区别
  8. 组件插槽slot,具名插槽使用
  9. 组件父子通信方式
  10. triggerEvent触发自定义事件传参
  11. selectComponent、selectAllComponents获取子组件
  12. behaviors复用逻辑,合并规则
  13. 原生内置常用容器、表单、媒体组件
  14. scroll-view滚动注意事项
  15. movable-area、movable-view实现拖拽原理
  16. canvas新旧版本差异,2d画布使用
  17. web-view嵌入H5通信方案
  18. cover-view、cover-image使用限制场景
  19. 自定义组件样式隔离options配置
  20. 组件pureDataPattern作用

五、数据管理与渲染更新

  1. setData底层更新原理
  2. setData频繁调用性能问题
  3. setData单次数据大小限制
  4. 局部更新数据简写写法
  5. 直接修改this.data不调用setData为什么不更新视图
  6. 复杂对象、数组更新setData写法
  7. 全局数据共享几种方案
  8. getApp()全局变量优缺点
  9. globalData跨页面同步更新缺陷
  10. 数据本地持久化storage存储限制
  11. wx.setStorage同步异步API区别
  12. storage大数据存储优化方案
  13. 页面间数据传递方式对比
  14. 页面栈取上一页实例方法
  15. 大数据列表渲染卡顿优化思路

六、路由与页面跳转

  1. 五种路由API区别(navigateTo/redirectTo/reLaunch/switchTab/navigateBack)
  2. switchTab跳转限制条件
  3. navigateTo无法跳tab页面解决方案
  4. 路由传参两种方式,长参数丢失问题
  5. 页面返回监听onUnload、onShow触发时机
  6. 获取当前页面栈方法getCurrentPages()
  7. 路由拦截统一封装思路
  8. tabBar配置规则,自定义tabBar实现
  9. 自定义tabBar踩坑点
  10. 页面跳转后保留表单状态方案

七、网络请求与后端交互

  1. wx.request请求基础配置
  2. request合法域名校验规则,开发环境规避
  3. 小程序请求携带cookie机制
  4. 请求header统一封装token思路
  5. 拦截器封装wx.request方案
  6. 并发请求、请求超时处理
  7. 文件上传wx.uploadFile参数配置
  8. 文件下载wx.downloadFile使用场景
  9. websocket实时通信完整流程
  10. socket断线重连实现逻辑
  11. 接口返回加密数据解密处理
  12. 批量请求统一捕获异常
  13. 小程序不支持跨域的根本原因
  14. 上传图片压缩、裁剪处理
  15. 上传进度监听API

八、登录、授权、用户信息

  1. wx.login获取code作用
  2. code换取openid完整流程
  3. openid、unionid区别与生成规则
  4. 隐私保护新规下获取用户头像昵称方案
  5. getUserInfo接口废弃替代方案
  6. 手机号一键登录流程
  7. 授权scope各权限含义
  8. 用户拒绝授权后重新引导授权逻辑
  9. 登录态session_key过期处理
  10. 第三方登录、关联账号实现
  11. 登录状态持久化存储方案
  12. 多端打通unionid获取条件
  13. 隐私协议弹窗实现规范
  14. 小程序订阅消息下发流程
  15. 模板消息与订阅消息区别

九、媒体、图片、地图、设备API

  1. wx.chooseMedia选择图片视频参数
  2. 图片预览wx.previewImage使用
  3. 图片本地缓存方案
  4. 录音、播放音频API使用
  5. video视频播放常见问题
  6. map地图组件标记、覆盖物绘制
  7. 获取当前定位wx.getLocation权限配置
  8. 后台持续定位配置要求
  9. 设备信息、系统API获取
  10. 振动、剪贴板、屏幕亮度API
  11. 扫码wx.scanCode场景
  12. 蓝牙BLE设备连接流程
  13. NFC基础使用场景
  14. 相机camera组件适配
  15. 文件管理FileSystemManager读写文件

十、性能优化专项

  1. setData性能优化手段
  2. 长列表渲染优化方案
  3. 虚拟列表实现思路
  4. 分包加载优化首屏速度
  5. 图片懒加载处理
  6. 减少页面、组件层级嵌套
  7. wxss样式体积压缩优化
  8. 分包预加载preloadRule配置
  9. 避免频繁创建定时器、监听事件
  10. 页面卸载清除所有订阅、定时器
  11. 包体积超限优化方案
  12. 开发者工具性能面板排查卡顿
  13. 避免在onShow频繁请求接口
  14. 图片资源压缩、webp适配
  15. 减少observers深层监听开销

十一、适配、兼容、多端

  1. rpx、px、rem转换关系
  2. 刘海屏、安全区适配css写法
  3. 深色模式适配配置
  4. 不同微信版本API兼容处理
  5. caniuse判断接口是否可用
  6. 小程序转H5、转uni-app差异
  7. 平板、PC端小程序适配要点
  8. 低版本微信兼容降级方案
  9. 字体、图片多设备适配
  10. 自定义导航栏适配胶囊按钮

十二、工程化、第三方框架

  1. 原生小程序、uni-app、Taro区别
  2. Taro编译原理,多端适配逻辑
  3. uni-app分包、条件编译写法
  4. 小程序npm依赖使用规则
  5. 按需引入UI组件库优化
  6. 工程化打包、环境变量区分
  7. 多环境请求域名配置
  8. ESLint校验小程序代码规范
  9. Git协同开发规范
  10. CI自动上传小程序工具

十三、支付、分享、广告、业务能力

  1. 小程序支付完整流程
  2. 支付回调后端处理逻辑
  3. 分享onShareAppMessage、onShareTimeline配置
  4. 分享图、分享路径动态处理
  5. 分享到朋友圈限制条件
  6. 插屏广告、激励视频广告接入
  7. 小程序跳转其他小程序API
  8. 跳转限制与关联配置要求
  9. 客服消息接入流程
  10. 商品卡片、搜索收录配置sitemap

十四、安全、审核、合规

  1. 小程序合法域名、业务域名、web-view域名区别
  2. 前端存储敏感信息安全风险
  3. session_key不能传输到前端原因
  4. 接口数据防篡改简单方案
  5. 隐私合规要求有哪些
  6. 图片、内容审核API调用
  7. 小程序常见审核驳回原因
  8. 诱导分享、诱导支付违规点
  9. 本地存储数据加密思路
  10. 防止恶意刷接口方案

十五、实战场景综合题

  1. 项目整体目录架构设计
  2. 封装通用请求库完整思路
  3. 全局登录拦截、未登录跳转实现
  4. 大型表单组件封装与校验
  5. 多页面共享登录状态管理
  6. 列表上拉加载、下拉刷新封装
  7. 图片上传、预览、删除完整流程
  8. 分包改造解决主包体积超限
  9. 页面返回保留搜索条件、分页数据
  10. 小程序热更新主动检测逻辑
  11. websocket聊天断线重连方案
  12. 自定义tabBar遇到的坑与解决
  13. 页面大量数据滑动卡顿优化
  14. 线上白屏、加载失败排查思路
  15. 原生小程序迁移Taro/uni改造方案