面试题

 题目很基础,但是我还有一半没有回答上

1.Servlet的生命周期和工作原理,阐述Servlet请求中转发和重定向的区别?

(1)实例化。客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,如果没有的话就通过Servlet构造函数创建一个实例。

(2)初始化。调用Servlet的init()方法完成初始化工作,此方法只调用一次。

(3)处理请求。容器调用Servlet的service()方法处理请求,service()方法会根据请求的method属性来决定调用doGet()方法还是doPost()方法完成具体的响应。

(4)销毁。调用Servlet的destroy()方法销毁Servlet实例,此方法只执行一次。

Servlet中的转发:

客户端浏览器的地址栏不会改变,整个转发的过程是同一个请求。整个过程是一个请求,一个响应。转发只能在系统的内部,转发可以传递数据。

重定向:

浏览器地址栏会改变。整个过程是2个请求,2个响应。重定向可以定向到其他的系统。重定向不能使用request域传递对象。

 2.

 3.冒泡排序和二分查找

BubbleSort:从小到大排序,大的放在最右边。

 5 2 1 9 6      两个两个进行比较,第一轮,可以把最大的9放在最右边 变成2 1 5 6 9  第一轮的两两比较需要比较4轮(5个数比较4次)

for (int i = 0; i < a.length-1; i++) { // 控制2个相邻位置的交换  第一轮时,就是j=0时候,两辆交换4次,j=1时,两两交换3次
	if (a[i] > a[i + 1]) {
		int temp = a[i];
		a[i] = a[i + 1];
	    a[i+1] = temp;
		}

2 1 5 6 9  接着是比较  这是第二轮,而这一轮,因为最大的已经跑到最右边了,所以只需要,把前4个的最大的放大倒数第二个位置上,这样会比较3次(4个数比较3次)

第三轮,比较2个数,把大的放在最右,2个数比较1次

想这样的操作一共进行了4轮(5个数),每一轮都是同样的步骤,都是两两比较,把大的放在最右边。所以这些代码是重复的,考虑复用代码。每一轮,都会减少一个需要比较的数,即每一轮的最右端的下标会少1.

for (int  j= 0; j < a.length-1; j++) { //控制交换的轮数。5个数要交换4轮 length-1个 j=0,1,2,3
	for (int i = 0; i < a.length-1-j; i++) { // 控制2个相邻位置的交换  第一轮时,就是j=0时候,两辆交换4次,j=1时,两两交换3次
			if (a[i] > a[i + 1]) {
				int temp = a[i];
				a[i] = a[i + 1];
				a[i+1] = temp;
			}
		}
	}

二分查找:

 代码:(这样的写法必须是,从小到大进行排序)

	//数组的逆序输出
	public static int[] reverse(int arr[]){
		int arr2[] = new int [arr.length];
		for (int i = 0; i < arr.length; i++) {
			int value = arr[arr.length-(i+1)];
					arr2[i] = value;
		}
		return arr2;
	}
public static void main(String[] args) {
int a[] ={9,7,6,5,3,2};
		a= MaxMin.reverse(a);
		System.out.println(Arrays.toString(a));
		int index = MaxMin.halfSearch(a, 3);
		System.out.println(index);
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值