• 亚信笔试题【带答案】


    亚信笔试题

    一.问答题(每题4分,共20分)

    1.HashMap和HashTable的区别?
    2.String和StringBuffer的区别?
    3.数据库内连接和外连接的区别?
    4.Select语句中,哪些情况下,虽然在列上建立了索引,但索引不起作用?
    5.在Unix系统当前的test目录中查找所有以test开头的文件?

    二.Java编程题(每题12分,共24分)

    1.请编写程序,实现对”5,8,2,4,3,6,1”数字按升序,降序进行输出?
    2.写一段Jdbc连接Oracle的程序,并实现数据查询?

    三.数据库基础知识(每题8分,共16分)

    1.请问下面这条SQL执行后,哪些EmpID将作为结果中的一部分返回?

    SELECT empid,dept,salary FROM employee outer
    WHERE salary>(SELECT min(salary) FROM employee inner
    WHERE inner.dept=outer.dept)
    
    • 1
    • 2
    • 3

    表结构如下:

    EmpidDeptSalaryHireDateSupervisorID
    1001Finance100001-Nov-981020
    1002Finance1500012-Dec-961020
    1020Finance300009-Feb-931020
    1015HumanResources2000015-Mar-011035
    1008Operations900022-Aug-971045
    1010Operations120009-Jul-011013
    1035Operations4000014-Sep-951000
    1007Maintenance50007-Oct-011017
    1050HumanResources100005-Apr-981045
    1000Executive6000025-Nov-93
    1016HumanResources1100013-Oct-011045

    2.表acct_item(acct_item_id,acct_id,acct_item_tpye_id,charge(费用,单位分))
    问题:查询acct_id 总费用大于100元的合同号,按总费用降序排序,总费用相同时,按acct_id升序排序


    答案

    一、问答题

    1、
    1)HashMap不是线程同步的,HashTable是线程同步的,所以在多线程的情况下HashMap速度会高于HashTable
    2)HashMap允许空键值,HashTable不允许空键值
    3)HashMap实现了Map接口,而HashTable是继承了Dictionary类

    2、
    String是final修饰的类,所以值一旦确定就不能更改,如果值发生变化会新建一个String对象
    StirngBuffer的内容是可变的

    3、
    内连接:inner outer join 参与查询的两张表都必须满足连接条件
    外连接:left|right outer join连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。
    包括左外连接、右外连接和全外连接full join[左外+右外]

    4、
    1)where子句中使用+,-这类的运算符
    2)模糊查询时使用 % 开头
    3)建立的索引的列根本没有查询时
    4)where子句中有or作为条件连接
    5)如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
    6) 查询条件使用函数在索引列上
    7)where子句中使用了not in ,not exist等等

    5、find /path路径 -name “test*"

    二、编程题

    1、

    for (int i = 0; i < arr.length -1; i++){  
         for(int j = 0 ;j < arr.length - i - 1; j++){  
                  if(arr[j] < arr[j + 1]){   
                     int temp = arr[j];
                     arr[j] = arr[j + 1];
                     arr[j + 1] = temp;
                  }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、

    Class.for(“oracle.jdbc.driver.OracleDriver”);
    String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
    Connection conn=DriverManager.getConnection();
    Statement stat=conn.createStatement();
    ResultSet rs=stat.executeQuery(“select * from table”);
    While(rs.next()){
    	 Int id=rs.getInt(“id”);
    }	
    Rs.close();
    Stat.close();
    Conn.close();
    
    Class.forName()  //加载驱动
    Connection conn = DriverManager.getConnection() //建立连接
    PreparedStatement pstmt = conn.prepareStatement(sql); //预编译sql语句
    //如果需要设置值
    ResultSet result = pstmt.执行sql语句 ,获取结果集
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    三、数据库
    1、排除各部最低工资的所有员工ID
    1002 Finance 15000
    1010 Operations 12000
    1015 HumanResources 20000
    1016 HumanResources 11000
    1020 Finance 30000
    1035 Operations 40000

    2、

    select acct_id,sum(charge) ch
    from acct_item
    group by acct_id
    having sum(charge)>100
    order by sum(charge) desc,charge asc
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Select acc_id,sum(charge) sum_charge 
    from acct_item 
    Group by acc_id
    Having sum(charge)>100
    Order by sum_charge desc,acct_id asc
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    数据结构:JAVA 栈和队列
    如何把照片转成pdf文件,支持合并转换
    Windows 内网渗透之攻击域控
    【LeetCode-139】单词拆分(回溯&动归)
    ASSERT LOG-POINT 应用
    Spring注解驱动之AnnotationAwareAspectJAutoProxyCreator的作用
    怒刷LeetCode的第6天(Java版)
    Newman+Jenkins实现接口自动化测试
    51单片机学习:串口通信实验
    如何强化九小场所安全检查隐患排查工作
  • 原文地址:https://blog.csdn.net/qq_41250372/article/details/125397316