一起变优秀
1.产品工作跟开发平常聊什么,他们关注点是什么?【面试问题,产品工作流】
1.产品策划阶段项目大的产品方案更改研发是否可实现;
2.产品PRD评审研发在场,研发排期;
3.研发阶段研发实现问题和资源问题;
4.产品测试阶段研发问题跟踪解决,研发主要关注是bug还是需求不明确;
5.产品上线阶段研发上线步骤和方案,是否有历史数据需要处理;
6.日常同步后续迭代的方向和节奏。
2.研发分类
按照终端发为前端研发和后端研发。
前端开发负责界面,和产品UI测试打交道。
后端研发负责API接口,数据库等设计,和产品测试打交道。
前端研发中又有web开发,安卓开发,ios开发,小程序开发,h5开发等.
【对于产品来说前端开发不用细分,有前端研发组长分配研发任务】
3. 产品必懂研发的50个名词
RD,IOS,安卓,前端和后端,前台和后台,服务器端,H5,PHP,java,Python,html,Net,数据库,开源,GitHub,写死,爬虫,脚本,域名,服务器,虚拟空间,进程,Cookie,URL,适配,系统,丢包,并发量,宕机,联调,提测,状态机,时序图,逻辑删除和物理删除,接口,字段,API接口,SDK,同步处理,异部处理,上报,拉取,mock,mq,刷数据,缓存,浏览器兼容,host,抓包,定时任务
RD
研发的意思,我们工程师程序员叫研发。
iOS
就是我们的苹果操作系统,苹果的操作系统,大家现在苹果电脑大家用的很多,基本上都是ios的操作系统,主要是泛指苹果手机ios操作系统。
安卓
比如说小米、华为。他们用的系统都是安卓系统。他们的区别是说,在这两个不同的平台上,需要不同的代码语言来去做编程。所以前端工程师中区分安卓工程师和ios工程师。
前端和后端
APP的界面,你能看到的东西叫前端,你看不到的东西叫后端。
针对于研发角色。比如这些数据这些人,然后这些交易的发生的信息的流转,它是在后端进行的,所以我们叫后端。一般我们会有后端的工程师。
前台和后台
针对于产品分为前台产品和后台产品。
比如你看得见用的app是前台,而前台只要不是写死的数据来自于后台业务人员的维护。
比如说商品展示的图片价格标题等这些都是有个后台,运营人员在后台商品档案管理页面进行维护的。
服务器端
我们会要做一些底层的数据库的存放,然后包括一些安全性能等等这些东西,我们都把它理解为叫服务器端。一般可以等价后端。
H5
大家可以看到App里头有些功能,可能我们既要去做安卓,又要做iOS,其实开发起来成本比较高,所以我们就会做一个网页版的,h5 就叫做网页版的页面,来去替代。这样的话两边都通用,就不会出现说开发的成本高的问题了。
PHP
一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。
PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C++,Java等语言,现在被很多的网站编程人员广泛的运用。PHP和C++工程师是后端研发工程师的一种。
Java
Java是一门面向对象编程语言。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java工程师是后端研发工程师的一种。
Python
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
html
超文本标记语言,标准通用标记语言下的一个应用。
“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
.net
是MicrosoftXMLWebservices平台。
XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft.NET平台提供创建 XMLWebservices 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。
数据库
一般用mysql或者oracle。
我们大家所有人的信息,基本上每个互联网App公司都会有一个数据库,后台不管是用来存放商品还是用来存放个人,它其实是一个非常复杂的一个系统。
比如:从个人信息来看,像微信可能就是这个人的名字,包括他的昵称,然后他的一些所有你在填的信息,包括你发的朋友圈,你的好友列表等等,他就会存在这个里头,你就可以理解为像你个人银行,以身份证为关联的个人银行,可以这么来理解它叫数据库。数据库中有很多表,由后端研发工程师进行设计。
开源
互联网行业我们有一个好处是大家不喜欢重复造轮子,
比如说我写了这么一个个人中心修改头像的这一套代码,我可能把它开放出来,大家都可以用。这样的话为了整个行业其实是更好的去推进,所以我们就叫开源。常见的目前市面上App的大部分的内容,功能模块都是有开源的代码在线上,所以有时候技术在跟技术沟通的时候,或者跟产品对需求的时候,会说去开源社区找一找这个地方有没有现在的代码拿过来。
GitHub
很多程序员他们把自己开发好的东西就会放在这里,这时候你可以去那里找,同时你也可以把这些代码更新上去,包括把这个代码给它下下来等等。可以理解为是程序员他存放自己代码、学习包括去工作日常中会长期用到的一个技术社区。
写死
通常指技术人员对一些参数或者配置的“写死”。
举个最常见的例子:比如一个人的名字,这个人的名字,技术可能会问你一般不会超过6个字对吧?要不要把这个东西写死?答案是不需要。我一般都会说你不要写死,因为有可能也许我们这个产品老外也要注册,还有少数民族的姓名,这时候可能字数就很多了。你如果一旦写死之后,这个地方的容器尺寸就像鞋子一样,它就是38码,大于38码的就穿不上,这时候就会比较麻烦。不要写死,就是说我这个地方可以根据你脚的尺寸来去进行调整鞋码的,所以这叫写死也是常见的一个术语。
爬虫
爬虫相当于是一个机器人按照你给他设定好的规则,去爬某个网站的一些信息,按照你的要求去爬下来。
举个例子:比如我们要去爬淘宝的商品信息,或者是某个电商小网站的信息,那么我们就可以说我们写个爬虫,去爬它的照片,包括它的链接,包括它的这个价格,还有它的描述,还有上面的一些信息内容等等,这些信息给它全部爬下来,存到 Excel表格里头。像一个网络机器人一样,它会到这个网站上,按照你的设好定好的规则把这个东西爬下来,然后再存成你想要的格式,这叫爬虫。
脚本
脚本其实就是最小运行的程序单元。
域名
大家打开网址,比如,这就是一个域名。可能很多同学说App有域名吗,它其实是有的,这些App的域名只是大家看不见而已。大家看到就是一个个的页面没有这个网址,其实我们一般在服务器端或者在后台,我们都给它配一个域名,这样的话你在分享的时候,就会分享出去,别人就可以看到上面在浏览器的输入框里头,会有这一找出来英文,那就是它的域名。
服务器
我们现在大家看到的APP的所有这个东西,比如你打开这个大众点评,你能看到的信息刷新了又有新的东西出来,其实这个刷新的动作,就是从服务器上把信息拉回来的。我们所有这些信息都会存到服务器端,就是存在云端的银行里头,你要取钱按照你相应的规则去给到他,他会给你一些信息,我们存在远处云端那个地方我们叫做服务器。
虚拟空间
服务器的话,它是承载虚拟空间的。服务器里头它是硬件一个表象,那么它的里头会有一个个的存储空间单元,我们把它叫做虚拟空间。
进程
一个软件正在运行的阶段,我们叫进程。比如我们把进程杀掉,我们长按home键或者现在底下有滑竿,往上划时会出现很多个你当前使用的App后台,有些进程直接把它划掉,就是杀掉进程。
Cookie
访问这个App的一些历史浏览记录叫Cookie,比如访问了哪些网站,留下了这个历史记录,我们叫Cookie。其实跟缓存有点像同一件事情。
URL
实际上跟域名是比较类似,URL代表一个完整的URL,后缀对应于站点的域名。指的就是你这一串的东西,显性的就是大家看到,可能点后面跟上一个域名。公司用的一些内网里头,他们有一些就不是开头的,是另外的,比如像svn这种开头的,它也叫URL。研发说产品你把url给我,就是把网页链接地址给他,或者API调用地址给他(API接口的url用抓包软件可以抓出来)
适配
根据不同软件或硬件,进行技术和功能的某种统一映射。
举个例子:像滴滴打车,它分为用户端、服务端、平台端。我们普通使用的用户叫乘客,我们是用户端。滴滴打车的司机,他们自己会有一个App用来接单和提现,或者是用来回应等等,他们就要用到服务端。平台端的话,滴滴自己也会有一个统筹,能够看到用户和服务端两端的交易扭转等等的一个平台,那我们叫做平台端。
适配有时候产品研发测试也会提及,主要指手机机型/浏览器的兼容性,比如说有没有适配苹果iphone13,谷歌,火狐浏览器。测试会测试兼容性。
丢包
也是技术同学经常会聊这个话题。对方想要这个数据,我要给对方的时候中间掉了一些数据,把包丢了,就是我们可以理解为叫丢包。
并发量
同一时间访问的用户数量。
比如说:新浪微博经常会出现热点事件,同时在搜数据的人或者同时在刷新的人数,叫并发量。
宕机
因为同时访问的人太多了,导致系统挂了,造成页面访问不了,这个叫宕机。
mq
不用系统之间通消息的另外一种方式。类同于接口功能。
接口
技术跟技术同学之间他们定义好的这种技术对接的通讯规则,有部分B端产品需要了解,涉及到不同系统之间的交互,有的面试官会问道。产品经理可以学习到看到输入输出和接口限制条件等部分。API接口,有时候技术可能会说你把这个接口给我,我来调你接口,很多时候就是调你的我们定义好的规则,然后我要什么你来给我什么,其实就是相互商量好的这么一个协议。
字段
可以理解为在Excel表格里头,比如说我们输入这个人的基本信息,这个人的姓名他就是一个字段,年龄是一个字段,身高是一个字段,所有的这些很多的字段,这个连起来就组成了这个人的一条记录。
API
其实跟接口是比较类似,指的是软件系统不同组成部分衔接的约定。比如说:注册的时候,想用新浪微博来进行注册,那么就要调一下新浪微博的API,新浪微博那侧会把注册的用户相关的信息经过用户同意之后,把这些信息授权给第三方,然后第三方就可以当用户在登录这个APP的时候,调用新浪微博的API,点同意之后就可以进去了。
SDK
是常见的软件开发的一种集成工具包。比如说:我们要去用神策这个统计工具,他们可能会把这个软件一些代码集成好,打包成一个SDK。你把这个东西放在你的代码里头,这样就能运行下去,这就叫做SDK。人脸识别等软件一般打的SDK包。
系统
比如商品系统,订单系统,支付系统财务系统。泛指的是一个解决问题一个软件模块。
同步处理
同步处理就是发生了操作和修改等改变后,及时的在同一时间保持一致操作,这个操作就叫同步处理。
同步调用指的是A调用B,B同步调用C。
比如说前端在创建订单时候,订单系统同步调用库存系统占用库存,如果不成功则创建订单失败。
异步处理
异步处理是说,这个东西只有它发生之后,然后到下一个环节才去跟进和处理,这叫异步。
异步调用指的是A调用B,B异步处理,最后再调用A系统告知结果。
比如说订单拆成的发货单下发仓库wms系统时,wms只是接收,要等仓库人员处理发货单发货完成之后才会调用订单系统告诉发货结果。
拉取
比如说我们玩小红书,我们在首页向下拉一下刷新,这个其实就叫拉取。因为用户发的这些数据,或者给你推荐好的数据已经编好在这个服务器端了,本地就会从服务器端把数据要过来,然后在你前面进行一个展示。
京东/天猫等开发平台也会提供统一拉单接口,在电商平台上形成的单据,商家可以来拉取获得处理订单。
上报
接口上报,和API接口有关
联调
在提交测试之前前端研发和后端研发进行接口联调,比如说登录页面,前端研发调用后端的登录接口要确定可以调通,一般研发会进行自测看是否对。
状态机
单据状态的流转,研发出
时序图
研发出,表现不同系统之间数据和接口之间的流转
逻辑删除和物理删除
逻辑删除指的是数据库没删除,只是界面删除。物理删除是直接删除数据库,数据不会恢复
提测
提测指的是研发把开发环境代码发布到测试环境
上线
研发把代码发布到生产环境(业务用的系统)上。
Mock
造假数据,比如说涉及到和三方联调接口时,比如说订单系统和wms系统对接,需要wms系统把发货结果回传订单系统,但是wms没有人配合,研发就会自己mock数据通过接口调用把流程走完。
刷数据
一般对于历史数据处理,或者上线上出bug更改,研发会进行刷数据。
缓存
浏览器缓存,研发代码改好已经提交,但是测试时候界面还是有问题,这时候F5刷新下浏览器或者通过清浏览器缓存,验证下最新修改的。
测试包
对于app等,前端研发会打一个测试包给到测试和产品进行测,如果修改了代码,研发会重新再打包给新包。
产品入职可以找测试进行协助,要哪个版本的测试包。
测试机
专门用来做测试的手机,一般产品端涉及到app的会配置安卓测试机和ios测试机。
浏览器兼容
网页端产品因为谷歌,360,火狐等浏览器不同,导致于有些网页打不开或者打开效果不像UI稿示意,这种是浏览器兼容情况导致,前端研发可以调整代码进行适配,但是产品要规定说出我必须要兼容哪些浏览器。
Host
hosts就是系统的一个配置文件,主要配置ip和域名的映射关系,相当于是本地的DNS服务器。
测试环境下产品测试测网页,或者app等时候要配置host才能打开网页。Host文件找开发要下。配置路径:C盘下的WINDOWSsystem32driversetchosts
抓包
测试用于定位问题时候使用,主要看接口报错和具体返回字段,(http请求以及你传输的数据以及服务器返回给你的数据)。测试现在主要用Fiddler 抓包工具。对于app端和小程序端测试的时候需要下载证书,再进行配置信息。
定时任务
非实时要的东西,研发会弄成定时任务脚本去跑,比如说T+1要看的报表,那么研发就是每天凌晨X点跑一下。产品需要定义需要的时间到底是半小时1次,还是1天1次频率
4. 研发沟通时候的注意事项
说下产品价值,需求背景和目标
好的开发都想了解产品的目标,产品不要上来就讲功能,说一下大概的需求背景和目标,说不定研发还是更好的产品方案
逻辑缜密,不要漏判断漏场景,体现在需求文档中
比如说登录,只写了登录成功跳转,登录失败场景一个没写:账号不存在,账号和密码不匹配,账号被冻结。一个都不能漏
比如说填写订单页收货地址。如果会员没有地址页面如何显示的?1个收货地址页面如何显示的?多个收货地址如何取值的逻辑?是否可以切换?
产品要有主见,不要被带着跑
研发问为什么这么做?那这样子做不也可以吗?这个做不了--这个时候产品要有主见。
比如促销打折和定价两个功能。10元钱促销价8元,用户可设置打8折或者定价8元。
研发问:那就留一个,只设置定价就行,反正最后价格一致,为什么还要让他设置打折呢?
产品这个时候不要额,这个...而是要因为...所以....。当然研发提的好的建议可以接受,研发提的不符合场景的建议可以拒绝,研发提的折中方案可以考虑但是是否要做产品拍板。
偶尔压压排期,但是不要经常压排期
可以接受改需求,但是不要频繁改需求,尤其到快要上线了改些不起眼的小需求
不要说研发写的是bug,如果要说也尽量不要当众说研发写的bug
部分研发会介意,所以小问题可以拉小群研发测试产品在的,说一下测试测一下。
多夸夸我研发的东西很多人用,用的很开心。
产品和研发都喜欢做有成就感的事情
暂无评论内容