面试必备:技术术语

部分整理自网络,若有侵权,请联系删除。html

 

正向代理 & 反向代理

 正向代理:做为一个媒介将互联网上获取的资源返回给相关联的客户端,代理和客户端在一个局域网,对于服务端是透明的。java

反向代理:根据客户端的请求,从后端的服务器上获取资源,而后再将这些资源返回给客户端,代理和服务器在一个局域网,对客户端是透明的。web

web服务器 & 应用服务器

 

进程 & 线程 & 协程

进程:json

线程:后端

协程:跨域

 

GET & POST

get,能够在浏览器中发请求浏览器

post,只能借助工具,好比postman、jmeter缓存

一、GET使用URL或Cookie传参。而POST将数据放在BODY中(post请求也能够把数据放到url里面)。安全

二、GET的URL会有长度上的限制,则POST的数据则能够很是大。服务器

三、POST比GET安全,由于数据在地址栏上不可见(其实,经过抓包工具能够抓post请求的数据,因此,也不安全)。

四、通常get请求用来获取数据,post请求用来发送数据。

HTTP & HTTPS

  HTTP:是互联网上应用最为普遍的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可使浏览器更加高效,使网络传输减小。

  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,所以加密的详细内容就须要SSL。

  HTTPS协议的主要做用能够分为两种:一种是创建一个信息安全通道,来保证数据传输的安全;另外一种就是确认网站的真实性。

 

  HTTP协议传输的数据都是未加密的,也就是明文的,所以使用HTTP协议传输隐私信息很是不安全,为了保证这些隐私数据能加密传输,因而网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来讲,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

  HTTPS和HTTP的区别主要以下:

  一、https协议须要到ca申请证书,通常免费证书较少,于是须要必定费用。

  二、http是超文本传输协议,信息是明文传输,https则是具备安全性的ssl加密传输协议。

  三、http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。

  四、http的链接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

参考:http://www.javashuo.com/article/p-bdgwsrxm-kr.html

http和webservice接口

httpservice经过post和get获得你想要的东西
webservice就是使用soap协议获得你想要的东西,相比httpservice能处理些更加复杂的数据类型 

http协议传输的都是字符串了,webservice则是包装成了更复杂的对象。 
hessian相似于webservice,可是它采用的是二进制RPC协议(Binary),具备轻量、传输量小、平台无关的特色,特别适合于目前网络带宽比较小的手机网络应用项目。 
以hessan的java实现为例,它能够传输Map、List、以及自定义的各类数据接口;比http的纯字符串也方便的多,省却了解析http返回值的步骤。
  

http1.0和http1.1区别

1.0版本,http协议默认是无链接的,即一个http请求申请一个tcp链接,而后http链接断开时,tcp链接也跟着断开。又叫短链接。
1.1版本,http协议默认是长链接的,经过信息头:Connection:keep-alive来实现。效果就是,一个http请求在完成时,能够标注是keep-alive的,这样的话,底层的tcp链接不须要断开,能够供多个http链接使用。

 

rpc框架原理,和http区别

http响应慢、请求头大,因此在微服务时代,你们都使用rpc来调用服务。

 

tcp三次握手

参考:http://www.javashuo.com/article/p-mntnvwta-kq.html 

 

TCP & UDP

区别一:tcp是可靠的传输(发送方发一个数据,接收方收到数据后要回复确认信息,发送者才会把本身操做系统缓存中的数据清理掉,若是发送方没收到确认信息<接收者没回复确认信息>,就会从操做系统缓存中取出数据再发一次这个数据),udp是不可靠的传输
tcp先创建链接,
udp不创建链接(不须要创建双向链接),直接往目标地址发数据(也不须要管对方是否存在,无论对方是否收到,只管往外发),不须要收到对方的确认信息

区别二:传输效率:upd高(不须要创建链接,不须要确认,开销小),tpc低(要创建链接,须要对方确认,都有开销)

nio,bio,aio

https://www.jianshu.com/p/a660c17bb9ea

COOKIE & SESSION

一、存储位置不一样
cookie的数据信息存放在客户端浏览器上。
session的数据信息存放在服务器上。
二、存储容量不一样
单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。
对于session来讲并无上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,而且设置session删除机制。
三、存储方式不一样
cookie中只能保管ASCII字符串,并须要经过编码方式存储为Unicode字符或者二进制数据。
session中可以存储任何类型的数据,包括且不限于string,integer,list,map等。
四、隐私策略不一样
cookie对客户端是可见的,别有用心的人能够分析存放在本地的cookie并进行cookie欺骗,因此它是不安全的。
session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险。
五、有效期上不一样
开发能够经过设置cookie的属性,达到使cookie长期有效的效果。
session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过时时间默认为-1,只需关闭窗口该session就会失效,于是session不能达到长期有效的效果。
六、服务器压力不一样
cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择。
session是保管在服务器端的,每一个用户都会产生一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。
七、浏览器支持不一样
假如客户端浏览器不支持cookie:
cookie是须要客户端浏览器支持的,假如客户端禁用了cookie,或者不支持cookie,则会话跟踪会失效。关于WAP上的应用,常规的cookie就派不上用场了。
运用session须要使用URL地址重写的方式。一切用到session程序的URL都要进行URL地址重写,不然session会话跟踪还会失效。
假如客户端支持cookie:
cookie既可以设为本浏览器窗口以及子窗口内有效,也可以设为一切窗口内有效。
session只能在本窗口以及子窗口内有效。
八、跨域支持上不一样
cookie支持跨域名访问。
session不支持跨域名访问。 

同步、异步、阻塞、非阻塞

1. 同步与异步针对的是函数/任务的调用方式:同步就是当一个进程发起一个函数(任务)调用的时候,一直等到函数(任务)完成,而进程继续处于激活状态。而异步状况下是当一个进程发起一个函数(任务)调用的时候,不会等函数返回,而是继续往下执行当,函数返回的时候经过状态、通知、事件等方式通知进程任务完成。

2. 阻塞与非阻塞针对的是进程或线程:阻塞是当请求不能知足的时候就将进程挂起,而非阻塞则不会阻塞当前进程

 

CI & CD

CI,就是持续集成(CONTINUOUS INTEGRATION)。

CD,持续交付(CONTINUOUS DELIVERY),既能够指代码持续交付,也可理解为代码持续部署。

参考:http://www.360doc.com/content/18/0903/11/19960613_783492490.shtml

 

契约测试

契约测试也叫消费者驱动测试。
两个角色:消费者(Consumer)和 生产者(Provider)
一个思想:需求驱动(消费者驱动)
契约文件:由Consumer端和Provider端共同定义的规范,包含API路径,输入,输出。一般由Consumber生成。
实现原理:Consumer 端提供一个相似“契约”的东西(如json 文件,约定好request和response)交给Provider 端,告诉Provider 有什么需求,而后Provider 根据这份“契约”去实现。

参考:https://www.jianshu.com/p/e318fadf8553

相关文章
相关标签/搜索