金智子午JAVA面试题
2023-07-06
1.String 和StringBuffer 的区别?
String 类提供了数值不可改变的字符串。而StringBuffer 类提供的字符串可以进行修改。
2.abstract class 和interface 有什么区别?
抽象类有构造方法,让其子类调用父类的构造方法;必须有子类,子类中必须覆盖父类的抽象方法。一个类只能有继承自一个父类。
接口没有构造方法,接口之间可以多重继承,一个类可以同时实现多个接口。
3.索引的类型有哪些?如何建索引?优缺点是什么?
按照索引列的个数,可以将索引划分为单列索引和符合索引;
按照索引列值的唯一性,可以将索引分为唯一索引和非唯一索引。
Create [unique] index 索引名 on 表名(一个或多个索引列名并用“,”隔开)
优点:查询大量数据时,可以提高查询效率。
缺点:不维护空值,占用一定的资源,插入和更新数据时,影响效率。
4.软件开发模型有哪几种?各有什么特点?
1.瀑布模型:用户需求一改,过程从上到下不可逆。(需求,分析,设计,实现,测试)
2.统一开发过程(USDP):是一个迭代、递增的开发过程;
每一次迭代均会越来越接近最终目标。
这种方式的优点:过程中需求的改变不会影响到整体项目开发,项目控制比较灵活。
降低成本;
便于更好地维护项目进度;
便于团队的协作开发;
便于适应用户需求的动态变化。
5.求两个字符串中的最大公共子字符串(编程实现)
public class LongestCommonSequence
public static void main(String[] args)
System.out.println(LongestCommonSequence.getSubString(“fdsddfe”,
“ddsdfe”));
public static String getSubString(String s1, String s2)
if (s1.length() > s2.length())
String temp = s1;
s1 = s2;
s2 = temp;
int n = s1.length();
int index = 0;
ok: for (; n > 0; n–)
for (int i = 0; i < s1.length() – n + 1; i++)
String s = s1.substring(i, i + n);
if (s2.indexOf(s) != -1)
index = i;
break ok;
return s1.substring(index, index + n);
打印如下形状:(编程实现)
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
JSP的9个内置对象及主要方法
写SQL语句,用到where,group by,having
字符串截取