面试总结

  • 前言
  • 一面
  • 二面

前言

大家好!我是一个自学测试的本科生Test_晓
这篇Blog整理了我第一次面试测试开发实习生岗位的面试题目以及整理搜集的相关知识点和资料
其中有些问题的解答还需要完善,希望各位能给我多多指点,共同进步!!

一面

  1. UDP和TCP区别

    • 连接性

      • UDP:不需要连接
      • TCP:面向连接
    • 是否全双工
      • UDP:支持一对一、一对多、多对一和多对多
      • TCP:全双工通信
    • 可靠性
      • UDP:尽最大努力的交付,是不可靠的
      • TCP:可靠的。确认和重传机制;数据排序;拥塞控制;流量控制
    • 是否报文:
      • UDP:报文
      • TCP:字节
    • 效率:
      • UDP:效率高
      • TCP:效率低

    UDP和TCP的区别
    UDP和TCP的区别和联系

  2. 网络模型(OSI七层参考模型)以及各层的协议
    (1)物理层:在传输媒体上传输数据比特流

    • 频分复用、时分复用、统计时分复用、波分复用、码分复用

    (2)数据链路层:将数据封装成Mac帧进行传输

    • 三个基本问题:封装成帧、透明传输、差错检测
    • 点对点协议PPP:字节填充、零比特填充
    • CSMA/CD:多点接入、载波监听、碰撞检测
    • 以太网交换机的优点:一个用户在通信时是独占而不是和其他网络用户共享其他网络用户共享传输媒体的带宽
    • 以太网交换机的自学习功能

    (3)网络层:IP

    • IP地址:{<网络号>,<主机号>}

    • 分类的IP地址:ABCD类

    • 地址解析协议:ARP(在本局域网上的个主机和路由器的IP地址到硬件地址的映射表,主机A向本局域网的某主机B发送IP数据报)

      • 首先在ARP高速缓存中找有无IP地址,若有就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发送此硬件地址
      • 若ARP高速缓存中找不到该IP地址,可能是主机B才入网,也可能是主机A刚刚加电,其高速缓存还是空的。在这种情况下,主机A就自动运行ARP,然后按以下步骤找出主机B的硬件地址
        • ARP在本局域网上广播发送一个ARP请求分组
        • 在本局域网上的搜友主机上运行的ARP进程都收到此ARP请求分组
        • 主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址
        • 注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址
      • 子网的划分
      • 构造超网
      • 分层次的路由选择协议:内部网关协议IGP(RIP、OSPF)、外部网关协议EGP(BGP)
        • 内部网关协议:RIP(距离向量算法、OSPF)
        • 外部网关协议:BGP(BGP发言人就是BGP边界路由器)

    (4)传输层:TCP、UDP

    • 端口号:

      • 服务器端口号:熟知端口号(最重要的一些应用程序)、登记端口号(按照规定的手续登记,以防止重复)
      • 客户端端口号:短暂端口号(通信结束后,刚刚已使用过的客户端口号就不复存在)
    • TCP和UDP的区别

    • UDP主要特点:无连接的;尽最大努力交付的;面向报文的;没有拥塞控制;支持一对一、一对多、多对一和多对多的交互通信;首部开销小

    • TCP的主要特点:面向连接的运输层协议(需要在两个套接字之间建立连接);每一条TCP连接只能是点对点的;提供可靠的交付,连接传输的数据,无差错、不丢失、不重复并且按序到达;全双工通信;面向字节流

    • TCP可靠传输的实现:确认和重传机制;数据排序;拥塞控制;流量控制(滑动窗口)

    • 拥塞控制:

      • 拥塞控制的算法:慢开始、拥塞避免、快重传、快恢复
      • 拥塞的判断:重传定时器超时、收到三个相同重复的ACK
    • 套接字socket=(IP地址:端口号)

    • TCP连接::={socket1}{socket2} = {(IP1:port1)}{(IP2:port2)}

    • TCP的三次握手和四次挥手

    (5)会话层、表示层、应用层:HTTP、FTP

    • 域名系统DNS:将域名解析为IP地址(考点:域名DNS服务器查找过程)

    • 引申:

      • 五层模型:物理层、数据链路层、网络层、传输层、数据链路层
      • TCP/IP四层参考模型:网络接口层(物理层、数据链路层)、网际层、传输层、应用层

    网络模型四层、五层、七层

  3. 数据库事务概念以及特征:

    • 事务的概念:事务是一些数据库操作的集合,这些操作由一组相关的SQL语句组成,它们是一个有机的整体,要么全部成功执行,要么全部不执行
    • 特征:
      • 原子性:事务中的所有操作要么都做,要么都不做,不存在其它情况
      • 一致性:事务的执行结果必须是使数据库从一个一致性状态转变未另一个一致性状态,不存在中间状态
      • 隔离性:数据库中一个事务的执行不受其他事务的干扰,每个事务都感觉不到还有其他事务在并发执行
      • 持久性:一个事务一旦提交,则对数据库中数据的改变是永久性的,以后的操作或故障不会对事务的操作结果产生任何影响
    • 事务的开启:
      • 隐式:会话的第一个SQL语句,结束一个事务,会自动开启一个新事物
      • 显式:用户定制的回滚点(手动)
    • 事务的结束:
      • 显示:rollback(回滚)、commit(提交)
      • 隐式(自动):DDL(自动提交,表增加删除修改)
    • 事务回滚:使用到rollback、savepoint
      • 目的:为了让程序更简单,由数据保护功能
      • 功能:事务中的所有操作都被取消,数据库恢复到事务开始之前的状态
      • 特殊:指向取消事务中的部分操作,而不是取消全部操作,则使用savepoint

    数据库事务

  4. 输入一个网址后的过程

    • 查询DNS,获取域名对应的IP

      • 浏览器先检查自身缓存中有没有被解析过的这个域名对应的IP地址,如果有解析结束。同时域名被缓存的时间也可以通过TTL属性来设置
      • 若浏览器没有命中,浏览器会检查操作系统缓存中有没有对应的以解析过的结果。在hosts文件中查找该域名对应的IP地址
      • 若还没有命中,则查找本地DNS解析器缓存是否有这个网址的映射
      • 若还没有命中,才会真正地请求本地域名服务器(DNS)来解析这个域名
      • 若仍然没有命中,则采用迭代模式或者递归模式向根域名DNS或顶级域名DNS请求查询
    • 得到目标服务器的IP地址以及端口号(http 80端口,HTTPS 443端口),会调用系统库函数socket,请求一个TCP流套接字。客户端向服务器发送HTTP请求报文
      • 应用层:客户端发送HTTP请求报文
      • 传输层:(加入源端口、目的端口)建立连接。实际发送数据之前,三次握手客户端和服务器建立一个TCP连接
      • 网络层:(加入IP头)路由寻址
      • 数据链路层:(加入frame头)传输数据
      • 物理层:在传输媒体上传输数据比特流
    • 服务器端经过物理层->数据链路层->网络层->传输层->应用层,解析请求报文,发送HTTP响应报文
    • 关闭连接,TCP四次握手
    • 客户端解析HTTP响应报文,浏览器开始显示HTML

    输入一个网址后的过程

  5. 状态码

    • 1**:接受到这个请求并正在进行处理
    • 2**:200响应成功
    • 3**:重定向。301:永久重定向;302跳转,临时重定向
    • 4**:客户端错误。400:客户端语法错误;403:服务器拒绝响应;404:找不到资源
    • 5**:服务器错误。500:服务器内部错误;502:无效的响应;503:服务器正在维护和暂停;504:服务器网关超时
  6. 怎么看待软件测试行业?为什么选择这个行业?

  7. 学过什么数据库,非关系数据库学过吗?redis知道吗?

  8. 冒泡排序:两种

    冒泡排序算法及其优化(向后冒泡)

    向前冒泡

  9. 为什么不选前端而选测试

  10. 学过java? java的三个特性?重写与重载?JAVA多线程?线程和进程

    • 三个特性:封装、继承、多态

      • 封装:封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性
      • 继承:可以理解为一个对象从另一个对象获取属性的过程,继承中最常使用的两个关键字是 extendsimplements
      • 多态:是同一个行为具有多个不同表现形式或形态的能力。实现方式由重写与重载、接口、抽象类和抽象方法

      Java的三个特性详解

      java三大特性总结

      java向上转型

      java编程思想

    • 重写与重载:

      java中重写和重载的区别

    • Java多线程

      线程和进程的理解

      线程和进程的深入理解

      多进程和多线程的概念

      多线程和多进程

      多线程和多进程区别

      w3cschool多线程编程

  11. 举例几个请求方法

    • get:请求获取Request—URL所标识的资源
    • post:在Request—URL所标识的资源后附加资源
    • head:请求获取由Request—URL所标识的资源的响应信息报头
    • put:请求服务器存储一个资源,由Request—URL作为其标识
    • delete:请求服务器删除由Request—URL所标识的资源
    • trace:情感求服务器回送收到的请求信息(用于测试和诊断)
    • connect:保留
    • options:请求查询服务器性能
  12. java迭代器

二面

  1. 为什么选择测试?举例说明细心

  2. 题目:给定一个大小为N的循环链表,从1-N-1排列,如果按每隔X位插入1个数(N+X*Y),则插入的第Y个数其前后节点的数字分别是什么?
    C语言实现

  3. 题目:N!的数末尾有多少零

  4. 讲讲正交实验法?

    正交表概述以及示例

    正交试验法实例

  5. 因果图法和判定表法以及区别?
    (1)因果图:因是输入条件,果是输出结果。反映的是输入条件之间的约束关系以及不同条件组合产生不同的结果
    (2)判定表法:条件桩、动作桩、条件项、动作项

    因果图和判定表法(1)

    因果图和判定表法(2)

  6. 场景法:根据用户不同的使用场景设计测试用例,基本流(正确流程)备选流(错误流程)

    场景法概述

    场景法-ATM机实例

  7. 讲讲笛卡尔积?

    什么是笛卡尔积

    数据库中的内外连接、笛卡尔积

  8. 项目问:项目需求、技术栈、项目是否已使用、项目bug(输入框和绑定账号:需求问题;解绑怎么办)

  9. bug的几个状态以及流程,禅道的使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JR6cbqfF-1616498277670)(C:\Users\liuxiao\AppData\Roaming\Typora\typora-user-images\image-20210323170526969.png)]

bug生命周期及其流程图

  1. 什么时候拒绝bug?

    不是bug

  2. 你觉得冒泡排序写的怎么样?

  3. 你觉得上一个面试官对你的评价是怎样的?

  4. 你觉得你这次面试的怎么样?

  5. 知道哪些测试方法?白盒测试方法怎么测?路径覆盖率(就是逻辑覆盖率)?用过哪些?

  6. 数据库大表写前还是小表?为什么?

  7. 有A、B两个表,A有100条数据,B有10000条数据,AB表连接,查询B表中的数据,至少查询多少条数据?
    使用右连接,10000数据

  8. 数据库中union?

    定义:UNION 操作符用于合并两个或多个 SELECT 语句的结果集

    union用法

    union、union all和并集

  9. 知道循环链表嘛?(循环链表题目)

  10. 什么是接口测试?

    • 接口测试流程
      (1)阅读理解接口说明(设计)文档
      (2)设计接口测试方案(测试工具 时间人员安排等)
      (3)设计接口测试用例
      (4)测试执行
      (5)收集测试结果,提交测试报告
    • 为什么进行接口测试?
      能够发现前端界面测试中所不能发现的错误,例如前端输入框中不能输入负数,而通过接口可以输入负数;性能测试
    • 接口测试的测试点有哪些?
      (1)基本的功能测试:接口功能、返回值、状态码、边界分析测试;
      (2)业务逻辑测试:是否有依赖业务;数据库验证
      (3)性能测试:响应时间、用户并发数、吞吐量
      (4)安全测试:SQL注入;敏感信息是否加密
      (5)异常测试:参数异常和数据异常

    接口测试综合

  11. 软件质量?

    质量模型

  12. 索引和索引表?

  13. 为什么要实习?

  14. 还有什么问题?

测试开发工程师实习—第一次面试总结相关推荐

  1. 20140722-百度质量部测试开发工程师-实习面试

    约的10点,在奎克科技大厦.在大厅等的时候,前几个的面试官都是男生,到我就是个小姑娘.把我领上5楼讨论厅,就直接说咱们这个面试大概是半个多小时. 先是自我介绍,完了对着简历问了哪个项目你认为是有难度的 ...

  2. 20140723曙光-测试开发工程师-实习面试

    晚上投的简历,第二天上午就给打了电话,约好了下午面试,曙光在软件园的位置好偏,奔波的好累..到了给面试官打电话,说让直接上5楼,然后找了个会议室,我以为这个面试应该很随意,结果来了三个面试官,两个男的 ...

  3. 阿里-测试开发工程师-18年暑期实习-一面

    阿里-测试开发工程师-18年暑期实习-一面 30min面试时间,电话面试,全问简历,没有单独的技术问题.主要是实习,然后两个项目,再问比赛.然后测试相关工具. 1.自我介绍(学校排名念了一下,项目实习 ...

  4. 校招末班车 — 记我的爱奇艺测试开发工程师面试之旅

    自从二月底离职后,一直没有找到合适的归宿,但是好在终于有了校招的意识.在网上疯狂投递17届校招.曾经有一个礼拜每天都有笔试面试,刚好又是毕业季毕设论文还压着,心力交瘁.陆续收到几份offer,Java ...

  5. 阿里测试开发python面试题_[阿里面试]测试开发工程师面试

    2015年4月20日,我参加了阿里巴巴的实习生面试.面试是在西安悦豪酒店进行的.我报的职位是测试开发工程师.最终结果是挂在了2面上.但是我还是把面试过程写下来,希望都大家有些参考. 一面 我预约的是下 ...

  6. 测试开发工程师成长日记018 - 测试面试必备题记录(持续更新)

    技术模块 一.在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试? 建立测试计划,确定测试标准和测试范围 设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等 ...

  7. 软件测试外包到蚂蚁金服,2019蚂蚁金服面试经验(服务运营岗,测试开发工程师等)...

    为了帮助职业圈网友能够及时了解蚂蚁金服的面试流程以及面试过程所涉及的面试问题,职业圈小编把2019最新蚂蚁金服面试经验编辑好,马上提供给大家,以便能够尽快帮助到有需要的人.文章中还为你提供蚂蚁金服面试 ...

  8. 测试开发工程师面试总结(一)——Java基础篇

    本文面向对象:测试开发工程师(服务端自动化方向). 随手百度一下都能找到**岗位面试总结,但是有关测开岗位的面试总结却寥寥无几.总体原因可能是这两个: 1 测试行业整体水平参差不齐,导致不同公司面试的 ...

  9. 美团-测试开发工程师-18年暑期实习-一面二面

    美团实习 测试开发岗 两面技术+一面hr 一面 35min的面试时间,电话面试,按照简历的专业技术部分问的,先问项目性能指标,C++,再Linux常见命令,网路(我说我不是很熟),数据库.最后给了一个 ...

最新文章

  1. 前沿技术 | 自动机器学习综述
  2. 这8份前沿Paper+Code ,你一定用得上!
  3. Deep Learning(深度学习)学习笔记整理系列 一
  4. mysql 5.7 修改配置文件_如何找到并修改MySQL57的配置文件m
  5. 英语c开头语言,字母c开头的英语短语
  6. 【FFMPEG系列】windows下编译ffmpeg且加入libx264
  7. Unity3D实践4:带有出入特效的提示框
  8. web框架--MVC、MTV
  9. 超实用的浏览器插件json格式转换
  10. Vegas2020注册机
  11. mac注销快捷键_Mac快捷键大全
  12. 有一个测试微信删除软件叫wool,微信中用发起群聊来测试你有没有被对方删除好友方法图文教程...
  13. 入侵网络游戏服务器修改,如何入侵网络游戏服务器
  14. 什么是你的核心竞争力之二?
  15. oBlog 4.0 正式版 2006-09-06
  16. CleanMyMac X 4.8版本更新!
  17. 京东平台的产品标题的优化有什么技巧?
  18. #运算符 ##预算符
  19. python吃内存吗_python – 为什么泡菜吃内存?
  20. html页面中访问外站资源的时候协议的问题

热门文章

  1. 疫情下,分享2022年比较冷门的网络兼职
  2. PipeCAD之管道标准库PipeStd(2)
  3. 基于SSM+JSP实现的兼职论坛网站(用户/管理员、登录、论坛交流、兼职发布、用户管理、帖子管理、兼职管理、广告管理、信箱管理、用户收藏、系统公告)
  4. php银行支付教学课程,php版交通银行网银支付接口开发入门教程
  5. appinventor多个拓展导入导致编译出错:
  6. 医学基础-免疫丨三种专职性APC的功能特点
  7. janus视频房间插件协议交互整理
  8. Oracle Apps(EBS)模块名称 SAP模块名称
  9. pacemaker之fence_xvm:libvirtd
  10. coco2dx精灵和背景遮挡_Cocos2d-x精灵的性能优化——使用纹理图集和精灵帧缓存...