目录
(8)www.baidu.com的一级域名和二级域名是什么?
(11)输入一个URL,但是没有访问到预期的网站,是什么原因?
(3)如何设置linux log系统,描述设计思路和模块功能?
(8)如何安装Linux操作系统?如何安装windows操作系统?如何安装linux,windows双系统?
(1)进程之间的通信方式 阻塞和非阻塞分别是? 是否占用CPU?
(4)在开发中遇到了内存错误的问题,如何发现问题并解决问题?
(7)在堆上分配内存的函数?栈上有哪些变量?全局变量在内存的什么位置?
(2)如果产品出现概率很低的问题,无法重现,但是品质要求必须解决怎么处理?
1.3 找到链表的中间元素 ——若链表元素个数为奇数,则输出中间爱元素,若为偶数,则输出中间两个任意一个定义两个指针,一个一次走一步,一个一次走两步,当走两步的到达链表尾部,走一步的到达链表中间
(2)一篇英语文章,在内存足够下如何统计出现次数最多的单词?内存不够的情况下?
1.网络
(1)七层协议
(2)TCP/UDP
TCP : 面向连接,提供可靠服务,面向字节流,拥塞机制,流控,只能点对点,首部只有20字节,提供全双工可靠信道
UDP: 无连接,尽最大努力交付,面向报文,可一对-,一对多,多对多交互通信,首部8字节,不可靠信道
(3)HTTP协议
HTTP协议:无连接无状态的协议,无状态是指Web浏览器与Web服务器之间不需要建立持久的连接。
HTTP请求:
POST /test.php HTTP/1.1 //请求行 请求方法 目录 版本
HOST:www.test.com //请求头 主机地址
User-Agent:Mozilla/5.0 (windows NT 6.1;rv:15.0)//空白行,代表请求头结束 浏览器标识
Username=admin&password=admin //请求正文
GET、POST、HEAD、PUT请求方法的区别:
GET:GET方法用于获取请求页面的指定信息。参数直接拼接在地址栏URL的后面;有具体的长度限制(<1024K);数据明文显示,不安全;产生一个数据包;浏览器会把http header 和 data 一并发出去,服务器响应200(返回数据)
POST:最大的区别在于,GET方法没有请求内容,而POST是有请求内容的。参数是放到请求体里面;理论上无长度限制;产生两个数据包;浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok
HEAD:这个请求的功能与GET请求相似,不同之处在于服务器不会再其响应中返回消息主体,因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在。
PUT:PUT方法用于请求服务器把请求中的实体存储在请求资源下,如果请求资源已经在服务器中存在,那么将会用此请求中的数据替换原先的数据。向服务器上传指定的资源。
HTTP响应
HTTP/1.1 200 OK //响应行 版本 状态码 状态码描述
Date: Sun, 15 Nov 2015 11:02:04 GMT //响应头
Server: bfe/1.0.8.9
Content-Length: 2605 //内容长度
Content-Type: application/javascript //文档类型
Cache-Control: max-age=315360000
Expires: Fri, 13 Jun 2025 09:54:00 GMT
Content-Encoding: gzip //编码方法
Set-Cookie: H_PS_PSSID=2022_1438_1944_1788; path=/; domain=test.com
Connection: keep-alive
//空白行,代表响应头结束
<html>
<head><title> Index.html </title></head> //响应正文
HTTP状态码
五种状态码:
1xx:信息提示,表示请求已被成功接收,继续处理。
2xx:请求被成功提交。
3xx:客户端被重定向到其他资源。
4xx:客户端错误状态码,格式错误或者不存在资源。
5xx:描述服务器内部错误。
常见的状态码描述如下:
200:客户端请求成功,是最常见的状态。
302:重定向。
404:请求资源不存在,是最常见的状态。
400:客户端请求有语法错误,不能被服务器所理解。
401:请求未经授权。
403:服务器收到请求,但是拒绝提供服务。
500:服务器内部错误,是最常见的状态。服务器发生不可预期的错误。
503:服务器当前不能处理客户端的请求。
Cookie和Session:
session和cookies同样都是针对单独用户的变量(或者说是对象好像更合适点),不同的用户在访问网站的时候 都会拥有各自的session或者cookies,不同用户之间互不干扰。
不同点 session cookies
存储位置不同 服务器端产生,较安全,但session较多则会影响性能 客户端产,安全性稍弱,生命周期不同
生命周期 在指定的时间后会结束,不到指定的时间, 默认浏览器进程结束而结束,但手动指定时间,则
也会随着浏览器进程的结束而结束。 不受浏览器进程结束的影响。
数据位置 放在服务器上 数据存放在客户的浏览器
安全性 安全 不安全
session会在一定时间内保存在服务器上, 减轻服务器性能方面,应当使用COOKIE,
当访问增多,会比较占用你服务器的性能 一个站点在客户端存放的COOKIE不能3K
(4)ARP协议
ARP:IP地址转换为MAC地址
ARP原理之广播请求单播回应:
(5)TCP/IP协议
(6)三次握手,建立链接 第二次握手丢掉会怎样?
TCP
三次握手
第一次握手后,S可以确认自己收报文与C发报文的功能都正常,而C呢,它什么都不能确认。
第二次握手后,C可以确认自己的收发报文与S的收发报文功能都正常,也就是认为连接已建立。
那么第三次呢,S也可以确认双方能够正常通信。
(7)单播和广播
(8)www.baidu.com的一级域名和二级域名是什么?
.com为顶级域 ,.baidu.com为二级域,www.baidu.com为三级域名
(9)如何设置iss网络安全设施
(10)域名ping不同怎么排查网络故障
ping 命令 作用:用于测试另一台主机是否可达,常用于排查网络故障。
用法: ping 域名或ip地址
常见的网络故障主要有 硬件故障 和 软件故障
硬件故障主要有:
① 网卡物理损坏 (由于使用中发送电子元件损坏而造成网卡无法使用)
② 链路故障 (常表现为网线或水晶头在制作过程中出现线路问题, 或 线路老化造成的故障)
软件故障主要有 :
① 网卡驱动故障 (即网卡驱动不兼容)
排查过程:
1 ping 127.0.0.1 排查本机 TCP/IP 协议是否正常
2 ping 本机IP 排查网卡或网卡驱动是否正常
3 ping 同网段IP 排查交换机端口工作模式、vlan划分
4 ping 通网段网关 排查主机到本地网络是否正常
5 ping 公网IP 排查路由是否正常
6 ping 公网某个域名 排查DNS服务配置是否正常
(11)打开一个网页的流程
1. DNS解析 :
1) 浏览器首先搜索浏览器自身缓存的DNS记录。
2) 如果浏览器缓存中没有找到需要的记录或记录已经过期,则搜索hosts文件和操作系统缓存。
3) 如果在hosts文件和操作系统缓存中没有找到需要的记录或记录已经过期,则向域名解析服务器发送解析请求。
4) 如果域名解析服务器也没有该域名的记录,则开始递归+迭代解析。
5) 获取域名对应的IP后,一步步向上返回,直到返回给浏览器。
浏览器就得到了url的IP地址。
2.发起TCP请求,三次握手
三次握手的过程:
- 客户端向服务器端发送连接请求的报文;
- 服务器端收到请求后,同意建立连接,向客户端发送确认报文;
- 客户端收到服务器端的确认报文后,再次向服务器端发出报文,确认已收到确认报文。
至此,浏览器与服务器已经建立了TCP连接,开始进行通信。
3. 建立TCP连接后,浏览器向服务器发送http请求 例如:浏览器发出取文件指令GET
4 负载均衡
什么是负载均衡?当一台服务器无法支持大量的用户访问时,将用户分摊到两个或多个服务器上的方法叫负载均衡。
1) 一般,如果我们的平台配备了负载均衡的话,前一步DNS解析获得的IP地址应该是我们Nginx负载均衡服务器的IP地址。所以,我们的浏览器将我们的网页请求发送到了Nginx负载均衡服务器上。
2) Nginx根据我们设定的分配算法和规则,选择一台后端的真实Web服务器,与之建立TCP连接、并转发我们浏览器发出去的网页请求。
3) Web服务器收到请求,产生响应,并将网页发送给Nginx负载均衡服务器。
4) Nginx负载均衡服务器将网页传递给filters链处理,之后发回给我们的浏览器。
5 服务器响应http请求,将请求的指定资源发送给浏览器
6.浏览器释放TCP连接
四次挥手过程:
1.浏览器向服务器发送释放连接报文;
2.服务器收到释放报文后,发出确认报文,然后将服务器上未传送完的数据发送完;
3.服务器数据传输完成后,向浏览器发送释放连接请求;
4.浏览器收到报文后,发出确认,然后等待一段时间后,释放TCP连接。
2.1.7 浏览器渲染
1) 浏览器根据页面内容,生成DOM Tree。根据CSS内容,生成CSS Rule Tree(规则树)。调用JS执行引擎执行JS代码。
2) 根据DOM Tree和CSS Rule Tree生成Render Tree(呈现树)
3) 根据Render Tree渲染网页
(11)输入一个URL,但是没有访问到预期的网站,是什么原因?
1.DNS坏掉了,修改自己的IP地址为8.8.8.8试试
2.网络断了
3.服务器拒绝访问
4.请求或者响应在网络传输中途被劫走了
(12)访问网页,发生故障,你怎么解决
如果电脑在打开百度等网页的时候失败,如何排查问题出现在哪里?
答:从七层网络的角度进行逐层分析,物理层-即网线有没有连接;数据链路层-即网口的灯有没有亮;某层-可以查询本机的IP地址,根据IP地址和子网掩码的计算结果查看是否和网关在同一子网,还应检查DHCP动态分配的IP地址,看是否和网关在同一个子网;检查本地ARP表中网关的IP地址和MAC地址是否对应
知识点:
OSI七层模型解决网络故障实战思路
物理层故障原因:①设别电源未打开 ②设别电源未接通 ③网络电缆松脱 ④电缆故障 ⑤电缆类型不正确
数据链路层故障原因:①设别驱动程序出错 ②设备没有安装驱动程序 ③设备配置错误
网络层故障原因:①IP地址是否设置正确 ②子网掩码是否正确 ③网关是否正确 ④DNS或DHCP是否正确
网络层常用的排除故障的命令包括:ipconfig命令、ping命令、tracert命令
传输层故障原因:①防火墙设置错误 ②应用程序的TCP的端口是否被打开
会话层、表示层、应用层故障原因:这三层主要涉及使用软件的故障原因,把应用软件设置正确,问题迎刃而解。
(13)HTTP和HTTPS有什么不同
(14)
2.LInux
(1)Linux查看系统内存剩余情况的命令
1)free 2)cat /proc/meminfo
(2)linux基础命令
pwd | 显示当前路径 |
cd | 切换目录 |
mkdir | 创建目录 mkdir 目录名 -p 递归创建目录 |
rm -rf 目录名 | 删除空目录 |
mv | 移动 |
cp | 复制 |
vi | 文本编辑器 |
:q! | 不保存退出 |
:wq | 保存 |
cp | 复制 |
find [路径] [选项] | 查找文件 |
ls | 查看目录或文件信息 |
grep | 过滤 在指定文件中查找字符(串)并打印该行 grep 字符串 文件名 |
cat | 显示文本文件内容 |
ps -ef | 显示所有运行进程,并显示启动进程的命令 |
netstat -anp |