产品经理需了解的技术知识
# 一、web前端
# 1、前端技术分类
- 目前主流前端载体包括移动客户端APP、PC端网页、桌面软件
- 不同的前端载体采用不同的技术能力开发,工程师职能分布不同
# 2、web前端技术特点及应用
- web前端技术是用来开发网页的一种前端技术,包括HTML语言、JavaScript脚本语言、CSS样式及一些前端框架。
- HTML代码构建网页的基础框架,CSS样式为网页样式进行装扮
- Web技术是一种比较灵活的前端技术,可实现动态“热更新"
# 3、http协议和url
- HTTP是互联网基础协议,客户端和服务端之间的数据通信都基于该协议
- URL是统一资源定位符,互联网上每一个资源(网页、图片等)都有唯一URL
- URL由协议头、域名、参数名、参数值构成
# 4、http请求及get和post方法
- HTTP请求常用的方法GET和POST对应不同的场景,主要区别就是参数传递方式不一样
- GET方法参数在URL中,参数长度和大小有限、安全性较低
- POST方法参数在请求体中,长度和大小没限制、安全性较高
# 5、微信小程序
微信小程序使用场景
- 处理即时性任务
- 好友邀请
- 轻量级服务
# 6、cookie和session
- Cookie是一种保存在本地的文本文件,用来记录用户信息和浏览历史
- Session是服务端生成和记录的访问状态,可作为身份校验的标记
- Cookie和Session的主要区别是状态的保存和维护,前者在客户端,后者在服务端
# 7、web动态页和静态页
- 静态页面和动态页面在使用场景和数据加载方式上不同
- 静态页面主要使用在静态内容的展示场景
- 动态页面需要通过数据加载来展示数据,大部分功能页面都属于动态页面
# 二、移动端前端
# 1、Android和iOS技术特点
- 移动端Android及iOS技术特点及差异性对比
- 页面、控件、操作,基于事件操作调用对应方法
- 页面布局规则
# 2、Native和H5
- Native实现体验好、但维护成本高,比较适合流程相对固定的产品场景
- H5实现易于扩展、但体验相对于Native不足,比较适合变化较多的一些运营类场景
# 3、手机传感器
- 常用的手机传感器包括磁场、距离、光线、陀螺仪、指纹、加速度
- 手机传感器是实现很多产品功能的硬件基础,例如计步器、摇一摇
- 手机定位的方式主要有三种,GPS、基站、wifi
# 4、客户端数据缓存
- 缓存是一种临时存储机制,主要用来提高数据加载速度和使用体验
- 分为一级缓存和二级缓存,一级缓存内存,二级缓存硬盘
- 设计合理的缓存机制,能极大提升产品的使用体验
# 5、react native技术
- React Native是一种轻量级的前端技术,适合快速快发、快速上线,无需重复发版
- 比较适合于需要动态运营类的产品,不太适合于对前端体验要求较高的产品
# 6、微信小程序技术特点
- 微信,小程序依托于微信运行环境,可利用微信生态链进行传播
- 具备独立的开发语言和开发工具
- 在使用场景上,主要以工具类和即时服务类为主
# 7、客户端消息推送
- 消息推送是服务端主动向客户端发送消息的一种机制
- 推送实现方式包括轮询、长连接、心跳消息
- 通过推送服务器可集中管理推送消息,建立统一消息下发机制,节省资源消耗
# 三、后端开发
# 1、互联网如何提供服务
- 客户端通过数据流的方式从服务器获取互联网资源和服务
- 一切互联网服务都依赖于网络的连通
- 不同的服务对应不同的端口,所访问的资源一本由就近CDN节点提供
# 2、服务端基础技术架构
- 服务端服务业务逻辑处理和数据处理,是产品服务的“大后方”
- 服务端运行在机房里的服务器上,机房是一系列硬件设施组成的
- 服务端程序运行在服务器上,服务器可以以自建机房或者使用云服务的方式来部署
# 3、接口和API
- 接口和API是一个概念,是客户端和服务端进行数据通信的一种协议
- 接口由两部分组成,分别是url地址和数据参数
- json和xml都是用来承载数据参数的格式,目前主流的是json
# 4、API和SDK
- API是一项单独能力,对应一个接口,SDK是一些列能力的集合
- 不同的平台和技术对应不同的SDK版本
- 集成SDK时,应用程序通过调用不同SDK的接口来实现多样化的服务
# 5、服务端与客户端数据交互
- 客户端与服务端通信是基于请求-响应的模型来完成
- 该模型运用了HTTP、URL、API、JSON/XML等一系列技术
- 请求响应的过程即可以是同步处理、也可以是异步处理
# 6、生产环境与测试环境
- 测试环境和生产环境是两套服务端程序,运行在两个不同的服务上
- 通过IP地址可以区分不同的生产环境
- 在做测试和发新版本过程中需注意当前服务环境,避免出现产品事故
# 四、数据库
# 1、数据库如何工作
- 数据库是用来进行数据存储和管理的容器
- 数据库分为关系型数据库和非关系型数据库
- 数据库运行在服务器上,由服务端程序负责调用
# 2、数据库表和关系结构
- 数据库表都是现实世界中实体关系的映射
- 数据库由数据库表组成,表与表之间通过主键建立关联关系
- 表结构的关联关系包括一对一、一对多、多对多
# 3、数据库字段和字段类型
- 数据库表是由很多字段组成,字段是实体属性的映射
- 每一个字段都有对应的字段类型,常用的包括整数型、字符型、日期型
- 数据库字段和字段类型是设计接口的基础,接口里的参数和值对应的就是数据库字段
# 4、数据库操作语言SQL
- SQL全称结构化查询语言
- SQL语句嵌入在服务端程序中,用来对数据库进行操作
- SQL常用语句包括新建、增、删、改、查
# 5、数据库表索引
- 索引是一种目录结构,目的是提升数据库查询效率
- 索引的缺点在于需要建立和维护一套索引,耗费时间和存储空间
# 五、新技术
# 1、AI技术原理与应用
- 人工智能是计算机科学的一个分支,主要用来为机器赋予一定的判断能力
- AI的关键在于算法、算力、数据
- AI未来的应用领域很多,要求产品经理要懂数据、懂业务,会基于场景设计解决方案
# 2、AR、VR原理及应用
- AR是增强现实技术,通过对物理空间位置和角度变化结合3D技术实现虚拟场景
- VR是虚拟现实技术,借助外设建立虚拟场景,结合多感官让用户有身临其境的感觉
# 3、区块链技术原理及应用
- 区块链是一种去中心化的数据库技术,通过共识机制和加密算法实现”可信“
- 比特币是区块链技术的一个具体应用,通过记账和分享记账收益来保障社区高效运转
- 区块链技术可以应用在商品溯源、金融交易等对信用要求比较高的场景
# 4、5G技术及产品应用
- 5G技术是第五代通讯技术,在网速上相比4G有极大的提升
- 5G在人工智能、物联网、自动驾驶领域有促进作用
- 产品经理需时刻保持对新技术的敏感性,探索新的产品形态和机会
# 六、与工程师沟通方法
# 1、工程师思维
- 尊重并接受差异是有效沟通的前提
- 工程师思维的特点:逻辑性强、分支思维、遍历
- 沟通三原则:重事实、讲逻辑、确定性
# 2、现象与问题
- 高效沟通本质是取得共识和解决问题
- 少讨论现象,多关注问题,针对问题定义解决方案并快速落实
- 定义并针对问题达成共识,是取得解决方案的开始
# 3、如何正确提需求
- 找准提需求的时机,上线后、迭代结束后、提交代码后是好的时机
- 按背景、方案、执行的顺序提出需求,把事情说明白,避免“就事论事”
- 一份好的需求文档只需要满足把背景、方案、素材定清楚即可
# 4、如何评估技术工作量
- 技术工作细节远超我们直观感受,不要轻易定论技术工作量
- 可以按需求进行拆分,按系统、模块、页面进行工作量评估
- 尽可能在实现过程中进行技术组件化,降低工作量评估难度
# 5、技术思维在产品设计中的应用
- 技术思维下的产品设计,增加对数据结构、页面调整、兼容性的考虑
- 在需求阶段,除了功能层面的设计,多关注技术细节的设计,把握全流程的来龙去脉
# 6、如何持续提升技术思维
- 抓住工作中提升技术的机会
- 建立自己的技术知识库