`

中科软面试笔试题

    博客分类:
  • Java
阅读更多

   1.  打印乘法口决表:

Public static void main(String []args){

for(int i=1;i<10;i++)  {                    
    for(int j=1;j<=i;j++){
     System.out.print(j+"X"+i+"="+j*i +"\t") ;
     if(i=j) System.out.println("\n");
     }
    }
 }

 递归遍历某个目录sinosoft下的所有java文件 

   public static void lisFile(String str){
        File file = new File(str);
        if(file.isDirectory()) {
            File[] files = file.listFiles();
            for(int i = 0; i < files.length; i++) {               
                String filename = files[i].getName();
                if(filename.trim().toLowerCase().endsWith(".java")) {
                    System.out.print("files:  "+files[i].getName()+"\t") ;
                }
                    if(files[i].isDirectory()){
                        String nn=files[i].getPath() ;
                        lisFile(nn) ;
                    }             
            }
           
        }
    }      

2. 给出一个JDBC操作的例子,指出不完善的地方,那个例子就不说了,下面列出一个常见的:

 public static void main(String args[]){
        String url = "jdbc:microsoft:sqlserver://localhost:1433;database=NorthWind" ;
        String _uname = "dbtest" ;
        String _pwd = "889988" ;

Connection con=null ;

PreparedStatement psmt = null ;
       
        try{
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") ;
            System.out.println( "类实例化成功!" );
            con = DriverManager.getConnection(url,_uname,_pwd) ;
             psmt = con.prepareStatement("insert into test values(?,?)") ;
            psmt.setString(1, "Jiang hua") ;
            psmt.setString(2, "
kyle@163.com") ;
            psmt.executeUpdate() ;
            psmt.setString(1, "Xu Fen") ;
            psmt.setString(2, "
su3@163.com") ;
            psmt.executeUpdate() ;
        }catch(Exception fnot){
          fnot.printStackTrace() ; 
        }finally{
            try{
            psmt.close() ;
            con.close() ;
            }catch(Exception e){
                e.printStackTrace() ;
            }
            }
    }  

3.SQL 也不难的,给了两个表,然后对两个表进行查询。问了主键,外键,索引有什么作用  

主键的作用:1)保证实体的完整性; 
2)加快数据库的操作速度 
3 在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。 
4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。 

外键的作用:最根本的就是 参照完整性约束,表间数据的完整性

   衍生出来的作用就是   在参照完整性的原则下来表达多对一的关系

索引的作用:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 
第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 
第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
 

   

4.还有 以Struts框架为例,向别人介绍MVC模式

Struts采用jsp作为MVC的视图,ActionServlet具体指定的action动作类作为 控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请 求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封 装数据和业务逻辑。

m:model  v:view c:control  
struts中的JSP页面是实现视图层的(view,这里不用多说,struts其实就是用来跳转这些页面,提起/输出JSP页面的参数。。
JavaBean类,也就是那个什么纯get/set方法的那个类是业务层的,就是上面所说的model,模型层;

control就是写的那些action/actionform,用来控制view和model之间的联系,获取参数,跳转页面。。。

5.都熟悉哪些应用服务器?我只知道 JBoss,Weblogic,Websphere,Oracle Application Server,Sun Application Server . 

1.     Oracle表连接方式有哪些?请举例说明其中一种方式

嵌套循环连接 排序合并连接哈希连接,群集连接,笛卡尔连接

嵌套循环连接的内部处理的流程:1 Oracle 优化器根据基于规则RBO或基于成本CBO的原则,选择两个表中的一个作为驱动表,并指定其为外部表。2 Oracle 优化器再将另外一个表指定为内部表。3 Oracle从外部表中读取第一行,然后和内部表中的数据逐一进行对比,所有匹配的记录放在结果集中。4 Oracle读取外部表中的第二行,再和内部表中的数据逐一进行对比,所有匹配的记录添加到结果集中。5 重复上述步骤,直到外部表中的所有纪录全部处理完。6 最后产生满足要求的结果集。通过查询SQL语句的执行计划可以看出哪个表是外部表,哪个为内部表。如 select a.user_name,b.dev_nofrom user_info a, dev_info bwhere a.user_id = b.user_id;上面的表是外部表,即驱动表
下面的表是内部表

2.     sql语句中的exists和in有区别吗?语句优化有哪些方式?

EXISTS:后面可以是整句的查询语句如:SELECT * FROM titles 
IN:
后面只能是对单列:SELECT pub_id FROM titles 

优化方法:1)选择最有效率的表名顺序(只在基于规则的优化器中有效):(2WHERE子句中的连接顺序: 3SELECT子句中避免使用‘*’ 4)减少访问数据库的次数:(6)使用DECODE函数来减少处理时间(7)整合简单,无关联的数据库访问:8)删除重复记录: 9)用TRUNCATE替代DELETE 。。。

3.     简述Spring事务管理方法,写出一种配置方式

Spring提供的编程式的事务处理
  
  Spring提供了几个关于事务处理的类: 
  ·TransactionDefinition //事务属性定义
  ·TranscationStatus //代表了当前的事务,可以提交,回滚。
  ·PlatformTransactionManager这个是spring提供的用于治理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务治理类例如DataSourceTransactionManager等都是这个类的子类。  
  我们使用编程式的事务治理流程可能如下
  1 声明数据源
  2 声明一个事务治理类,例如DataSourceTransactionManager,HibernateTransactionManger,JTATransactionManager
  3 在我们的代码中加入事务处理代码:
   TransactionDefinition td = new TransactionDefinition();
  TransactionStatus ts = transactionManager.getTransaction(td);
  try
  {
   //do sth
   transactionManager.commit(ts);
  }
  catch(Exception e){transactionManager.rollback(ts);}
  使用spring提供的事务模板TransactionTemplate
   void add()
  {
   transactionTemplate.execute( new TransactionCallback(){
  pulic Object doInTransaction(TransactionStatus ts)
  { //do sth}
   }
  }
  TransactionTemplate也是为我们省去了部分事务提交、回滚代码;定义事务模板时,需注入事务治理对象. 
  Spring声明式事务处理
  Spring声明式事务处理也主要使用了ioc,aop思想,提供了TransactionInterceptor拦截器和常用的代理类TransactionProxyFactoryBean,可以直接对组件进行事务代理。
  使用TransactionInterceptor步骤
  1.定义数据源,事务治理类
  2.定义事务拦截器,sUCh as:
   bean id = "transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"
  <property name="transactionManager"><ref bean="transactionManager"/></property
  <property name="transactionAttributeSource"
  <value
  com.test.UserManager.*r=PROPAGATION_REQUIRED
  </value
  </property
  </bean
  3.为组件声明一个代理类:ProxyFactoryBean

4.     Java实现一个快速排序

public class QuickSort
{

    public void qsort(int []a,int low,int high)
    {
        if(low<=high)
        {
            int i=low;
            int j=high+1;
            int mid=a[low];
            while(true)
            {
                while(i+1<a.length&&a[++i]<mid);

                while(j>0&&a[--j]>mid);

                if(i>=j)break;
                swap(a,i,j);
            }
            a[low]=a[j];
            a[j]=mid;
            qsort(a,low,j-1);
            qsort(a,j+1,high);
        }
    }
    public void swap(int[]t,int a,int b)
    {
        int temp=t[a];
        t[a]=t[b];
        t[b]=temp;
        }
    public QuickSort()
    {
        int[] t={2,3,5,1,4,6};
        for(int i=0;i<t.length;i++)
        System.out.println(t[i]);
        qsort(t,0,t.length-1);
        System.out.println("after sort");
        for(int i=0;i<t.length;i++)
        System.out.println(t[i]);
    }
    public static void main(String[]args)
    {
        new QuickSort();
    }
}

public class QuickSort {

 /**
  *
快速排序
  * 
  * @param strDate
  * @param left
  * @param right
  */
 public void quickSort(String[] strDate, int left, int right) {
  String middle;
  String tempDate;
  int i, j;
  i = left;
  j = right;
  middle = strDate[(i + j) / 2];
  do {
   while (strDate[i].compareTo(middle) < 0 && i < right)
    i++; //
找出左边比中间值大的数
   while (strDate[j].compareTo(middle) > 0 && j > left)
    j--; //
找出右边比中间值小的数
   if (i <= j) { //
将左边大的数和右边小的数进行替换
    tempDate = strDate[i];
    strDate[i] = strDate[j];
    strDate[j] = tempDate;
    i++;
    j--;
   }
  } while (i <= j); //
当两者交错时停止

  if (i < right) {
   quickSort(strDate, i, right);
  }
  if (j > left) {
   quickSort(strDate, left, j);
  }
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  String[] strVoid = new String[] { "11", "66", "22", "0", "55", "22",
    "0", "32" };
  QuickSort sort = new QuickSort();
  sort.quickSort(strVoid, 0, strVoid.length - 1);
  for (int i = 0; i < strVoid.length; i++) {
   System.out.println(strVoid[i] + " ");
  }
 }

}

}

5.     5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人岁数,他说比第2个人大2岁。问第2个人岁数,他说比第1个人大2岁。最后问第一个人,他说是10岁。请问第五个人多大?(Java递归排序

public class test {
 private int f(int age){
  for(int num=2;num<=5;num++)
  return   f(age+2);
 }
 public static void main(String args[]){
  System.out.print(new test().f(5));
 }
} 

 

 

6.     给出abcdef用程序输出它们的全排列

package completeArray;

7.      /***

8.      *  @author wanggang

9.      *  @version 2008.9.4

10.  * */

11.  public class Test {

分享到:
评论
1 楼 OnePiece_2012 2011-10-18  
很好 多谢了

相关推荐

    中科软面试题

    面试需要经历好几个过程,从笔试到面试大概需要半天的时间

    中科软java程序员笔试题面试题.pdf,这是一份不错的文件

    Java 程序员笔试题面试题.pdf 以下是对给定文件的知识点分析: 一、编程语言方面 1. Java 中的字符串操作:在选择题 1 中,考察了 Java 中字符串的操作,特别是字符串的连接和修改。在 Java 中,字符串是 ...

    中科软测试工程师笔试题

    中科软测试工程师笔试题知识点总结 在本资源中,我们将探索中科软测试工程师笔试题中的知识点,涵盖信息管理系统、数据库、测试、Java 编程等方面。 信息管理系统 信息管理系统是一种自动化的信息处理系统,旨在...

    点我达2019校招笔试题-开发合集

    点我达作为一家知名的即时物流平台,其2019年校招笔试题对开发者们来说,无疑是一个深入了解企业技术需求、提升自身技能的良好资源。本合集主要针对Java开发者,意味着试题将聚焦于Java编程语言及其相关技术。在准备...

    神州数码、中科软、用友笔试题

    【知识点详解】 ...这些题目涵盖了Java基础、并发编程、XML解析、数据库、面向对象编程、软件工程等多个领域,是IT面试和笔试中常见的知识点。通过理解和掌握这些知识,可以提高在IT行业中的竞争力。

    各个软件公司 面试题 笔试题 c c++有答案

    这份名为“各个软件公司面试题 笔试题 c c++有答案”的压缩包,显然是一个宝贵的资源,它包含了多个软件公司在招聘过程中可能会用到的C和C++编程题目及解答,对于求职者特别是准备进入IT行业的程序员来说,是一个极...

    中科软寿险事业部测试面试题

    就是有个数据库的设计的题没做, 前段时间去中科软面试,题量很大的样子,估计有10几页吧,反正我是不停的写了两个小时,当时没记住题目,反正感觉也就那样了,回来也没管,结果最后笔试通过了,去面试时也没准备,...

    校招C&C++笔试题大全

    "校招C&C++笔试题大全"是一个集各大公司历年校招笔试题目的资源库,专门为准备C++和C语言面试的同学们提供了一个宝贵的练习平台。这个压缩包文件包含了多种不同难度和类型的题目,旨在帮助学生全面提高对这两种编程...

    中科开元笔试面试题(不完全记忆版)_嵌入式-常用知识&面试题库_大厂面试真题.doc

    中科开元笔试面试题库嵌入式知识点总结 中科开元笔试面试题库是一个庞大的面试题库,涵盖了嵌入式系统、编程基础、EQ 测试、IQ 测试、个人情况调查等多个方面的知识点。本文将总结该面试题库中涉及到的知识点,并对...

    2024嵌入式大厂面经中科开元笔试面试题(不完全记忆版)

    2024嵌入式大厂面经中科开元笔试面试题(不完全记忆版)提取方式是百度网盘分享地址

    清华同方,中科软,北大方正,IBM JA VA笔试题

    在“清华同方,中科软,北大方正,IBM JA VA笔试题”中,Java基础知识是重点考察的部分。这可能包括但不限于以下知识点: 1. **数据类型**:Java有两大类数据类型,基本类型(如int、char、boolean)和引用类型(如...

    中科软数据仓库事业部Java笔试题

    【标题】"中科软数据仓库事业部Java笔试题"揭示了这是一份针对Java开发人员的笔试题目,可能涉及Java编程语言的核心概念、数据结构、算法、面向对象编程、多线程、异常处理、集合框架等多个方面。在数据仓库领域,...

    2011Android技术面试整理附有详细答案 包括百度 新浪 中科软等多家公司笔试面试题

    以下是对2011年Android技术面试的一些关键知识点的详细解析,这些知识点可能来自于包括百度、新浪、中科软在内的多家知名公司的面试题目: 1. **Android基础知识**: - **Android架构**:理解Android系统的分层...

    面试题-最新Java企业笔试面试题大全-百度、腾讯、头条、美团的Java面试题目总结

    中科软Java面试题集@.rar 8.7MB 中级工程师sql试题_答案@.txt 0.0MB 线程编程面试题@.pdf 0.2MB 数据库面试题(SQL+ORACLE)@.pdf 0.6MB 史上最全阿里巴巴 JAVA 面试题总览@.pdf 0.6MB 史上最全 69 道 Spring ...

    Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题

    【Android技术面试整理】 在Android开发领域,面试通常会涵盖一系列关键知识点,旨在评估候选人的技术能力和实际项目经验。以下是一些常见的面试问题及其详细解答: 1. **Android的四大组件**: - **Activity**:...

    中科中科长青笔试题_嵌入式-常用知识&面试题库_大厂面试真题.doc

    在中科长青的笔试题中,我们可以看到对这一领域的深入考察,主要涵盖了C编程和实际应用设计。下面将详细解析这些面试题所涵盖的知识点。 首先,表单设计题考察的是信息管理与系统设计的能力。在电子设备销售场景中...

    Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)

    ### Android技术面试整理知识点 #### 1. Android的四大组件及其作用 - **Activity**: Activity是Android应用程序中负责用户交互的主要部分。它是Android四大组件之一,用于构建应用程序的界面,并处理与用户相关的...

    java面试笔试集合

    这个压缩包中的文档,如阿里巴巴、中科软等公司的笔试题,都是实践这些知识点的绝佳材料。通过解答这些题目,可以巩固理论知识,提升实战能力,为Java面试做好充分准备。在学习过程中,不仅要理解知识点的含义,还要...

    很经典的android笔试面试题

    虽然是2年前的资料,但是很全,对找工作一定会起到很大帮助。 Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)

Global site tag (gtag.js) - Google Analytics