架构师

您现在的位置是:首页 > 工作面试 > 企业面试

企业面试

架构师小跟班:东方邦新金融科技Java初级工程师笔试题

架构师小跟班 2019-07-12企业面试
老东家的笔试题,此为题目,同栏目另有答案。
(请在答题纸上作答)
 
一、选择题(11×2'=22')
1. 下列选项中关于Java中ArrayList、LinkedList、HashMap三个类的描述错误的是________
[A]. ArrayList和LinkedList均实现了List接口
[B]. ArrayList的访问速度比LinkedList快
[C]. 添加和删除元素时,ArrayList的表现更佳
[D]. HashMap实现Map接口,它允许任何类型的键和值对象,允许将null用作键或值
 
2. 下列哪一种叙述是正确的________
[A]. abstract修饰符可修饰字段、方法和类
[B]. 抽象方法的body部分必须用一对大括号{ }包住
[C]. 声明抽象方法,大括号可有可无
[D]. 声明抽象方法,不可写出大括号
 
3. 下面哪个关键字是给对象加锁的,该标记使得对对象的访问是互斥的__________
[A]. serialize
[B]. transient
[C]. static
[D]. synchronized
 
4. 关于final修饰符的作用,错误的描述是__________
[A]. 被修饰的类不可被继承 
[B]. 被修饰的变量不可被修改
[C]. 被修饰的方法不可被重载
[D]. 被修饰的方法不可被重写
 
5. 阅读以下代码:
public class Foo {
    public static void main (String[] args){
        String s;
        System.out.println("s=" + s);
    }
}
输出结果为________________
[A].代码得到编译,并输出"s="
[B].代码得到编译,并输出"s=null"
[C].由于String s没有初始化,代码不能编译通过
[D].代码得到编译,但会出现运行时异常
 
6. 代码的功能是:使浏览器正文的"welcome to coamctech"显示蓝色
<html>
    <head>
        <title>Test</title>
        <style type="text/css">
            <!-- 插入代码 -->
        </style>
    </head>
    <body>
        <div id="note">welcome to coamctech</div>
    </body>
</html>
那么“插入代码”处应该填入的代码是________
[A].div.note{color: blue; font-size: 9pt}
[B].#note{color: blue; font-size: 9pt}
[C]..note{color: blue; font-size: 9pt}
[D].show.note {color: blue; font-size: 9pt}

7. 如下代码的运行结果是________
public class Foo {
    public static void main(String[] args) {
        System.out.print(test(null));
    }

    public static String test(String s) {
        try {
            System.out.println(s.equals(null));
        } catch (Exception e) {
            System.out.print("1");
            return "error";
        } finally {
            System.out.print("2");
        }
        return "good";
    }
}
[A]. good [B]. 2good [C]. 1error [D]. 12error
 
8. 有一个Java类定义如下
public class A {
    protected B b = createB();
    public class B {}
    public B createB() {
        return __________;
    }
}
空白处应填写________
[A]. new this.B()
[B]. this.b
[C]. this.new B()
[D]. new A().B()
 
9.  Servlet中如何获取请求参数__________
[A]. request.getAttribute(name)
[B]. request.getParameter(name)
[C]. response.getAttribute(name)
[D]. response.getParameter(name)
 
10. 以下关于SessionFactory的说法中正确的有________
[A]. 对于每个数据库事务,应该创建一个SessionFactory对象 
[B]. 一个SessionFactory对象可以对应多个数据库存储源 
[C]. SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个
[D]. SessionFactory的load()方法用于加载持久化对象
 
11. 以下多线程对int型变量x的操作,哪些不具备原子性:
[A]. x=y;
[B]. x++;
[C]. x/=2
[D]. x=1;
 
二、编程题(5×2' + 4×3' + 8' + 10’ + 8’ =48')
12. 程序填空:
请编写一个JavaScript函数parseQueryString,实现将把URL参数解析为一个JS对象,如:
var url = "http://www.coamc-tech.com/index.jsp?key0=0&key1=1&key2=2"; 解析为 { key0: "0", key1: "1", "key2": 2 }
var url = "http://www.coamc-tech.com/index.jsp?key0=0&key1=1&key2=2";
var jsObj = parseQueryString(url);
alert(__【1】__); // 打印出key1的值
 
function parseQueryString(url) {
   var params = {};
   var arr = url.split(__【2】__);
   if (arr.length <= 1)
      return params;
   arr = arr[1].split(__【3】__);
   for(var i = 0, l = arr.length; i < l; i++){
      var a = arr[i].split(__【4】__);
      __【5】__;
   }
   return params;
}
 
13. 完成以下sql:
1) 创建一张学生表(student),包含以下信息,学号(id),姓名(name),年龄(age),性别(sex),家庭住址(address),联系电话(phone)
2) 修改学生表的结构,添加一列信息:学历(degree);
3) 修改学生表的数据,将电话号码以11开头或12开头的学员的学历改为“本科”,年龄加1;
4) 用一条sql统计出姓名有重名的学生的详细信息;
 
14. 国家质量技术监督局于1999年7月1日实施了《公民身份号码》,对18位身份证标准做了明确规定。
公民身份号码是特征组合码,由十七位数字本体码和最后一位校验码组成。其中校验码的计算方式如下:
1) 对前17位数字本体码加权求和
公式为:S = Sum(Ai * Wi), i = 0, ... , 16
其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为:
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
加权因子 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
 
2) 以11对计算结果取模
Y = mod(S, 11)
 
3) 根据模的值得到对应的校验码
对应关系为:
Y值 0 1 2 3 4 5 6 7 8 9 10
校验码 1 0 X 9 8 7 6 5 4 3 2
 
请编程实现:任意给出一个18位身份证号码的前17位,计算出最后一位校验码。
 


15. 请编程实现快速排序算法(最好用Java实现以下方法,亦可自选语言或用伪代码做同等实现)
public static <E extends Comparable<? super E>> List<E> quickSort(List<E> arr) {
// 在此填入代码
}
 
16. 请编程实现一个堆栈(最好用Java实现以下泛型类,亦可自选语言或用伪代码做同等实现)
public class Stack<T>{
    public boolean isEmpty(){
        // 在此填入代码
    }
    public T Pop(){
        // 在此填入代码
    }
    public void Push(T o){
        // 在此填入代码
    }
    // 在此填入其它代码
}
 
三、问答题(5×6'=30')
17. 在一个JavaWeb应用中,需要在应用启用时从数据库中加载一些固定的数据,以备应用运行时直接使用,请问该如何实现?
 
18. 请简述Unicode与UTF-8之间的关系。
 
19. 以下Java代码的输出结果是什么?请解释其中的原因。
System.out.println(0.2+0.4==0.6); // true or false?
 
20. 翻译:
The Spring Framework is a lightweight solution and a potential one-stop-shop for building your enterprise-ready applications. However, Spring is modular, allowing you to use only those parts that you need, without having to bring in the rest. You can use the IoC container, with Struts on top, but you can also use only the Hibernate integration code or the JDBC abstraction layer. The Spring Framework supports declarative transaction management, remote access to your logic through RMI or web services, and various options for persisting your data. It offers a full-featured MVC framework, and enables you to integrate AOP transparently into your software.
 
21. 请简单草拟一份Java代码编写规范(主要涉及缩进与换行、变量命名、注释等等)。
 
 

文章评论