面试车祸现场——面试题总结

1.根据下列表score的设计,请写出查询列所展示的sql语句?

score表:
在这里插入图片描述
查询列表:
在这里插入图片描述
sql语句:

SELECT user_name, 
MAX(
CASE WHEN course='english' THEN
score
END
)AS english,
MAX(
CASE WHEN course='chinese' THEN
score
END)AS chinese,
MAX(
CASE WHEN course='math' THEN
score
END)AS math
FROM `score` GROUP BY user_name

2.有N个运动员买水,有三个空瓶可以换一瓶水,请问有个运动员最多需要买多少瓶水?请编程实现。

代码如下:(假设有51名运动员,实际最多购买35瓶)

public class DrinkNum {
	public static void main(String[] args) {
		System.out.println(getNum(51));
	}
	public static int getNum(int n) {
		//一共需要买的饮料数
		int nTemp = 0;
		//实际买的饮料数
		int result = 0;
		while(nTemp<n) {
			if(nTemp!=0&&nTemp%3==0) {
				nTemp++;
			}else {
				result++;
				nTemp++;
			}
		}
		return result;
	}
}

3、String s = new String(“xyz”);创建了几个字符串对象?

答:两个对象,一个是静态区的"xyz",一个是用new创建在堆上的对象。

4、Java对象的硬、软、弱和虚引用有什么区别?

硬引用:永远不会被GC回收。
软引用:当jvm认为内存不足时才回收。
弱引用:被垃圾回收线程扫描时回收。
虚引用:在任何时候都有可能被垃圾回收器回收。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值