1、请你分别写出OSI的七层网络结构图和TCP/IP的五层结构

  OSI的七层结构从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。TCP/IP的五层结构分别是应用层、运输层、网络层、链路层、物理层。
##2、请你详细解释一下IP的定义,在哪个层上面,主要有什么作用?TCP与UDP呢?

  IP在网络层,TCP和UDP在传输层,TCP/IP是传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。TCP/IP之所以流行部分原因是它可以用在各种各样的信道和底层协议之上。确切地说,TCP/IP是一组包括TCP/IP,UDP(User Datagram Protocol)、ICMP(Internet Control Message Protocol)和其他一些协议的协议组。TCP/IP并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的七层抽象参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层、而TCP/IP采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层是应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程控制访问协议(Telnet)等。传输层提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到。

3、全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的

  主要区别是变量的作用范围不同、全局变量是属于在全局范围内都有效,而局部变量只在声明此变量的作用域内有效。全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,之所以叫全局变量是因为在该实例的所有方法或属性都可以引用;局部变量是在实例方法内或static块中,生命周期从调用该方法到该方法退出,并且只有该方法能够引用之。全局变量和局部变量另一个区别是在存储器中位置不同,具体说,全局变量存储在数据段中,局部变量都有可能,一般来说存储在堆栈段。

操作系统和编译器通过内存分配的位置来知道全局变量在全局数据段,并且在程序被运行的时候被加载。
  编译器通过语法词法的分析,判断出是全局变量还是局部变量。若是全局变量的话,编译器在将源码翻译成二进制代码时就为全局变量分配好一个虚拟地址,所以程序在对全局变量的操作时是对一个硬编码的地址操作。
  局部变量,编译时不分配空间,而是以相对ebp或esp的偏移量来表示局部变量的地址,所以,局部变量内存是在局部变量所在的函数被调用时才真正分配。以汇编的角度来看,函数执行时,局部变量在栈中分配,函数调用完毕释放局部变量对应的内存,另外,局部变量可以直接分配在寄存器中。

操作系统通过变量的分配地址就可以判断出是局部变量和全局变量。

4、白盒测试和黑盒测试、回归测试是什么?

白盒测试是根据代码实现设计测试用例。黑盒测试是根据业务逻辑来设计测试用例、回归测试是在开发修复完BUG后进行测试用例回归。
黑盒测试

测试特点:测试功能;

测试依据:需求规格说明书

方法举例:等价类划分、边界值测试

优点:能站在用户的立场上进行测试

缺点:不能测试程序内部特定部位,如程序有误,则无法发现。

白盒测试
 测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
 1.语句覆盖每条语句至少执行一次。
 2.判定覆盖每个判定的每个分支至少执行一次。
 3.条件覆盖每个判定的每个条件应取到各种可能的值。
 4.判定/条件覆盖同时满足判定覆盖条件覆盖。
 5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
 6.路径覆盖使程序中每一条可能的路径至少执行一次。
 测试特点:测试程序接口与结构  又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试

测试依据:软件程序

方法举例:逻辑覆盖

优点:对程序内部特定部位进行覆盖测试。

缺点:无法检验程序外部特性。

5、单元测试、集成测试、系统测试的侧重点是什么?

单元测试的侧重点是内部逻辑的正确性。集成测试的侧重点是与外部的衔接是否正确。系统测试的侧重点是整个系统的流程是否通畅。

6、一个软件测试报告的组成有哪些

测试工具及环境:
测试方法:
功能测试、集成测试、接口测试、兼容性测试(手机品牌、系统、浏览器等)、性能测试、自动化测试、手工测试等等
测试范围:
地域、权限等
需求变更及新增:
bug情况:
本次共多少bug、遗留问题(无法复现、不予修改、延期解决等)、高中低各多少。
遗留问题:
后期优化问题:
性能测试:测试风险:测试结论:

7.谈谈对测试的理解吗,为什么做测试

8.了解测开工程师在整个产品从立项到最后上线都参与了那些过程

9.合并两个二叉树

 /* struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };*/
 if(t1==NULL&&t2==NULL)
            return NULL;
if(t1==NULL) return t2;
 if(t2==NULL) return t1;
TreeNode* root=new TreeNode(root1->val+root2->val);
root->left=mergeTrees(t1->left,t2->left);
root->right=mergeTrees(t1->right,t2->right);

10.给你一个水杯如何测试?

功能测试:
主要关注水杯基本功能
1.1 水杯是否可以正常装水
1.2 水杯是否可以正常喝水
1.3 水杯是否有盖子,盖子是否可以正常盖住
界面测试:
主要关注水杯外观、颜色、设计等方面
2.1 外观是否完整
2.2 外观是否舒适
2.3 颜色搭配及使用是否让人感到舒适
易用性测试:
主要关注水杯使用是否方便
3.1 水杯喝水时否方便
3.2 水杯拿起放下是否方便,这里会衍生到水杯形状的测试
3.3 水杯装水是否方便
性能测试:
4.1 水杯装满水时,是否会露出来
4.2 水杯最大使用次数
4.3 水杯的保温性是否达到要求
兼容性测试:
主要关注水杯是否可以装其他液体,如果汁、汽油、酒精等
可移植性测试:
主要关注水杯放置环境等
6.1 将水杯放在常温环境中,使用是否正常
6.2 将水杯放在零下的环境中,使用是否正常
安全性测试:
主要关注水杯外观和各种异常条件下是否释放有毒物质等
7.1 当水杯装满热水时,水杯是否会烫手
7.2 当水杯装上水后,是否会产生有毒物质
7.3 把水杯放在零下环境时,是否会产生有毒物质

11.手机某app通话测试

1.可维护性: 是否收到噪声干扰?怎么去除?(我的方法: 比较输入语音,输出语音的频谱图 ,进行滤波)
2. 通用性: 在各个型号发型的版本能否适用?
3.效率: 多次拨号,统计从拨出到来电显示的 平均时间
4.稳定性: 在后台有其他程序运行时, 通话是否流畅.

12.你怎么看待linux,Makefile怎么使用的

13.对于客户来说测试意味着什么

14.尽可能列举一支笔的用途



写字
画画
筷子
燃料
绝缘
发簪
记号
团结
书签

15.sql增删改查,查看表的第4行到第10行

select * from table limit m,n

16.对于“深圳有多少小学”这种问题有什么思路

17.如果分布式需要哪个事务特性

18.服务端和客户端同时断开会怎么样

19.如果接收缓冲区满了,发送端怎么操作,会报错吗

20.发送端发送socket阻塞对发送端接收数据有影响吗

21.不同的索引结构之间的优劣对比,索引优化,索引的种类,再比如关系数据库和非关系型数据库的对比,mysql对于语句的解析过程等等问题都是需要掌握的

22.输入手机号,在获取快递之前,有哪些具体的点,可以去测试的呢?

23.为什么5G波长短传播速度快

毫米波是指波长在1~10毫米的电磁波,其频率大约在30GHz~300GHz之间。
无线通信最大信号带宽约在载波频率的5%左右,也就是说,载波频率越高,其可实现的信号带宽也就越大
5G通信相比,4G-LTE的频段最高频率约在2GHz左右,因而其可用频谱带宽只有100MHz;使用毫米波频段,频谱带宽则可翻10倍,传输速率也将更快。图片说明

24.【设计测试用例】验证普通计算器的有效功能

25.如何设置路由器以保证通信