1.写出下面java程序的运行结果
class A {
static{
System.out.println("1");
}
public A(){
System.out.println("2");
}
}
class B extends A{
static{
System.out.println("a");
}
public B(){
System.out.println("b");
}
}
public class HelloWorld{
public static void main(String []args) {
A a = new B();
a = new B();
}
}
答案:1a2b2b(省略换行)
2.列举Java语言8种基本数据类型及他们在内存中所占字节数
答案:
基本数据类型 | 所占字节数 |
---|---|
byte | 1 |
char | 2 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
boolean | 1 |
3.简述下列Linux Shell命令的用途
ps、top、free、df、du、tail、grep
答案:
ps:查看系统各进程执行状况的命令
top:显示系统资源命令,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
free:显示内存状态的命令
df:查看各磁盘空间文件系统和使用情况
du:查看各文件或者目录大小使用命令
tail:依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
grep:用于查找文件里符合条件的字符串。
4.描述HashMap和Hashtable以及HashMap和CurrentHashMap的区别
答案:HashMap效率高,但是在多线程环境下线程不安全
HashTable线程安全,但是效率低,因为HashTable内部是采用synchronized来保证线程安全的,每次同步执行的时候要锁住整个结构,但是在线程竞争激烈的情况下HashTable的效率下降得很快
ConcurrentHashMap采用锁分段的技术,它对数据集进行分段,每段竞争一把锁,不同数据段的数据不存在锁竞争,从而有效提高了并发访问效率;可以理解为把一个大的Map拆分为N个小的HashTable,在put或者get的时候,根据key.hashCode()来决定把key放在哪一个HashTable中,在源码中一个小的HashTable就是一个Segment
总的来说,ConcurrentHashMap就是一个线程安全的HashMap,而且还保证一定的并发访问效率
5.有如下表结构 表名game_order
coin | 元宝数 | int |
create_at | 充值时间 | bigint |
money | 充值金额 | float |
uid | 账号 | int |
select uid from game_order where create_at = 20190215 order by money desc limit 0,10
2)请用一条SQL写出各区间充值统计信息,查询结果如下
1-500元 | 500-1000元 | 1000-5000元 | 5000元以上 |
1人 | 2人 | 2人 | 8人 |
select sum(case when money>=0 and money<=500 then 1 else 0 end) as '1-500',sum(case when money>500 and money<=1000 then 1 else 0 end) as '500-1000',sum(case when money>1000 and money<=5000 then 1 else 0 end) as '1000-5000',sum(case when money>5000 then 1 else 0 end) as '5000元以上' from game_order
6.列举以下四种SQL JOIN的意义
JION(inner join)(等值连接):只返回两个表中联结字段相等的行;
left join(左连接):返回包括左表中的所有记录和右表中联结字段相等的记录;
right join(右连接):返回包括右表中的所有记录和左表中联结字段相等的记录。
FULL JOIN (全连接):返回两个表的所有记录,并使用NULL值作为两侧缺失匹配结果。
7.什么是跨域?如何解决跨域?
参考博客:https://www.cnblogs.com/sexintercourse/p/7011427.html
8.简要说明下列常见HTTP状态码代表的意义
200,302,304,403,404,500,502
参考博客:http://blog.sina.com.cn/s/blog_e77463280102x6j1.html
9.请描述一下cookies,sessionStorage和localStorage的区别
参考博客:https://www.cnblogs.com/pengc/p/8714475.html
10.对于一个足够大的整型数组arr,提供一个方法,计算出最大的N个,请用java代码完成
就是排序算法,代码参考https://mp.youkuaiyun.com/mdeditor/88600583#