最近公司面试实习生搞了几个面试题,前面都是基础考察,后面两个是自己想的。
使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
简述Java中堆与栈的区别
简述Java实现线程的几种方式
阅读如下代码段,并指出其中存在的问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22public class MySQLConnection {
private static Connection mySQLConnection;
public static Connection getMySQLConnection(){
Calendar today = Calendar.getInstance();
int hour =today.get( Calendar.HOUR_OF_DAY);
if(hour > 8 && hour <23) {
if(mySQLConnection != null) {
return mySQLConnection;
} else {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/funnystudy","root","123456");
mySQLConnection = conn;
} catch (Exception e) {
e.printStackTrace();
}
return mySQLConnection;
}
}
return null;
}
}
使用Java处理如下问题。
现有一张游戏玩家登陆数据表,表结构为 : ‘id’,’name’,’login_date’,现在表中有最近三十天的玩家登陆数据,求出,连续15天的登陆玩家数以及累计15天登陆的玩家数。
注:连续登录是指,某个玩家在一段时间内,每天都登录游戏,比如1号到15号每天都登录,没错过任何一天,那他连续登录时间是15.一般我们习惯取最大连续登录时间。累计登录是指,某个玩家在一段时间内,登录天数的总和,比如1号 4号 5号登录了,其他时间都没登录,那他这段时间的累计登录天数是3天。