技术名词
通信:
就是只信息传输这个操作,比如客户端和服务端之间的通信
上报:
一般是指上报服务端,也就是数据从客户端流向(上报)到服务端
拉取:
是指用户打开app之后,客户端向服务端请求数据的过程。
并发量:
有多少用户在同时使用产品,请求数据。
丢包:
数据在上报过程中,由于网络异常导致的数据丢失。
上线:
功能测试没问题之后,研发打包发布到各大应用市场及appstore,供用户使用。
cookie:
网页中记录用户访问及操作的一种缓存;
缓存:
用于临时存放已加载的内容
URL:
就是网址的意思;
vpn:
上网代理,一般用于在公司外部可直接访问公司内网;
HTTP状态码(HTTPStatusCode)
表示网页服务器响应状态的3位数字代码。
1开头的为消息类,代表请求已被接受,需要继续处理;
2开头的为成功类,代表请求已成功被服务器接收、理解、并接受;
3开头的为重定向类,代表需要客户端采取进一步的操作才能完成请求;
4开头的为请求错误类,代表了客户端看起来可能发生了错误,妨碍了服务器的处理,常常遇到的、属于此类。
NativeApp:
基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序。能够调用移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。
WebApp:
基于web的系统和应用,运行于网络和浏览器之上,目前多采用h5标准开发。只能使用有限的移动硬件设备功能。
HybridApp:
nativeapp与webapp的混合,在nativeapp里内置浏览器,合适的功能页面采用网页的形式呈现。既能保证流畅性的体验,就满足变更复杂等需求,实现动态运营。
App消息推送(Push):
对用户移动设备进行的主动消息推送的行为,基于app和后台的联系来实现,app和后台的连接方式分为两种,Pull(轮询),即不断地向后台请求;Push,即维持一条长连接通道(心跳机制)。
数据交互:
即前端和后台的数据交互,大致可分为四种:
1)使用cookies对象(Cookie是服务器保存在客户端中的一小段数据信息),前提是客户端的浏览器需允许使用cookies。
2)使用session对象(session对象表示特定会话session的用户数据),客户第一次访问支持session的JavaServerPages网页,服务器会创建一个session对象记录客户的信息。
3)利用request重定向,设置setAttribute(重定向发生时,服务器会跟浏览器交互,它会让浏览器重新生成一个新的请求发送给服务器)。
4)利用Ajax进行异步数据请求,得到的数据可以以json或xml格式返回,便于处理。
HTML、CSS、JavaScript:
网页主要由结构(Structure)、表现(Presentation)和行为(Behavior)三部分组成。
HTML,即HyperTextMarkupLanguage,定义网页的结构。
CSS,即CascadingStyleSheets,定义网页的样式,样式定义如何显示HTML元素。
Javascript,是一种脚本语言,定义网页元素的行为。
程序、进程和线程:
程序是指令和数据的有序集合,是一个静态概念。
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
线程(Thread)是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
同步、异步和回调:
同步调用,即当程序1调用程序2时,程序1停下不动,直到程序2完成回到程序1来,程序1才继续执行下去。
异步调用,即当程序1调用程序2时,程序1径自继续自己的下一个动作,不受程序2的的影响。
回调(callback)和异步调用关系密切,通常使用回调来实现异步消息的注册。
浏览器渲染:
对从服务器加载到的资源(HTML、JS、CSS、图象等),进行语法解析,构建渲染树(对各个元素进行位置计算、样式计算等等),然后根据渲染树对页面进行渲染(可以理解为“画”元素)。
流(stream):
在C++,Java等编程语言中,流是指用来从另一个地方不间断地获取数据。
缓存系统:
一般分为两级,
一级缓存也叫内存缓存,存取速度更快,程序退出数据就消失,不可一直保留,是一种以空间换时间的程序设计;
二级缓存也叫硬盘缓存,容量大一点,速度慢一点,程序下次启动时候,依然可以使用。
在一二级缓存超过某个阈值时,一般会使用LRU(LeastRecentlyUsed)算法进行淘汰。
定位:
室外定位使用GPS,地球上任意一点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度。
室内定位,一般采用基站和WIFI定位。运营商可通过查询手机连接的基站位置定位,WIFI定位则是通过手机连接的无线路由器的MAC地址。
“熔断”:
如果频繁超时,就把调用的请求,直接短路掉,不实际调用,而是直接返回一个mock的值。等的服务恢复稳定之后,重新调用。
推荐算法:
常见的为内容关联算法和协同过滤算法。
内容关联算法基于对item内容的理解,提取内容形成taglist,剩下的事情和搜索引擎类似,通过merge用户喜爱的item,匹配tag进行召回,优势在于无需冷启动。
协同过滤算法的原理是汇总所有
数据库(DataBase):
按照一定的数据结构来组织、存储的数据的“仓库”。常见类型为关系型和非关系型。
关系型把复杂的数据结构归结为简单的二元关系(即二维表格形式),如Oracle和MySQL。
非关系型即NoSQL数据库,是对关系型数据库的补充,特点是模式自由、支持简易复制、简单的API等。
接口:
提供具体能力的一个标准和抽象。通过接口的设计,一个系统被清晰定义成为了多种能力的集合,每一个开发者只