Linux指令
Ps命令查找与进程相关的pid号
Ps a 显示现在终端机下的所有程序
Ps -A 显示所有程序
Ps e 列出程序时,显示每个程序所需要的环境变量
Ps f 用ASCII字符显示树状结构,表达程序间的相互关系
Ps -H 显示树状结构,表示程序间的相互关系
Ps -N 显示所有程序,除了ps指令终端机下的程序之外
Ps s显示程序信号格式
Ps u 以用户为主的格式来显示程序状况
Ps x 显示所有程序
Ps aux,a表示所有关联到终端的进程,x表示所有进程,u表示列出进程的用户
Ps -elf , -e 表示列出所有进程, -l表示长格式, -f 表示完整格式
File 通过探测文件内容判断文件类型
File ? 文件名
-v 标准输出后显示版本信息并退出
-z 探测压缩过的文件类型
-l 允许符合连接
mkdir 建立名称为dirname的子目录
Mkdir ? 目录名
-m 设定模式的权限
-p 需要时创建上层目录
-v 每次创建新目录都显示信息
grep 指定文件中搜索特定的内容,并将这些内容的行标准输出。
Grep ?
-c 只输出匹配行的行数
-I 不区分大小写
-h 查询多文件时不显示文件名
-l 查询多字符时只输出包含匹配文件的文件名
-n 显示匹配行及行号
-s 不显示不存在或错误的信息
-v 显示不包含匹配文本的所有行
find 在目录中搜索文件
Find 路径 ? 描述
-depth
-version 打印版本
top 实时显示进程的动态
-c显示完整命令
-s 积累模式显示程序信息
df 检查文件系统磁盘空间占用情况
du 检查磁盘空间使用量
fdisk 磁盘分区
Mysql增删查改
比较两个网页的访问速度
Ping 两个网站的网址可以得到发送32字节需要的时间,直接比较
测试是做什么的
测试项目的具体工作:搭建测试环境、编写和执行测试用例、写测试计划和报告、提交bug表单并跟踪bug修改、编写脚本执行自动化测试、进行性能测试压力测试等
Tcp udp区别
Vi编辑器的三种模式
编程题(求三角形面积)
海伦公式:
If(a+b>c&&a+c>b&&b+c>a)
{
S=(a+b+c)/2;
Area=sqrt(s*(s-a)(s-b)(s-c));
}
Dns流程
Ddos和waf原理
Ddos:分布式拒绝服务攻击。通过控制多个肉鸡或者服务器组成的僵尸网络对目标发送大量看似合法的请求,占用大量的网络资源,阻止用户对网络资源的正常访问。
Waf:web应用防火墙,能在应用层理解http会话,有效阻止应用层攻击,同时也具备网络防火墙功能。
解析http请求-------匹配规则--------防御动作----------记录日志
对请求的内容进行规则匹配、行为分析识别出恶意行为,并且执行相关的阻断、记录、警告操作。
Linux配置路由器的命令,怎么查看端口是否被占用,一个文件中找某个词的命令,进程,内存,查看路由
一千万个域名找一个域名
正则表达式
野指针是什么,如何避免
指针
指针是一个变量,他的值是另一个变量的地址
指针的指针
第一个指针指向包含第二个指针的地址,第二个指针指向包含实际值的位置
结构体
是一些元素的集合
Linux启动过程
不能访问某个网站的可能原因
本机不能联网如何排查
广播风暴怎么造成的
如何测试一个web页面
功能测试
1链接正确跳转,不出现空页面和无效页面,无出错信息
2提交功能正常
3多媒体元素可以正常加载和显示
4多语言支持能显示选择的语言
5cookie测试,检查cookie正常工作,按预定时间保存,刷新对cookie的影响
6数据库测试,检查数据一致性错误(表单信息)和输出错误(网速,程序设计)
界面测试
1页面风格统一、美观
2页面布局合理,重点内容突出
3文字正确
4是否支持快捷键
性能测试
1压力测试
2负载测试
3强度测试
通用指标:服务器CPU占用率,可用内存数,物理磁盘读写时间情况
服务器指标:平均每秒响应次数,平均每秒业务脚本迭代次数,每秒点击数(成功、失败),尝试链接数
数据库服务器指标:数据库链接数量、数据库死锁、数据库Cache命中
安全测试
1SQL注入
2登录功能检查,有效无效用户名、大小写、试多少次次数限制、是否可以不登录就浏览网页
3超时限制,多少时间内一直没动是否需要重新登录
4日志文件,相关问题是否写进日志文件,是否可追踪
5使用了安全套接字测试加密是否正确,检查信息完整性
6服务器端的没有经过授权不能放置和编辑脚本
兼容性测试
1浏览器
2操作系统
3数据库
4软件平台
堆栈区别
函数指针和指针函数区别
C语言执行main之前做什么
内核调用一个启动例程,从内核中取得命令行参数和环境变量值,为main函数执行做准备。
手撕一个排序算法
快排
冒泡
当数据库流量大,数据大应该怎么办
如何快速在一亿个数据中找到目标
一亿个域名链表怎么存
服务器内存不够怎么办
Linux查看进程和线程的命令
单个进程的线程htop
Top -H //显示线程
Ps -T
输入一个URL没有访问到预期的网站可能的原因
访问网页发生故障怎么解决
多个站点中,揪出所有站点中错误的一个,返回403状态信息
1000万玉米,找到里面坏的一根玉米.
客户端访问服务器端怎么控制并发量
两个linux系统怎么传文件
Linux查看磁盘命令
虚函数
内存布局
多态
它是在程序运行时根据基类的引用(指针)指向的对象来确定自己具体该调用哪一个类的虚函数。
代码段---------初始化的数据段--------未初始化的数据段--------堆---------栈
代码段:可执行命令,共享,只读
初始化数据段:包括全局变量和静态变量。编程时已经被初始化
未初始化的数据段:BSS段,初始化为0
栈:
堆:
创建动态对象,并限制大小
A* a=new A(1) //
静态数组 A a[5];
动态数组 A *a=new a[5]
URL访问网站过程
为什么不能访问谷歌,怎么访问
一个文件中的文本怎么翻转
二层网络三层网络
Tcp,udp分别在什么情景下适合
无线通信协议
二分查找,冒泡,快排
SSL
LRU
最近最少使用页面置换算法
路由器和交换机区别
Linux,软连接和硬链接的区别
未解决文件的共享使用引入两种连接
硬链接:一个inode号对应多个文件名 link或ln创建硬链接
硬连接特性:
文件的inode号和datablock一样
不能对已经存在的文件创建
不能对交叉文件系统创建
不能对目录创建,只能对文件创建
删除一个硬链接文件不影响其他有相同inode号的文件
软连接:有自己的inode号和用户数据块,inode中存的是文件的路径
特性:
有自己的文件属性和权限
可以对不存在的文件或者目录创建软连接
可对交叉文件系统创建
可对文件和目录创建
删除软连接不影响他指向的文件,但指向的文件被删除,软连接变成死链接,当该路径的文件重新创建时,死链接又变为正常软连接
纯虚函数
纯虚函数只是一个接口,是个函数声明,需要留到子类去实现。纯虚函数的基类即虚基类不能直接生成对象,只有被继承且重写后才能使用。
重载、隐藏、覆盖
哈希的好处,一般的应用场景,比起ArrayList有什么优势、区别
windows怎么查看路由表
route print
查看占用内存最高的进程
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,于Windows的任务管理器
数据结构了解哪些?红黑树?
红黑树是自平衡的二叉查找树,可以在o(logn)时间内完成查找、插入和删除
敏捷测试和瀑布模型的区别?
敏捷测试:高度迭代、周期性、及时持续响应客户反馈。尽早开始测试。
瀑布模型:
将软件的生命周期按照固定顺序连接。
http协议的常见状态码
100-199 请求收到,继续处理
200-299 成功
300-399 资源重定向
400-499 客户端请求出错
500-599 服务器端出错
200 响应成功
302 跳转,重定向
400 客户端语法错误
403 服务器拒绝提供服务
404 请求资源不存在
500 服务器内部错误
自己电脑上不了网怎么排查
微信扫码登录测试用例设计
.深信服的纸杯测试用例设计
数据库查询很慢,分析原因
装过系统吗?什么系统,我现在电脑开机,开不了,进不去bios,我想把我d盘上的文件取出来,怎么办?
如果能进bios,用u盘拷一个pe,然后再bios里进pe,就可以像正常操作系统一样拷出来,如果不能进bios只能打开把硬盘取出来安装在别人的电脑上拷文件。
PE是windows的预安装环境,带有有限服务的windows子系统,包括windows运行的安装程序和脚本,连接网络共享,自动化基本过程和执行硬件验证需要的最小功能。
网络拓扑画过吗?
网络拓扑图是指由网络结点设备和通信介质构成的网络结构图
主要有星形、环状、总线型
了解勒索病毒吗?
利用加密算法对文件进行加密,被感染者必须拿到私钥才能破解
通常通过邮件和广告推广进行传播
在Linux上面如果系统崩溃了,需要查看CPU,内存占用情况,使用什么命令?查看显存的使用情况呢?
显存 #watch -n 10 nvidia-smi (10表示每10s刷新一次显示结果)
结束进程 sudo kill -9 PID
你常用的Linux命令有哪些?说一下,并且注明常用的参数
Cp复制文件
-f 强制覆盖已经存在的目标文件,不提示用户确认
-I 覆盖时需要确认
-s 不进行真正的复制,只是为源文件创造符号链接
mv 移动文件
-i
-f
-b 在覆盖文件前备份
touch 创建文件或修改文件的修改时间
-a 只修改文件的读取时间
-m 只修改文件的修改时间
-t 使用指定时间而不是当前的系统时间
rm 删除文件
-r 删除指定目录下的所有文件
-f 强制删除不提示
cat 查看文本文件
-n 查看文件时对每一行编号
-b 查看文件时对空白文件不编号
more 和 less 查看文件
-p 显示下一屏前先清屏
-s 文件的连续空白压缩成一个空白行
find 查找文件或目录
-print 将查找的文件输出到标准输出
-name 按照文件名查找
-perm 按照文件权限查找
-user 按文件属主查找
-type 查找某一类型
grep 文本过滤
-q 不显示任何信息
-s 不显示任何错误信息
diff 比较文件差异
-I 不检查大小写
-s 没发现任何差异仍显示信息
file 显示文件类型
-b 不显示文件名称,只显示类型
split 分割文件
Join 合并文件
Pwd显示当前工作目录
Mkdir 建立目录
Ls 查看工作目录
Tree 查看目录树
Tar 打包或解压文件
Man 查看命令帮助
History 查看历史记录
Date 显示或修改系统时间
Clear 清除屏幕
Shutdown 关机或重启
Chmod 改变文件权限
Df 查看磁盘空间占用
Du 查看文件或目录空间占用
Fdisk 分区管理
Sudo 普通用户获取超级权限
Ps 进程监控
Top 系统状态监视
Ping 检查网络是否畅通,主机连接速度
Ifconfig 配置网络或显示当前网络接口状态
Route 显示添加或修改路由表
Rsync 复制文件到其他系统
Netstat 显示网络状态,路由表和接口状态
Traceroute 探测目的地址的路由信息
telnet 测试、登录、控制远程主机
iostat 硬盘io
Git相关命令提问
堆这个数据结构你了解吗?有哪些应用场景?
场景:堆排序和优先队列
大根堆和小根堆有什么区别?
父节点的值大于或者小于两个子节点
哈希表你了解吗?哈希表是怎么实现的?(数组+链表)
通过把码值映射来访问,加快查找速度
知道一致性哈希吗?讲一下
一致性哈希算法,对2^32取模,将哈希空间组变成一个虚拟的圆环,每台服务器确定自己在哈希圆环上的位置,每台机器定位到相应的服务器。一致性哈希算法的容错性和可扩展性好。
单链表的反转怎么做?(我提了三种解决方法),问哪个解法最好?为什么?
迭代
还可以用栈
正则表达式用过吗?$表示什么意思?
匹配输入字符串结束的位置
页表的内存大小一般是多大?
C语言用过吗?字符串拷贝函数有哪些?
Strcpy
strcpy的缺点,它存在哪些安全性的缺陷
没有保证目标字符串的大小可以容纳源字符串的大小。使用strcpy_s,strcpy_s可以两个参数,也可以三个参数指定复制多少个字符
知道僵尸进程和守护进程吗?讲一下
孤儿进程:父进程完成或者终止后子进程仍然运行,此子进程成为孤儿进程。当父进程退出后,子进程会被init进程收养,init进程可用调用wait,孤儿进程没有危害。
僵尸进程:子进程退出,父进程没有通过wait来获取子进程的状态,子进程的描述符还在系统中,此时的子进程变成僵尸进程。 将会占用进程号,系统进程号有限,若过多僵尸进程导致系统没有可用的进程号。
守护进程:后台运行的一种特殊进程,独立于控制终端,周期性执行某项任务或等待某些事件。
大文本的中数字怎么进行排序
N小时用归并排序
N大且程序有序程度高时用快排
N大且有序程度低时堆排最快
ARP协议
地址解析,将ip地址转换为mac地址的协议
什么是内联函数。
为了消除函数调用时间的损耗,让编译器将函数体直接插入调用函数的地方。
是程序占用空间和执行时间之间的权衡
黑盒测试和白盒测试。
黑盒包括等价类划分、边界值分析、因果图法、场景法、正交实验设计法、判定表驱动分析法、错误推断法、功能图分析法。
白盒包括静态测试和动态测试
静态测试包括代码检查、静态结构分析、代码质量度量、文档测试
动态测试包括接口测试、覆盖率测试、性能分析、内存分析
UDP传输的时候发送端和接收端信道不一样宽怎么办?
镜像文件的名称后缀是什么?
.iso
虚拟机如何联网?
选用nat模式,DHCP setting,设置redhat的ip为自动dhcp。
安装虚拟机的时候选择预分配和未分配的区别?
12306崩了,在用户登录页面你怎么测试?
对黑盒白盒测试方法的了解,对自动化测试的了解
1.黑盒测试是已知产品功能,测试功能能否正常使用。不考虑程序的内部结构和特性,只检查功能是否正常、界面是否正常、对输入数据能否产生正确输出信息。
白盒测试根据程序控制结构设计用例。检查内部逻辑结构、测试逻辑路径。
白盒测试原则:每个独立路径至少测试一次;逻辑值要测试真和假两种情况;内部数据结构要保证有效性;在上下边界和可操作范围内运行所有循环。
2.黑盒包括等价类划分、边界值分析、因果图法、场景法、正交实验设计法、判定表驱动分析法、错误推断法、功能图分析法。
白盒包括静态测试和动态测试
静态测试包括代码检查、静态结构分析、代码质量度量、文档测试
动态测试包括接口测试、覆盖率测试、性能分析、内存分析
(白盒测试方法:程序插桩技术,基本路径法,逻辑覆盖法,符号测试,错误驱动测试)
3.自动化测试优点:对回归测试方便;节省时间和人力;将繁琐的任务自动化如压力测试和并发测试;一致性、可重复性;复用性;信任度高
自动化测试缺点:发现的缺陷比手工测试少;无想象力
自动化测试工具:Seleniumn Appium Robotium
自动化测试流程:需求测试------概要设计测试--------详细设计测试--------单元测试------集成测试------系统测试-------验收测试
给一个登录界面,进行测试
如果要求登录在10秒算成功,如果超出10秒怎么测试(面试官大哥告诉我要了解整个请求过程,对过程中每一个环节进行测试,针对问题进行调优),并进行调优,如果是高并发问题,如何调优。
如何对矿泉水进行测试?(有逻辑,调理清楚)
在三种浏览器中分别输入搜索内容,如何测试反应时间?
.能否用你熟悉的语言实现数据输入,输出,登录功能,大致说一下思想。
bug生命周期
get和put
软件响应太慢的原因
物理内存或虚拟内存不够
sizeof和strlen的区别
sizeof是数据类型所占的空间大小,strlen是字符串长度
sizeof是运算符,strlen是函数
子函数传参,sizeof会把传进来的数组当指针,sizeof为4
get post 区别
request和urllib区别,
git怎么提交代码
git conmmit将文件提交到仓库
git remote add origin 远程仓库地址 关联到远程库
git pull和fetch区别
git pull 从远程获得最新版本,并merge到本地
git fetch 从远程获取最新版本,不会自动merge
详细说下等价类划分
把全部输入数据合理划分为若干个等价类,每个等价类中取一个数据作为测试输入条件,用少量的代表性测试数据获得较好的结果。
设计测试用例时不仅要考虑有效等价类,还要考虑无效等价类。
讲一下软件开发流程。
讲一下集成测试和系统测试,并且Bug定位属于什么测试。
1.集成测试:针对模块接口有关问题,对已经进行了单元测试的模块拿来构造一个满足设计的程序结构,采用增量集成。有自顶向下和自底向上集成。
2.系统测试:根据系统整体需求说明书进行黑盒测试。验证产品系统是否符合需求规格。包括软件、硬件、数据、接口测试。在系统实际运行环境中进行。
区别:先做集成测试,等问题修复后再做系统测试。集成测试用例比系统测试更详细。
应用场景:集成测试程序内部结构特别是程序接口测试,白盒黑盒结合。系统测试按照需求规格说明书进行整个产品全面测试,一般是黑盒。
Bug定位应该属于单元测试吧,单元测试是最小设计单元验证,保证模块正确编码。
问了几个网络L2/L3协议。
L2数据链路层:网桥、交换机、网卡,两个网络实体之间提供数据链路的创建、维持、释放的管理,对帧定界、同步、收发顺序控制。流量控制、差错控制。
PPP/wifi/hdlc/
L3网络层:路由器,提供路由和寻址功能,两终端系统互联并决定最佳路径。拥塞控制和流量控制。
IP网络互连协议/ARP地址解析协议/RARP反向地址转换协议/ICMP在主机路由器之间传递控制信息/IGMP组管理协议向相邻路由器报告自己组的情况/RIP路由信息协议,网关和主机之间路由选择信息/OSPF开放式最短路径优先/BGP边界网关协议,连接独立的路由选择协议
如何设置一个linux log系统,描述设计思路,功能模块。
时间、文件、行号等有用信息,然后封装好。设定等级,不同的log信息分开装,比如错误信息、警告信息、记录流程信息。添加一些命令,比如详细显示,粗略显示等。输出目的地,比如文件或控制台等
log信息有上百万条,该怎么处理,成百上千又该怎么处理。
关于问到的协议,有哪些测试,(好吧,没听过)
一致性测试:协议本身和协议规范的符合程度
互操作性测试:某一协议与其他协议之间互操作互通信能力
性能测试:协议性能指标,数据传输率、连接时间、执行速度、吞吐量、并发度
健壮性测试:恶劣环境下运行能力,干扰报文、通信故障、信道切断
交换机测试的一些东西。
linux过滤文本中的某些字段。
Grep,
Awk
Sed
Grep主要用于搜索字符串,sed和awk主要用于处理文本
Grep主要是正则表达式匹配,awk功能比较复杂,sed和grep相似,awk最强大
局域网设备开放端口,21/8080/53端口对应服务
21FTP,20用于数据传输,21用于控制命令传输(FTP是TCP连接)
53,UDP端口,DNS域名解析服务
8080,WWW代理服务,网页浏览
安全攻击的手段方法,比如你要攻击深信服官网,要做哪些动作
内部架构,后端是什么样的服务器怎么看
获取管理员权限有几种方式
常用的扫描工具有哪些
Appscan
Burp suite
Zap
Sqlmap
滑动窗口
在任意时刻,发送方和接收方都维持一个允许连续发送或者接收的帧的序号,称为发送窗口和接收窗口。发送窗口大小由接收方确定,目的是控制发送速度,避免溢出和网络拥塞。
装过系统么,装系统的过程中都发生了什么?
给你50台虚拟机同在一个局域网,如何同时在这50台虚拟机上安装一个测试工具,测试工具是一个可执行文件
百度无法访问了怎么排查什么问题,后面补充除了qq其他都无法访问。
可能是dns解析的问题,ping检查,固定ip地址,清空dns缓存
浏览器自身的问题 可能被恶意篡改
网络防火墙的问题
网络协议和网卡驱动问题
Host文件篡改
Cpu占用率100%
两台pc中间有两台路由,问pc1和pc2的源ip目的ip源mac目的mac
如:A访问B,
首先对比是否同一子网,如果是,检查ARP表,有B的MAC就直接发送,没有就发送ARP请求.如果否,发送到默认网关C,源IP为A,源MAC为A,目的IP为B,目的MAC地址为C,
C接收到这个包,检查路由表,发送到下一跳D,源IP为A,源MAC为C,目的IP为B,目的MAC为D……
如此循环,直到发送到B.
动态路由,静态路由,直连路由哪个优先级更高
直连路由不需要配置,路由器自动感知链路,自动关联接口
静态路由,网络管理员使用命令配置路由
动态路由,路由器自动建立路由表,根据网络拓扑状态自动调整
苹果系统为什么运行速度比安卓系统快
OSPF与RIP的定义与区别
Rip分布式的基于距离向量的路由选择协议,ospf分布式的基于链路状态的路由选择协议
Rip和相邻的路由器交换路由表,固定时间间隔交换
Ospf向本自治系统所有路由器发信息,交换的是本路由器周边网络的拓扑,当网络状态改变时,洪泛法发送信息
Rip知道当前路由器到所有路由器的距离以及下一跳路由器是哪个,不知道全网的拓扑结构。好消息传的快,坏消息传的慢,慢收敛
Ospf快收敛
Rip用udp传送,ospf用ip数据报传送
1、HTTP/HTTPS的区别
2、SSL如何加密
1.身份验证机制
数字签名来验证通信对端的身份,非对称密钥算法实现数字签名
2数据传输机密
利用对称密钥算法对通道数据加密解(对称:DES/3DES/AES)
3消息完整性验证
避免网络中数据被篡改,MD5/MAC算法保证消息完整性。
4非对称密钥算法保证密钥本身安全
利用RSA算法加密传输密钥
5 PKI保证公钥的真实性
4、僵尸网络是什么
通过一种或多种传播手段,使大量的主机感染僵尸程序的病毒,在控制者和被感染者之间形成一个可控制的网络。
5、僵尸网络被感染的地方是什么
6、了解DNS协议吗
域名解析
7、是一个怎样的结构
报文头—查询请求----应答----授权应答----附加信息
8、为什么他要是分布式的呢
当今因特网数量大,主机数持续增长,如果是单点式则会有单点故障,延迟,开销大。
9、了解HOST吗
存储计算机网络中各个节点信息的计算机文件,负责将主机名称映射到ip地址,用于补充dns的功能,用户可以对hosts文件进行控制
16、死锁有什么处理方法:
21、除了kill -9以外还可以有什么数字
这个会使进程在运行时强制终止,进程结束后不能自我清理会导致资源无法正常释放。使用这个时必须ps -ef确保没有留下僵尸进程。
22、各个数字分别有什么作用
23、那你有没有思考过kill -9以后操作系统内部发生了什么呢
TCP首部,UDP首部
Tcp :源端口 16 目的端口 16 序列号32 回应序号32 tcp头长度4 reserved 6 控制代码 6 窗口大小16 偏移量16 校验和16 选项32(可选)
Udp:源端口 16 目的端口 16 长度 16 校验和 16
HTTP1.0,1,1的区别
1.http1.0默认短连接,浏览器和服务器之间每一次http操作就建立一次连接,任务结束就终端。
2.http1.1默认建立长连接,当网页打开后客户端和服务器之间传送http数据的tcp连接不会关闭,如何客户端再次访问这个服务器的网页,会继续使用这条已经建立好的连接。
状态码307(临时重定向)
2.对软件测试这个工作有什么了解,平时一般通过什么途径自学
软件测试是为了捕捉软件中的错误,是一种经济高效的保证软件质量的方法。软件测试快速发展,充满挑战。一些传统测试可能会被自动化测试替代,但对于自动化软件开发、安全测试、性能测试、可靠性测试等还是需要专业人员操作。伴随着云计算、物联网、大数据的发展,测试技术可能会有更新,需要更加了解应用场景,具有更深厚的测试基础。
软件测试需要早发现问题和发现别人还没发现的问题,这样才能使解决问题的成本降低。
测试项目的具体工作:搭建测试环境、编写和执行测试用例、写测试计划和报告、提交bug表单并跟踪bug修改、编写脚本执行自动化测试、进行性能测试压力测试等
三次握手