列出我所遇到的面试题
1、有50个数子,怎样获取前三十个数字
正确答案1:可以将五十个数字放在数组中,然后遍历循环处前三十个,代码:
public static void main(String[] args) {
int[] strs = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
for (int i = 0; i < 30; i++){
System.out.println(strs[i]);
}
}这个都不用脑的答案,居然没答上。。。
正确答案2:一个一个取呗(笨)
strs[0],strs[1]....
总结:写每一行代码都要想想啊
2、单独索引和组合(联合)索引区别
平时就知道怎么去建,但是没有想过区别,一时说不出来。。。
- 为什么引入:提高查询效率
- 复习建索引语句
- oracle:单独索引(单列创建)create (unique)index 索引名称 on 表名(索引表字段);
- 组合索引(多列创建):create index 索引名称 on 表名(字段1,字段2,...);
- 组合索引:在两个列上创建索引。只有第一个列被where自居引用时,优化器才会使用该索引,即最少要包含组合索引的第一列。最好将经常访问的列放在前面。
区别:
- 复合索引可以代替多个单一索引,复合索引在数据库操作期间所需开销小。
- 对于一张表来说,如果有一个复合索引(A,B),那么就没有必要同事建立一个单独索引(a)。
- 如果查询条件需要,可以在已有的单索引(a)的情况下添加复合索引(a,b),对于效率有一定的提高。