测试开发岗面试

1.session和cooki的区别:
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
1 session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务端可以知道其中的信息
2 session中保存的是对象,cookie中保存的是字符串
3 session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的

2.session与cookie的联系:
session是需要借助cookie才能正常工作的,如果客户端完全禁止cookie,session将失效

3.请求一个页面到显示的过程?
一个网页从开始请求到最终的显示一般可以分为7个步骤:
(1)在浏览器中输入网址;
(2)DNS 域名解析,获得域名对应的web服务器的IP地址;
(3)与web服务器建立起TCP连接;
(4)将用户输入的地址封装成 HTTP Request 请求报文,发送到服务器
(5)服务器将响应结果封装到 HTTP Response 响应报文中 发送给客户端
(6)用户浏览器接收到响应后开始渲染html、css,解析和执行 JavaScript 代码
(7)当浏览器在解析的过程中遇到 一些静态资源时,会再次重复上面的步骤

4.GET和POST区别?
本质上两者是HTTP协议中的两种发送请求的方法
(1)get是从服务器上获取数据,post是向服务器传送数据。
(2)GET把参数包含在URL中,POST通过request body传递参数。
(3)get的安全性较Post要差些,有机密信息的话建议用Post数据提交方式
(4)get方式提交的数据最多只能有1024字节,而post则没有此限制

5.事务是什么?
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。
举例:
如果我们要修改表中的某条记录,可以用以下方法:
首先删除原记录,然后插入修改后的新记录,这个过程中有2步
如果出现记录删除成功,但插入的时候因为某种原因导致失败的话,就会出现数据丢失。这个时候,就可以用事物来处理,把删除和插入当成是一件事,必须是2步都成功,数据才发生改变。否则若是出现删除成功,而插入失败的情况,希望将自动回滚,恢复为原始状态。
6.常用Linux命令
ping 查看网络连接
ls查看文件夹中的目录
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
cd命令切换当前目录至
pwd命令查看当前路径
mkdir命令创建文件夹
实例:(1)当前工作目录下创建名为t的文件夹mkdir t
(2)在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建
mkdir -p /tmp/test/t1/t
rm命令删除一个目录中的一个或多个文件或目录
实例:(1)删除任何.log文件;删除前逐一询问确认
rm -i .log
(2)删除test子目录及子目录中所有档案删除,并且不用一一确认
rm -rf test
(3)删除以-f开头的文件
rm – -f

mv命令移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
(1)将文件test.log重命名为test1.txt
mv test.log test1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mv llog1.txt log2.txt log3.txt /test3
7.动态变量和静态变量的区别
全局变量声明之前加上static,就是静态全局变量。全局变量和静态全局变量都是静态存储的;在存储上无区别。区别在于他们的作用域;全局变量的作用域是整个源程序,当源程序有多个源文件组成时,全局变量在各个源程序文件都是有效的;而静态全局变量被限制了作用域,只在定义该变量的源文件内有用在同一程序的其他源文件不能使用

8.堆和栈的区别?
栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中。

堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。

9.TCP三次握手
每一次TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。 在谢希仁著《计算机网络》第四版中讲三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
第一步:client 发送 syn 到server 发起握手;
第二步:server 收到 syn后回复syn+ack给client;
第三步:client 收到syn+ack后,回复server一个ack表示收到了server的syn+ack。
测试开发岗面试_第1张图片
测试开发岗面试_第2张图片

arp协议

你可能感兴趣的:(测试开发岗面试)