中科软深圳分公司面试题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39387475/article/details/78275211

中科软笔试、面试

数据库方面

给出学生成绩表(score)结构说明

字段名称 字段解释 字段类型 字段长度 约束
sc_number 学号 字符 8 PK
sc_name 姓名 字符 50 Not null
sc_sex 性别 字符(男:1,女:0) 2 Not Null
sc_courseid 课程号 字符 5 PK
sc_score 分数 数值 3 Not null
sc_ismakeup 当前考试是否为补考 字符(补考:1,非补考:0) 2 Not null

下面是课程(course)表说明

字段名称 字段解释 字段类型 字段长度 约束
co_id 课程号 字符 5 PK
co_name 课程名 字符 3 Not null
co_desc 课程描述 字符 60  

1.如果学号的前两位表示年级,要查找98级女生的姓名,请写出相应的SQL语句


select  a.sc_name from score a where  substr(a.sc_number,0,2) = '98' and a.sc_sex = 0;


2.统计参加本次考试的学生人数


select distinct(a.sc_number) from score a ;


3.统计本次考试中每门课程的最高分和最低分



4.要查找所以需要补考(小于60分)的学生姓名和这门课程的名称和成绩,请写出相应的SQL语句


select 
      a.姓名,
      b.课程名,
      a.分数 
  from score as a,course as b 
  where a.课程号 = b.课程号 and a.分数 < 60


5.查询每个学生需要补考(小于60分)的课程的平均分,并以平均分排序


select 
      a.姓名,
      avg(a.分数)
  from score as a,course as b 
  where a.课程号 = b.课程号 and a.分数 < 60
  group by a.姓名
  order by avg(a.分数)


6(选做题)针对学生考试管理系统,如果要实现学生管理、课程管理、考试成绩管理的基本需求,请根据你对需求的理解,使用UML或者E-R图的方式给出一个简洁明了的数据库设计方案

编程语言方面

一.选择题

1.public class test{

  public static void main(String [] args){

     String s = new String("Hello");

     modify(s);

     System.out.println(s);

 }

  public static void modify(){

       s+="world!";

  }

}
A. The program runs anf prints "Hello"

B. an error causes compilation to fail

C. The program runs anf prints "Hello world!"

D. The program runs aborts with an exception

答案:B 因为在主方法中调用的modify();而在写此方法时没有传参,本身就是错误的。


2. public class test{

        public static String output = "";

        public static void foo(int  i){

           try{

                if(i==1){

                       throw new Exception();    

                }

                output += "1";

           }catch(Exception e){

                output += "2";

                return;

           }finally{

               output += "3";

         }

         output += "4";

        }

        public static void main(String[] args){

              foo(0);

              foo(1); 

       }

   }


答案:。



Which range of x value would print the string "second"?

A. x>0

B.x>-3

C.x<=-3

D.X<=0 & x>-3

答案:D


二.简答题

1.列举JSP中的内置对象,同一应用中页面间传值有哪些方式

解答:JSP中9大内置对象。


2.JSP如何获取HTML FORM中的数据

解答:HTML

<form action="a.jsp">
<input type="text" name="test_data"/>

<input type="submit" value="提交" />
</form>

a.jsp
<%
String testData = request.getParameter("test_data"); // 即可获得test_data的值。
%>


3.介绍在JSP中如何使用JavaBeans,如何使用一个已经定义好的类

解答:这里有篇文章:http://blog.csdn.net/whatisnotnull/article/details/7956605

jsp中使用javabean实例介绍




4.下面是Javascript语法写的一个函数,请说明该函数的作用是什么,并举例说明返回值代表的意义

function myfunction(param1,param2){
  var strValue=param1.split("-");

  var param1Temp = new Date(strValue[0]+"/"+strValue[1]+"/"+strValue[2]);

  strValue = param2.split("-");

  var param2Temp = new Date(strValue[0]+"/"+strValue[1]+"/"+strValue[2]);

  if(param1Temp.getTime() ==param2Temp.getTime() )

          return 0;

 else if(param1Temp.getTime() > param2Temp.getTime())

         return 1;

 else

        return 2;

}

5.有两个类,personSchema、personDB。personSchema描述数据库中person表的一条记录,类personDB是对类personSchema进行插入、删除及更新的操作类。

public class personSchema{

//属性及对应的get、set方法

}

public class personDB{

     public Boolean insert(personSchema tpersonSchema){

     // 插入

     }

    public Boolean update(personSchema tpersonSchema){

     // 修改

     }

     public Boolean delete(personSchema tpersonSchema){

     // 删除

     }

    public personSchemagetById(String id){

     // 根据编码来查询该人员

     }

}

(1)请写一段代码实现:插入员工编号(id)为ht000001并且名称为”张三“的人员

(2)请写一段代码实现,把刚插入的数据修改为”李四“

6.编写一个完整的程序实现如下功能:从键盘输入数字n,程序自动计算n!,并输出。(注:1 n!=1*2*3*4……*n,注2:请使用递归实现)(可以使用任何开发语言,最好使用Java)

解答:

  public static void main(String[] arg) {
    System.out.println("请输入要求阶乘的一个整数:");
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    //System.out.println(n+"的阶乘结果是:"+ factorial(n));//递归求阶乘
    System.out.println(n+"的阶乘结果是:"+ loop(n));//循环求阶乘
  }

 /**
 * 使用递归方法计算n的阶乘
 * @param n
 * @return
 */
  static long factorial(int n) {
    if (n <= 1) {
        System.out.println(n + "! = " + 1);
        return 1;
    } else {
        long num = n * factorial(n - 1);
        System.out.println(n + "! = " + num);
        return num;
    }

  }

 /**使用循环方式
  * */
 static long loop (int n){
 long num = 1;
    for (int i = 1; i <= n; i++) {
    //num *= i;
    num = num * i;
 }
    return num;
 }



猜你喜欢

转载自blog.csdn.net/qq_39387475/article/details/78275211