【测试工程师面试】面试官热衷询问的N个问题

时间:2022-04-12 02:20:03

1. 数据库中左连接右连接的区别

2.JAVA中continue和break的区别

3.Linux中查看某一个进程并且杀死

4.讲讲Java面向对象的三大特征,请再讲讲其中的xxx特征

5.Java中的所有类都继承一个什么类? Object类

6.Java中的集合有哪一些?讲讲这些集合的区别?

7.说说http返回码301和302的区别?

8.简述TCP和UDP的区别?

9.简述TCP的三次握手和四次握手的原理?

10.说一下TCP粘包是怎么产生的?

1.数据库中多表连接,根据不同的表的某一个字段进行关联,

左连接是将左边表全部显示,右边表中有关联项则显示具体数据,无关联项,则显示null

右连接与上面相反,将右边全部显示,左边表中有有关联项则显示具体数据,无关联项,则显示null

【测试工程师面试】面试官热衷询问的N个问题

1、内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符)。包括相等联接和自然联接。     
内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。   
    
2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。     
在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:

1)LEFT  JOIN或LEFT OUTER JOIN     
左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN     
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。       
3)FULL  JOIN 或 FULL OUTER JOIN
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。   
    
3、交叉联接   
交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

2. continue和break和循环中的,

continue语句中断循环中的迭代,如果出现了指定的条件跳过,然后继续循环中的下一个迭代;continue所在的循环体并没有结束;

break语句中走到break分支,则跳出整个循环体,break所在的循环体已经结束。

public class TestContinue {

    public static void main(String[] args) {
for (int i=1;i<=5;i++)
{
if (i==3) continue;
System.out.println(i);
}
// 不输出3,因为continue跳过了,直接进入下一个迭代
// 只输出 1 , 2 , 4 , 5 }
}

  

public class TestBreak {

    public static void main(String[] args) {
for (int i=1;i<5;i++)
{
if (i==3) break;
System.out.println(i);
}
// 只输出 1 , 2 , 到3就跳出循环了
}
}

  

查看进程的命令是ps,常用的搭配是ps -ef 或者ps -aux

ps -ef | grep java | grep Testxx

【测试工程师面试】面试官热衷询问的N个问题

我知道这个一个java进程,java进程又有很多,就将查询结果又| 了一次

【测试工程师面试】面试官热衷询问的N个问题

输出信息中用哪个awk,之后打印第2列

【测试工程师面试】面试官热衷询问的N个问题

作为参数传给xargs,然后kill -9  杀死他

TCP和UDP的区别:

TCP:

1. 面向连接的协议,Socket通信的时候需要3次握手

2.真因为需要连接,所以说会出现DDOS攻击

3. 基于流的协议,是一种可靠的协议,排好队然后传输过来

4. ServerSocket

5.用于比较稳定,对数据有效性有很高要求的地方

UDP:

1. 无连接协议

2. 基于数据报(报文),不可靠的协议,会出现数据丢失

3.DataGramSocket、DataGramPacket

4.无需太关注数据的稳定性

5.应用于:视频,直播【会丢包,效率比较高】