2015华数校招笔试详解

提示:试卷上的答案请忽略,以后续解答为准。

详细解答:

一、选择题

1、D

2、C  相联存储器是把存储单元所存内容的某一部分作为检索项(即关键字项),用来检索存储器,并读出或写入存储器中与该检索项相符的存储单元的内容。

3、C  DES是一种对称式加密算法,使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

4、A   常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES;常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用);常见的Hash单向加密算法有MD2、MD4、MD5、HAVAL、SHA

5、C

6、A

7、A    因为是非剥夺式的,请求资源没有得到满足,则会进入阻塞状态。

8、B    由系统进程检查进程资源状态。

9、B    死锁的四个必要条件:

(1) 互斥条件:一个资源每次只能被一个进程使用。
  (2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
  (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

该策略破坏了其中的请求和保持条件。

10、D   概要设计就是系统设计的说明书,不需要每个模块的伪代码。

11、A    原型化方法是为了破除阶段性严格定义的方案,它向用户提供以界面为主导的解决方案,是一种自外向内的设计过程。

12、C

13、A    像星型,网型,总线型,环型这些拓扑结构对网速影响不大,不同点在于拓扑的可靠性和费用。

14、B    多数情况下,一个堡垒主机使用两块网卡,每个网卡连接不同的网络。一块网卡连接你公司的内部网络用来管理、控制和保护,而另一块连接另一个网络,通常是公网也就是Internet。

15、B     参考维基百科http://zh.wikipedia.org/zh/MPEG-4

16、B     124个叶结点的完全二叉树,最多的情况是1+2+4+8+16+32+64+120+1(可补一个左结点)=248

17、D     面向对象三大特征:封装、继承、多态。

18、A     继承的目的之一就是代码复用。

19、A     remove可直接删除该对象

20、D     x是static静态变量,存放在静态存储区中,无论直接访问和实例化访问,都是同一对象。

21、D     没有无参的默认构造函数。

22、C     String是final类型的不可变量,字符串数组是对对象的引用进行操作。

23、D     StringBuffer是可变的字符串类,operate方法接受的是StringBuffer对象引用的复制,原始引用并未改变(基本类型传递是值的复制,对象传递是引用的复制),方法运行完后该复制自动消失,打印的是原始引用的对象信息,这里对引用a的对象添加b,而引用b的对象不变。故结果为AB,B。

24、B     访问权限并不是为自己访问而设置的,大多是不同类之间的相互引用限制。

25、D     继承后,子类实例化是首先进入父类的无参构造方法。

二、数据库

26、MySQL分页可直接通过limit实现:select * from 表名 limit m,size;从m+1条查询size条记录。SQLServer可以使用Top和not in实现:select top 10 * from 表名 where 主键 not in(select top 10 主键 from 表名);--查询显示11-20条记录(10条)。

27、以下解析仅供参考,用join实现更好。

  (1) select * from J where CITY=‘南京‘;

    (2) select SPJ.SN from SPJ,J where SPJ.JN=J.JN and J.CITY=‘上海‘;

  (3) select SPJ.SN from SPJ,J,P where SPJ.JN=J.JN and SPJ.PN=P.PN and J.CITY=‘上海‘ or J.CITY=‘北京‘ and P.COLOR=‘红色‘;

  (4) select SPJ.PN from SPJ,J,S where SPJ.JN=J.JN and SPJ.SN=S.SN and J.CITY=S.CITY;

  (5) select distinct SPJ.JN from SPJ,J,S where SPJ.JN=J.JN and SPJ.SN=S.SN and J.CITY <> S.CITY;

  (6) select SPJ.JN from SPJ,S where SPJ.SN=S.SN and SPJ.QTY=0 and S.CITY=‘上海‘;

  (7) select S.CITY,J.CITY from SPJ,J,S where SPJ.JN=J.JN and SPJ.SN=S.SN;

三、Android题

28、Android四大组件:http://www.eoeandroid.com/thread-33435-1-1.html

  Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑
  service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事务,定义好需要接受的Intent提供同步和异步的借口
  Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content
Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提
供了更方便的途径
  BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型。

29、Android五大布局:http://mobile.51cto.com/android-229801.htm

四、Java题

30、常见的七种排序算法:快速、归并、堆、选择、冒泡、插入和希尔。

冒泡排序(稳定):

public static void bubbleSort(int[] a)
{
    for(int i=a.length-1;i>0;i--)
    {
        for(int j=0;j<i;j++)
         {
            if(a[j]>a[j+1])
            {
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
}        

选择排序(不稳定):

    public static void selectSort(int[] a){
        for(int i =0;i<a.length;i++)
        {
            int k = i;
            for(int j =i+1;j<a.length;j++)
            {
                if(a[k]>a[j])
                    k=j;
            }
            if(k!=i){
                int temp = a[i];
                a[i]=a[k];
                a[k]=temp;
            }
        }
    }

插入排序(稳定):在部分已排序的序列中使用插入排序可达到最少的比较次数。

public static void insertSort(int[] a){
        for(int i =1;i<a.length;i++){
            int temp = a[i];
            int j;
            for(j =i-1;j>=0&&temp<a[j];j--)
                    a[j+1]=a[j];
            a[j+1] = temp;
        } }

希尔排序(不稳定):

public static void shellSort(int[] a){
        int gap = 0;
        while(gap<=a.length){ //改进版insert排序,增加gap跨区域排序
            gap = gap*3+1;
        }
        while(gap>0){
            for(int i =gap;i<a.length;i+=gap){
                int temp = a[i];
                int j;
                for(j =i-gap;j>=0&&temp<a[j];j-=gap){
                    a[j+gap]=a[j];
                }
                a[j+gap] = temp;
            }
            gap = (gap-1)/3;
        }
}

快速排序(不稳定):

public static void quickSort(int[] a,int low,int high){
        if(low >=high){
            return;
        }
        int start = low;
        int end = high;
        int temp = a[low];
        while(low<high){
            while(low<high&&a[high]>temp){
                high--;
            }
            a[low] = a[high];
            while(low<high&&a[low]<temp){
                low++;
            }
            a[high]=a[low];
        }
        a[low] = temp;
        quickSort(a,start,low-1);
        quickSort(a,low+1,end);
    }

归并排序(稳定):

public static void mergeSort(int[] a,int start,int end){//分治法
        if(start<end){
            int mid = (start+end)/2;
            mergeSort(a,start,mid); //递推排序
            mergeSort(a,mid+1,end);
            merge(a,start,mid,mid+1,end);
        }
    }
    private static void merge(int[] a, int start, int mid, int i, int end) {
        // TODO Auto-generated method stub
        int m = start;
        int temp[] = new int[end-start+1];
        int k = 0;
        while(start<=mid&&i<=end){
            if(a[start]<a[i]){
                temp[k++] = a[start++];
            }else{
                temp[k++] = a[i++];
            }
        }
        while(start<=mid){
            temp[k++] = a[start++];
        }
        while(i<=end){
            temp[k++] = a[i++];
        }
        for(int element:temp){//将排好的数组替换以前的
            a[m++] = element;
        }
    }

堆排序(不稳定):这个排序面试问的最多,务必要手写出来

public static void heapSort(int[] a){
        createMaxHeap(a);
        for(int i=a.length-1;i>0;i--){
            int temp = a[0];
            a[0]=a[i];
            a[i]=temp;
            maxHeap(a,1,i);
        }
    }
    private static void createMaxHeap(int[] a) {
        // TODO Auto-generated method stub
        int startNode = a.length/2;
        for(int i = startNode;i>0;i--){
            maxHeap(a,i,a.length);
        }
    }
    private static void maxHeap(int[] a, int startNode, int length) {
        // TODO Auto-generated method stub
        int leftNode = 2*startNode;
        int rightNode = 2*startNode+1;
        int maxNode = startNode;
        if(leftNode<=length&&a[leftNode-1]>a[startNode-1]){//只考虑length以内的家族,数组与节点相差1
            maxNode = leftNode;
        }
        if(rightNode<=length&&a[rightNode-1]>a[maxNode-1]){
            maxNode = rightNode;
        }
        if(maxNode!=startNode){
            int temp = a[maxNode-1];
            a[maxNode-1]=a[startNode-1];
            a[startNode-1]=temp;
            maxHeap(a,maxNode,length);//调整交换后的最大值对其孩子的影响
        }
    }

31、JDBC数据库查询的步骤:参考http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html

 try{
    //加载MySql的驱动类
    Class.forName("sun.jbdc.odbc.jdbcOdbcDriver") ;
 }catch(ClassNotFoundException e){
    System.out.println("找不到驱动程序类 ,加载驱动失败!");
    e.printStackTrace() ;
 }
    //连接MySql数据库,用户名和密码都是root
 String url = "jdbc:odbc:people" ;
 String username = "root" ;
 String password = "root" ;
 try{
    Connection con =
             DriverManager.getConnection(url , username , password ) ;
 }catch(SQLException se){
    System.out.println("数据库连接失败!");
    se.printStackTrace() ;
}
Statement stmt = con.createStatement() ;
ResultSet rs = stmt.executeQuery("SELECT * FROM Staff where ID=‘001‘") ;
while(rs.next()){
        String name = rs.getString("name") ;
        String name1 = rs.getString(1) ; // or此方法比较高效
 }
if(rs != null){   // 关闭记录集
        try{
            rs.close() ;
        }catch(SQLException e){
            e.printStackTrace() ;
        }
}
if(stmt != null){   // 关闭声明
        try{
            stmt.close() ;
        }catch(SQLException e){
            e.printStackTrace() ;
        }
 }
if(con != null){  // 关闭连接对象
         try{
            con.close() ;
         }catch(SQLException e){
            e.printStackTrace() ;
         }
}
        

32、面向对象三要素:封装、继承、多态

  封装:就是用一个自主式框架把对象的数据和方法连在一起形成一个整体。对象是封装的基本单位,相互之间通过接口访问。目的是隐藏细节,代码模块化。

  继承:子类拥有父类非private的属性和功能,通过继承的代码复用是一种“白盒式代码复用”,重写和覆盖会破坏封装性。目的是扩展代码模块,实现代码复用。

  多态:允许父类声明指向子类对象。即同一方法获得不同的行为特征(重载和覆盖)。目的是接口重用,是面向对象的核心。

时间: 2024-10-06 15:15:11

2015华数校招笔试详解的相关文章

2015朗新科技校招笔试详解

详细解答(不难,但比较考验项目实践): 一.选择题 1.A 2.C   private修饰词,表示成员是私有的,只有自身可以访问:protected表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员. 无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限: public表示成员是公开的,所有其他类都可以访问. 3

2015恒生电子校招笔试详解

详细解答: 一.选择题 1.BD  C语言要经过编译成二进制代码,再经过连接形成.exe可执行文件. 2.D 3种遍历方式的互推. 3.D    私有成员只能本类访问 4.CD  索引不是越多越好,尤其是组合索引. 5.B    主要看SQL语句where后是否为ture. 6.B abcd直接过得A:依次全入栈再出栈得C:a入栈,bcd直接过,a出栈得D. 7.DA  值调用表示方法接收的是调用者提供的值,不改变实参:引用调用表示方法接收的是调用者提供的变量的地址,改变实参. 8.D 因为D最

2015PPTV校招笔试详解

详细解答: 一.选择题 1.A   至少摸出2黑球=2黑球(5*3/56)+3黑球(1/56)=2/7. 2.B   log2(32)=5.PS:若是长度大于32,则最多比较次数为6. 3.D   后缀表达式又称逆波兰表达式,特征是运算符在运算对象之后,排序ABC选项.也可以利用栈来将中缀表达式转换为后缀表达式.http://blog.csdn.net/mvpsendoh/article/details/6440559 4.C    节点数n<=2k-1(完全二叉树)=〉k>=log2(n+1

2015腾讯校招笔试,一、二面经(菜鸟的流水账)

注:原文首发于:https://www.zybuluo.com/cfanr/note/18732 前言:自从阿里笔试都没通过,就有点操心校招连笔试都过不了.而能通过腾讯的笔试,当然是一个很不错的机会.一定要好好把握,可惜还是错过了--唉,自从被鹅厂抛弃后,感觉找工作越来越难了.. . 废话不多说.下面笔面经: 笔试(9.20 华工 笔试岗位:移动client) 笔试基本流程:笔试前一天会收到笔试短信通知:带上2B铅笔(我真是逗b,就是不带铅笔.害我涂黑了两道题,也改不了,考后还操心答题卡不能被检

2015.09.03 HTTP协议详解

方法 描述   是否包含主体  GET 从服务器获得一份文档  否  HEAD 只从服务器获得响应报文的首部  否  POST 向服务器发送需要处理的数据  是  PUT 将请求的主体部分存储在服务器上  是  TRACE 对可能经过代理服务器传送到服务器上去的报文进行追踪  否  OPTIONS 决定在服务器上可以执行哪些方法  否  DELETE 从服务器上删除一份文档  否 以上的六种方法,我们可以跟数据库的CRUD增删改查操作对应起来:CREATE :PUTREAD:GETUPDATE:

2015新浪校招笔试试题

2015凤凰网校招笔试试题

热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版

2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅以 代码讲解,从分析的角度来讲解嵌入式开发的各种技术,将嵌入式软.硬件理论和嵌入式实验实践融合在一起. 华清远见作为国内最早推出嵌入式培训的机构,到 目前为止教学采用的实验平台.图书.课件全部来自自主研发,成为业内唯一公开连续出版图书的培训机构.这次最新出版的<ARM处理器开发详解>同样秉承了 华

(转)百度2015年校招笔试

百度2015年校招笔试 本文目录: 零.寒暄 一.笔试情况 二.总结 零.寒暄 腾讯的笔试结束,也就意味着9月份的战斗告一段落,每天四处奔波,很累也很充实.十一没有出去玩,也拒绝了一些应酬,把一些笔试题整理下,同时也回顾9月份的得失,好好总结,10月再战,告诫自己最难走的路一定是上坡路,坚持坚持! 不多说,看下26号百度的笔试题,我花了两天的时间整理下面的一些内容. 一.笔试情况 百度一共是8道题目,2个小时时间,题目不多,总体说来,考的是知识面的广度,开放的题目占多数.本人考的前端岗位.给大家