康拓普面试题

存储过程和函数的区别:
function有返回值,并且可以直接在Query中引用function和或者使用function的返回值。
本质上没有区别,都是PL/SQL程序,都可以有返回值。
最根本的区别是:存储过程是命令,而函数是表达式的一部分。

设有学生,课程关系数据库。其中数据库关系模式为:
学生表 S(学号 S#,姓名 Sn,所在系 SD,年龄 SA)
课程表 C(课程号 C#,课程名称 CN,先修课号 PC#)
学生选课表 SC(学号 S#,课程号 C#,成绩G)
问题一:画出该数据库系统的实体联系图(E-R图),注明联系类型
问题二:列出选课超过3门的学生学号,其所选课程及平均成绩。
select s1.c#,c1.CN,avg(s1.G) from sc s1 inner join c c1 on s1.c#=c1.c# group by s1.c# having count(*)>3


1已知:zero,one,two,three,four,five,six,seven,eight,nine分别对应0,1,2,3,4,5,6,7,8,9,对每一段含有这几种字符串的字符串进行转换,如:
输入:nineeightsevensixfivefourthreetwoonezero
输出:9876543210
数字的先后顺序不考虑。

解:
public class Test01 {

public static void main(String[] args) {
System.out.println(englishToNumber("onetwothreezero"));
System.out.println(englishToNumber("fivesixeightfour"));
System.out.println(englishToNumber("onefiveeightfoursixfive"));

}

public static String englishToNumber(String arr){
Map<String,String> map = new HashMap<String,String>();
map.put("zero", "0");
map.put("one", "1");
map.put("two", "2");
map.put("three", "3");
map.put("four", "4");
map.put("five", "5");
map.put("six", "6");
map.put("seven", "7");
map.put("eight", "8");
map.put("nine", "9");
String message = "";

while(!"".equals(arr)){
if (arr.startsWith("on") || arr.startsWith("tw") || arr.startsWith("si")) {
message += map.get(arr.substring(0, 3));
arr = arr.substring(3,arr.length());
}
if (arr.startsWith("ze") || arr.startsWith("fo") || arr.startsWith("fi") || arr.startsWith("ni")){
message += map.get(arr.substring(0, 4));
arr = arr.substring(4,arr.length());
}
if (arr.startsWith("th") || arr.startsWith("se") || arr.startsWith("ei")) {
message += map.get(arr.substring(0, 5));
arr = arr.substring(5,arr.length());
}
}
return message;
}

}


选择题
1:下列XML Schema简单类型表达的含义是___D___
<xs:simpleType name="abcd">
<xs:restriction base="xs:string">
<xs:pattern value="d{5}[A-G]{7}"/>
</xs:restriction>
</xs:simpleType>

A. 以数字5开头,后面跟ABCDEFG B. 以数字5开头,后面跟A到G之间的任意7个字符
C. 以5个数字开头,后面跟ABCDEFG D. 以5个数字开头,后面跟A到G之间的任意7个字符

2:如果不希望JSP网页支持Session,应该( B )
A、调用HttpSession的invalidate()方法
B、<%@ page session= "false">
C、在jsp页面中写入如下代码HttpSession session=request.getSession(false);
D、调用HttpSession的setMaxInactiveInterval(),将时间设置为0

3:看到下列js代码,将会输出(A)
A、undifind 和 2
B、1 和 2
C、2 和 2
D、-

4:以下关于SessionFactory的说法哪些正确?(BC)
A、对于每个数据库事务,应该创建一个SessionFactory对象
B、一个SessionFactory对象对应一个数据库存储源。
C、SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个。
D、SessionFactory的load()方法用于加载持久化对象

5:Spring中的@AspectJ切点表达式函数都有哪些?__ABCD__
A、方法切点函数
B、方法入参切点函数
C、目标类切点函数
D、代理类切点函数

6:Spring 中applicationcontext能够用到bean的作用域有哪些?__ABC__
A、singtleton
B、prototype
C、session
D、response

7:下面哪几个不是属于jquery的事件处理? (BC)
A、bind(type) B、click() C、change() D、one(type)

8:下列关于HTML中的CSS样式表的说法正确的是?__C__
A、CSS样式表的基本选择器有:标记选择器、Id选择器和类选择器及后代选择器
B、CSS样式表仅具有继承性
C、对于定义样式div.p{color:red;}意思是div下面的应用了类p的标签的字体颜色为红色
D、ID选择器在CSS样式表具有最高优先级

9:在javascript里,下列选项中不属于数组方法的是?__B__
A、sort()
B、length()
C、concat()
D、reverse()

10:下列不是document对象的方法有?__D__
A、write()
B、getElementByld()
C、getElementsByName()
D、bgColor()

11:java中TimedOutException不是RunTimeException,给出以下不完整代码片段,选项中可以被加入第一行?__BC__
1
2{success=connect();
3 if(success==-1){
4 thow new TimedOutException();
5 }
6}

A、public void method()
B、public void method() throws Exception
C、public void method() throw Exception
D、public throw TimedOutException void method()

12:以下java代码中,方法oneMethod的运行正常,则显示结果为?__D__
try {
oneMethod();
System.out.println("condition 1");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("condition 2");
} catch (Exception e) {
System.out.println("condition 3");
}finally{
System.out.println("finally");
}

A、condition 1
B、condition 2
C、condition 3
D、finally

15:以下代码运行结果可能的是?__D__
public class Example {
int x=0;
public class Runner implements Runnable{
@Override
public void run() {
int current=0;
for (int i = 0; i < 4; i++) {
current=x;
System.out.print(current+",");
x=current+2;
}
}
}

public static void main(String[] args) {
new Example().go();
}

public void go(){
Runnable r1=new Runner();
new Thread(r1).start();
new Thread(r1).start();
}
}

A、0,2,4,6,8,10,6,
B、0,2,4,6,8,10,2,4,
C、0,2,4,6,8,10,12,14,
D、0,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14
E、0,2,4,6,8,10,12,14,0,2,4,6,8,10,12,14,

mangodb
MongoDB 是一个基于分布式文件存储的数据库。面向集合存储,易存储对象类型的数据。

左链接右链接和内连接的区别
左连接 左边的表是全部数据,右边的只有符合条件的才有数据;
右连接 右边的表数据全,左边的符合条件的有数据;
内连接 显示左边右边共有的

什么是DI机制?
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者
因此也称为依赖注入。
spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。
设置注入的优点:直观,自然
构造注入的优点:可以在构造器中决定依赖关系的顺序。

什么是AOP?
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面
1.面向切面编程提供声明式事务管理
2.spring支持用户自定义的切面

面向切面编程(aop)是对面向对象编程(oop)的补充,
面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。
AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象,
是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。

如何处理高并发
处理高并发:
1)数据库方面:
设置事务可以解决数据库操作并发的问题;
数据库的性能优化;
2)系统的设计方面:
尽量使用缓存,包括用户缓存,信息缓存:可以大大减少与数据库的交互,提高性能;
负载均衡/加速
存储
3)HTML静态化:
HTTP请求---Web服务器---Servlet--业务逻辑处理--访问数据--填充JSP--响应请求
HTTP请求---Web服务器---Servlet--HTML--响应请求

springmvc和struts2的对比
首先它们都web层的框架
spring mvc 开发效率比struts2 要高,springMVC 请求只实列化一次 struts2 没请求一次都会实列化一次
springMVC 是基于方法级别的一种拦截设计
struts2 是基于类的设计

关于负载均衡的理解
把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间

mysql分页怎么写
select * from product limit 10, 20

java Excel导出如何实现
使用jxl工具类
第一步,创建一个webbook,对应一个Excel文件
第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
第四步,设置样式
第五步,设置导出数据
第六步,弹出下载框

jquery选择器有哪些
1. 基本选择器 通过元素id、class和标签名来查找DOM元素 $("#myDiv"); $(".myClass")
2. 层级选择器 通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素等 $("form input") ; $("form > input") ;
3. 过滤选择器 通过特定的过滤规则来筛选出所需的 DOM 元素 $("tr:first") ; $("tr:last")
4. 属性过滤选择器 $("input[name='newsletter']").attr("checked", true);

jsp页面怎样引入一个类
<%@page import="com.ideal.dao.CommPayAppDao">

原文地址:https://www.cnblogs.com/learnapi/p/8551358.html