面试题

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

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
    评论
在网上搜索“Python面试题下载”,会得到许多可供下载的资源。这些资源包含了各类Python面试题和答案,可以帮助准备Python相关职位的面试。下载这些面试题的好处是可以在自己的时间里进行练习和准备,提高自己的面试技巧和知识水平。 Python面试题通常分为基础、进阶和算法三个部分。基础部分主要包括Python语言的基本语法、数据类型、控制流程、函数等内容;进阶部分则涵盖了Python的高级特性、模块与包、面向对象编程等内容;算法部分主要考察编写判断、循环、递归等算法的能力。 通过下载Python面试题资源,可以更好地了解常见的面试考点和问题,有助于自我评估和提高编程能力。此外,一些面试题还会附带答案和解析,可以对比自己的答案,进一步加深对Python知识的理解。 使用下载的面试题进行练习时,可以尝试按照规定的时间限制来回答问题,模拟真实的面试环境。这样可以提高解决问题的速度和有效性,并培养对压力的适应能力。在处理问题的过程中,可以借助文档和互联网资源来查找相关的知识和方法,同时也要积极思考和整理,以便更好地掌握和运用这些知识。 总之,下载Python面试题可以帮助提升自己的Python编程技能和面试准备能力。通过练习和理解这些面试题,可以更好地应对未来的面试挑战,增加自己的就业竞争力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值