面试题。。更新中。。

一、BS、CS区别

BS架构:只需一个浏览器就可以访问服务(如:csdn官方在线、博客园官方在线)
CS架构:必须安装客户端才可以使用(如:QQ、微信)

标准规范:BS是标准规范的
         CS是不标准的,协议自定义,服务器不标准

运算能力:BS:核心运算全在服务器
         CS:客户端、服务器均可承担运算

部署:BS:部署很方便,只需部署服务器
     CS:部署麻烦,需同时部署客户端、服务器
但是,BS架构只需一个浏览器、能上网就可以进行维护,CS架构需要安装、升级程序才可以,维护成本
所以,BS是趋势

 二​​​​、胖、瘦客户端

看:主要处理数据是客户端还是服务器
瘦客户端:处理数据主要在服务器端,通常是BS架构的应用,客户端只有浏览器
胖客户端:客户端处理数据,服务器指挥

三、URL地址包括什么

URL地址 = 协议类型 + 主机名(域名、IP地址)+ 端口号 + 页面文件 + URL地址参数(非必需的)

如:http://www.baidu.coms?c1=3&tnbaidutop10&fr=top1000&wd=美丽中国&rsv_idx=2
协议类型:是http协议
主机名(域名、IP地址):域名可通过DNS为IP地址
端口号:http协议默认访问服务器使用的端口是:80
页面文件:也就是我们访问该服务器上的哪一个文件,当没输入时,服务器会直接指向默认首页
URL地址参数:(?)后的都是

四、页面渲染引擎(浏览器的内核)

职责就是渲染,在浏览器窗口中显示所请求的内容
即:把服务器响应返回的文本,通过浏览器的内核,变成我们看到的内容

Trident内核的浏览器: IE、遨游、世纪之窗、腾讯、360等
Gecko:    Firefox、Mozilla、Minimo
Presto:   Opera
khtml:    Safari、Konqueror、Google、Chrome

五、浏览器的主要组件

用户界面、浏览器引擎、渲染引擎、网络、用户界面后端、JavaScript解释器、数据存储

六、Ajax、ActiveX、扩展插件、Flex

Ajax:在不重新加载整个页面的情况下,对页面的某一部分进行更新,传统的不使用。
      这些请求是“异步传输”的,所以感觉不到页面的加载和更新

ActiveX插件:专门针对IE浏览器的浏览器扩展,用户在浏览网站时,IE会提示用户下载或安装。
            ActiveX插件的安装的前提是:必须用户同意

扩展插件:IE而言,有ActiveX插件,来扩展浏览器的处理能力;对其他的浏览器一样,也有各自的扩展插件,来提高其处理能力
         因为,浏览器的本身处理能力是相同的,只有通过扩展插件的方式来提高浏览器的处理能力

Flex播放插件:(针对各种浏览器)
             相当于“flash player”,在浏览器里面通过对Flex的调用,达到富客户端的作用。
             既不是BS架构也不是CS架构,是介于二者之间的
             相当于:在BS架构的浏览器里面嵌入一个客户端,既解决了浏览器的运算能力,又解决了CS架构部署不方便的地方

Silverlight: 和Flex一样的功能,但指针对IE浏览器

七、web(前端)服务器、应用(程序)服务器

web服务器:主要处理http请求、静态资源,不与数据库打交道
应用服务器:处理核心的业务逻辑,与数据库打交道

web服务器:Apache、IIS、Tomcat、Lighttpd、Nginx
应用服务器:J2EE、IIS
首先,IIS是web服务器,其次微软公司把它定义为 .NET框架下的应用服务器

八、脚本引擎

动态页面,需要web服务器(处理静态资源)+ 脚本引擎(处理动态资源)共同完成

现在的程序都是动态的、交互的,传统的html无法支持动态网页的,因为html是静态的,由浏览器解析执行
所以,动态网页的处理都在服务器端完成,由服务器端的脚本引擎处理之后,以标准的html返回客户端
目前,较通用的脚本引擎有:ASP、PHP、JSP、RUBY 4种

注:当访问一个网站时,结尾不仅有html,还有ASP或jsp或PHP等,就用了脚本引擎

九、服务器集群

把多个服务器集中起来进行同一种服务,但在客户端来看只有一个服务器
集群可以利用多个计算机进行并行计算,从而得到很高的计算速度(负载均衡),也可以用多个计算机做备份
使得其中任何一个坏了,整个系统正常运行(故障转移)
要实现这两个目的:要有一个“负载分发器”作为系统访问的入口,当它检测有请求过来时,可根据集群节点性能状况决定
由哪个集群节点来处理。
同时,它也可以检测集群节点的健康状况,如有节点无法提供服务时,就不再分配请求,并及时报告系统管理员,从而实现故障转移
让用户感觉不到任何的中断。

十、OSI模型、TCP/IP模型

OSI模型:物理层、数据链路层、网络层 ————为低三层,是硬件层面上的,负责创建网络通信连接的链路
        传输层、会话层、表示层、应用层————为高四层,软件层面上的,负责端到端的数据通信

应用层的代表协议:Telnet、FTP、HTTP、HTTPS、SOAP、SNMP、DNS等
会话层:  DIS8236:会话服务定义     DIS8237:会话协议规范
传输层:  TCP、UDP、SPX等
         端口号
网络层:  IP、IPX、OSPF等
         路由器
数据链路层:  SDLC、HDLC、PPP、STP、帧中继
             网卡、交换机、网桥
物理层:  EIA/TIARS-232,EIA/TIARS-449,V-35,RJ-45等
         网线、光纤、同轴电缆、双绞线、中继器、集线器

1、什么是协议:就是一个规则,这个规则被大家认可、接受,就变成“协议”

2、TCP协议三次握手、四次分手

3、TCP和UDP的区别

TCP、UDP都属于传输层的协议
TCP:传输控制协议
     是一种面向连接(三次握手、四次挥手)的、可靠的、基于字节流的传输层协议
     传输可靠,适合大数据传输,速度慢

UDP:用户数据报协议
     是一种无连接(面向非连接)的传输层协议
     速度快,适合传输小数据,传输不可靠,易丢包乱序

十一、HTTP协议

http协议:超文本传输协议
         http、HTTPS、SOAP、FTP在应用层

协议规则:注重“内容本身”,
         建立连接、关闭连接、可靠性、安全性是TCP协议的事
特点:传输明文内容、安全性较差,是一种无状态的协议
http请求:
常用请求:get:从服务器端获取资源
         post:把客户这边的数据,通过浏览器,发送给服务器端,用post请求来“投递”
不常用请求:head、options、put、delete、trace

1、post请求、get请求的区别

post、get请求,都是从客户端发到服务器的http请求

区别:get请求的参数放在了URL里面
      post请求,把参数放在了http请求的body里;而 get的body为空

2、cookie、session的区别

session、cookies:都是键值对内容的【文件】
session 的数据保存在服务器端
cookies 的数据保存在客户端

cookies 可以减轻服务器压力,但不安全,容易进行cookies欺骗
session 较安全,但占用服务器资源

3、http、https的区别

http协议传输的数据是未加密的;而https是加密的,比http协议安全
https = http + ssl
http、https的默认端口分别是:80、443

4、HTTP、TCP的区别

二者没有可比性,TCP是传输协议,HTTP是应协议

http协议建立在tcp协议基础上的,当浏览器从服务器获取数据时会发出http请求
http请求,通过tcp建立一个到服务器的连接通道,返回数据,当返回的数据加载完成后,http会立即把tcp连接断开,这个过程很短,
所以,http连接是一种无状态的短连接
tcp:是有状态的长连接

TCP相当于车,HTTP相当于人,网络相当于路,HTTP在TCP之上

5、DNS

域名解析服务,把主机名转换成IP地址
如:把http://www.cnbogs.com/的主机名转换成为IP地址:211.135.53.78

6、为什么http协议是无状态的协议?如何解决?

无状态:就是对于事务处理没有记忆能力,忘记之前做了什么
解决:1、cookie  2、session

十二、浏览器输入URL按回车背后经历了哪些

首先,在浏览器地址栏输入URL,先解析URL地址合法不
浏览器先查看浏览器缓存、系统缓存、路由器缓存。如果缓存中有,直接在屏幕上显示页面内容

没有的话进行如下步骤:
1、发http请求前,要域名解析(DNS解析),来获取相应的ip地址
2、浏览器相服务器发起tcp连接,建立三次握手
3、握手成功后,浏览器向服务器发送http请求,请求数据包
4、服务器端,处理收到的请求将数据返回浏览器
5、浏览器收到http的响应
6、浏览器解码这个响应,如响应可以缓存,则存入缓存
7、浏览器发送请求,来获取嵌入在HTML中的资源(如:html、css、JavaScript、音乐、图片。。。)
   对于未知类型,会弹出对话框提示
8、浏览器发送异步请求
9、页面渲染全部结束
10、四次挥手

​​​​​​​十三、bug是前端的还是后端的?

先抓包看请求报文,对比接口文档,请求报文有问题,就是前端的问题
请求报文没问题,就看返回报文,有问题就是后端开发的问题

十四、当一个接口出现问题时,如何分析异常

1、抓包:用fiddler或F12,APP就用fiddler设置代理,看请求报文、返回报文
2、查后端日志,xshell连上服务器,查看日志

十五、模拟弱网:用fiddler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值