深信服测试岗面试准备

本文详述了深信服测试岗位的面试准备内容,涵盖网络、Linux、操作系统、Java、SQL和测试方案等多个方面。网络部分讲解了TCP/IP、HTTP协议、DNS解析、ARP协议等内容;Linux部分涉及内存查看、基础命令和日志系统;操作系统方面讨论了进程通信、内存管理和系统启动;Java部分介绍了内存区域、单例模式和动态内存管理;SQL方面讨论了select使用和数据库优化;测试方案则包含了网页速度测试、问题排查和性能优化。整体内容全面且深入,是面试准备的宝贵资料。
摘要由CSDN通过智能技术生成

目录

1.网络

 (1)七层协议

 (2)TCP/UDP

 (3)HTTP协议

  HTTP请求:

HTTP响应

HTTP状态码

Cookie和Session:

(4)ARP协议

(5)TCP/IP协议

(6)三次握手,建立链接 第二次握手丢掉会怎样?

(7)单播和广播

(8)www.baidu.com的一级域名和二级域名是什么?

(9)如何设置iss网络安全设施

(10)域名ping不同怎么排查网络故障

(11)打开一个网页的流程

(11)输入一个URL,但是没有访问到预期的网站,是什么原因?

(12)访问网页,发生故障,你怎么解决

2.LInux

(1)Linux查看系统内存剩余情况的命令

(2)linux基础命令

(3)如何设置linux log系统,描述设计思路和模块功能?

(4)linux查看线程,进程的命令

(5)Linux信号有哪些:

(6)Linux的分布

(7)如何编译Linux内核

(8)如何安装Linux操作系统?如何安装windows操作系统?如何安装linux,windows双系统?

(9)Linux的启动顺序

3.操作系统

(1)进程之间的通信方式 阻塞和非阻塞分别是? 是否占用CPU?

(2)固态硬盘和机械硬盘

(3)守护进程如何实现?

 (4)在开发中遇到了内存错误的问题,如何发现问题并解决问题?

4.Java

(1)内存分为哪几个部分?局部变量static在哪部分

(2)未初始化会不会自动赋值,赋值为多少?

(3)java单例

(4)new申请内存的方法及动态内存有关知识

 

(5)对函数多态有何了解?重载和覆盖

(6)指针用完后如果不指空,会产生怎样的结果?

(7)在堆上分配内存的函数?栈上有哪些变量?全局变量在内存的什么位置?

5.SQL

(1)SQL select的使用

(2)数据库索引?索引的优缺点?

(3)sql调优

(4)怎么优化数据库?

6.测试方案

(1)测试两个网页打开速度差别

(2)如果产品出现概率很低的问题,无法重现,但是品质要求必须解决怎么处理?

(3)如何测量网速

(4)微信和QQ有什么优缺点?

(5)用什么工具测试web页面打开的速度?

(6)seleniu相关

7.算法

(1)怎么判断链表又环?如何删除单链表的中间节点?

 1.1删除链表的一个元素

1.2 输出链表的倒数第k个元素

1.3 找到链表的中间元素        ——若链表元素个数为奇数,则输出中间爱元素,若为偶数,则输出中间两个任意一个定义两个指针,一个一次走一步,一个一次走两步,当走两步的到达链表尾部,走一步的到达链表中间

1.4 判断链表是否有环

(2)一篇英语文章,在内存足够下如何统计出现次数最多的单词?内存不够的情况下?

(3)100G的文件统计指定单词出现的次数?

(4)冒泡排序

(5)字节对齐

8.扩展



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请求,三次握手

三次握手的过程:

  1. 客户端向服务器端发送连接请求的报文;
  2. 服务器端收到请求后,同意建立连接,向客户端发送确认报文;
  3. 客户端收到服务器端的确认报文后,再次向服务器端发出报文,确认已收到确认报文。

至此,浏览器与服务器已经建立了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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值