面试记录

1. 手写一个快速排序算法?
package cn.oop.quicksort;
import java.util.Arrays;

/**

  • 快速排序算法
  • @author 温暖wk

*/
public class QuickSort {

public static void sort(int a[],int low,int heigh) {
	int i,j,value;//先声明
	
	if(low>heigh) {
		return;//return后面什么都不跟,作用是退出该程序的运行
	}
	
	i=low;        //
	j=heigh;
	value=a[i];    //数组第一个元素作为基准
	while(i<j) {
		while(i<j && a[j]>=value) 
			j--;//从后向前
			if(i<j) 
				a[i++]=a[j];
			//与前面的相对应
				while(i<j && a[i]<value) 
					i++;//从前向后
					if(i<j) 
						a[j--]=a[i];
					}
	
					a[i]=value;
					sort(a,low,i-1);//对低字表进行递归排序
					sort(a,i+1,heigh);//对高子表进行递归排序
}

public static void quickSort(int a[]) {
    sort(a, 0, a.length - 1);
}	
			
public static void main(String[] args) {
	int a[] = { 49, 38, 65, 97, 76, 13, 27, 49 };
    quickSort(a);
    System.out.println(Arrays.toString(a));
}

}
2. HTTP常见状态码及其作用?
2XX 成功
3XX 重定向
4XX 客户端错误
5XX 服务器错误
100 继续。客户端应该继续其请求
101 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200 请求成功。一般用于GET与POST请求。
301 永久性重定向
404 服务器无法找到对应资源
505 服务器不支持请求的HTTP协议版本,无法完成处理
3.TCP/IP协议的三次握手?
①客户端首先发送一个带 SYN 标志的数据包给对方。
②接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。
③最后, 发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。

4. TCP/IP协议的四次挥手?
① Client发送一个FIN(释放一个连接),用来关闭Client到Server的数据传送
② Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)
③ Server发送一个FIN,用来关闭Server到Client的数据传送
④ Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1
5. 二叉树
6. 队列

7.进程与线程的区别?
8.ArrayList和LinkedList的区别?从内存和操作等方面介绍?
9.java实现同步的方法是什么?原理是什么?

答案:后续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值