美团一面(记第一次实习面试)

分享面试中遇到的问题,包括Integer比较、synchronized的差异、锁的理解、数组长度操作和方法命名规范。面试官引导提问的方式让博主反思技能不足。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面试上来就是写代码,然后在写的过程中去引导问问题。
1.Integer和int的比较,通过==比较,复合拆箱应用场景,是直接比较值的,Integer变量之间的比较,对于范围-127-128之间的整数,两个Integer对象的地址是相同的,但是不在这个范围内的时候,地址就不相同了。
2.synchronized,修饰普通方法和修饰静态方法有什么不同?
3.锁的获取是对于线程而言的,不是对于对象而言的,一个线程获取了一把锁访问了一个同步方法,如果这把锁还是其他方法的锁,那本线程还可以继续访问这把锁锁住的另外方法,可重入的概念。
4. 求长度length是对数组而言,对集合是size。
5. 方法命名应该有规范,能够让人看出来意思,不要是demo。
6. 先降序后升序的数组最小值?

public static int getLessIndex(int[] arr) {
		if (arr == null || arr.length == 0) {
			return -1; // no exist
		}
		if (arr.length == 1 || arr[0] < arr[1]) {
			return 0;
		}
		if (arr[arr.length - 1] < arr[arr.length - 2]) {
			return arr.length - 1;
		}
		int left = 1;
		int right = arr.length - 2;
		int mid = 0;
		while (left <= right) {  //无等于的话需要下面的return left
			mid = (left + right) / 2;
			if (arr[mid] > arr[mid - 1]) {
				right = mid - 1;
			} else if (arr[mid] > arr[mid + 1]) {
				left = mid + 1;
			} else {
				return mid;
			}
		}
		//return left;
	}

不知道为什么,面试官并没有我的简历(也许是被刷kpi吧),不过面试官人还是很不错的一直在引导我回答问题,态度也很好没有因为我太菜而对我不屑一顾,然后就问我会什么我简单说了下那些基础知识,然后就开始让我编程,根据编程中的情况去引导问题的提出,总的来说问的很见到,写的很一般还是自己掌握的不好的原因。另外面试不要紧张,我就是第一次面试,对美团看的还比较重,面试前太紧张了,导致我都没能静下来好好学习。不要看的太重,还是要掌握好知识,机会总会有的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值