顺丰科技2019秋招测试工程师,Java开发工程师客观题合集

1 影响 WEB 前端页面性能一般不包括下面那个?()       "正确答案:C

 A    服务器数据返回延迟 B       网络传输速率       C磁盘空间不够    D页面渲染

 

2关于SpringMVC,以下说法错误的是?() "正确答案:D

A     SpringMvc的核心入口是DispatchServlet

B   @RequestMapping注解既可以用在类上也可以用在方法上

C     @PathVariable作用是取出url中的模板变量作为参数 

D   controller默认是单例,通过@Scope(“prototype”)注解改为多例,成员变量共享

 

3 Junit单元测试说法正确的是()   "正确答案:AD

A     @Test注解标注的测试方法只能是public void的,且不能有任何输入参数

B   AssertEquals、AssertNotEquals:判断两个对象是否为同一个。 

C   @BeforeClass注解每一个测试方法都要执行一次,且必须为static void      

D   Junit的底层实现上,是用System.exit退出用例执行


4"设有递归算法如下,最终打印结果是()

 #include
 int foo(int a ,int b)
 {
     if (b == 0) return 0;
     if (b %2 == 0) return foo(a+a,b/2);
     return foo(a+a,b/2)+a;    
 }
 void main()
 { 
   printf(""%d"",foo(1,3));
 }" 

A 3  B 4   C 5       D 6

 

5 What is Static Method in Java()  

A     It is a method which belongs to the class and not to the object(instance)      

B   A static method can access only static data. It can not access non-static data (instance variables)     

C   A static method can call only other static methods and can not call a non-static method from it. 

D   A static method can not be accessed directly by the class name and doesn’t need any object

 

6 调用函数时,入参及返回地址使用了()  

 A   队列       B 多维数组     C 顺序表     D栈

 

7 请指出堆排序、选择排序、冒泡排序、快速排序、的时间复杂度()      

A   nlogn、n^2、n^2、nlogn

B   n^2、n^2、n^2、nlogn   

C   nlogn、nlogn、n^2、nlogn     

D   nlogn、n^2、n^2、n^2

 

8 JDBC Client的主要功能有()

A创建与数据库的连接

B 对SQL语句进行语法检查和解析  

C 发送SQL语句到数据库中     

D 处理数据并查询结果

 

9 单元测试主要技术手段有()    

  A   驱动代码       B Stub代码   C Mock代码  D GUI测试手段

 

10 某打车公司将驾驶里程(drivedistanced)超过5000里的司机信息转移到一张称为seniordrivers 的表中,他们的详细情况被记录在表drivers 中,正确的sql为()

A   insert into seniordriversdrivedistanced>=5000 from drivers where     

B   insert seniordrivers (drivedistanced) values from drivers where drivedistanced>=5000

C     insert into seniordrivers(drivedistanced)values>=5000 from drivers where    

D   select * into seniordrivers from drivers where drivedistanced >=5000

 

11 关于Spring理解,以下说法错误的是?()  

A  IoC的实现原理就是工厂模式加反射机制

B  DI依赖注入是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中      

C  Spring默认使用JDK动态代理来创建AOP代理,当需要代理的类不是代理接口的时候,自动切换使用CGLIB代理  

D  Spring必须结合Hiberate或Mybatis实现效益最大化

 

12 在关系模式R(U,F)中,X,Y,Z是U中属性,则多值依赖的传递律是()    

A     如果X→→Y,Y→→Z,则X→→Z   

B   如果X→→Y,Y→→Z,则X→→YZ 

C   如果X→→Y,Y→→Z,则X→→Y Z

D   如果X→→Y,Y→→Z,则X→→Z-Y

 

13 下面针对tomcat描述正确的是() 

A     修改conf/server.xml下的protocol为NIO的模型,可以支持更大的并发数      

B   将conf/server.xml下的acceptCount参数调大可以接收更多的请求数      

C   修改bin/catalina.sh JAVA_OPTS参数,可以改变tomcat JVM的内存分配   

D   在/conf/Catalina/localhost/路径下新建一个filename.xml添加虚拟路径需要重启服务器

 

14 下面哪种UML图描述的是一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应( )    

  A   活动图    B状态图      C 配置图       D 构件图

 

15 以下对数据库事物理解错误的是?()    

A  一致性是一个事务执行之前和执行之后都必须处于一致性状态    

B  脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据 

C  Repeatable read可避免脏读、可重复读的发生

D  Read committed是Oracle数据库中默认的隔离级别

 

16 下面关于JAVA的垃圾回收机制,正确的是( ) 

A     当调用“System.gc()”来强制回收时,系统会立即回收垃圾   

B   垃圾回收不能确定具体的回收时间  

C   程序可明确地标识某个局部变量的引用不再被使用      

D   程序可以显式地立即释放对象占有的内存

 

17 LR分析法属于()

A自顶向下分析法   B  LALR分析法     C   SLR分析法    D 自底向上分析法

 

18 一个空栈,如果有顺序输入:a1,a2,a3。。。an(个数大于3),而且输出第一个为an-1,那么所有都出栈后,()       

A     输出的最后元素一定为an 

B   输出的最后元素一定为a1 

C   不能确定元素a1~an-2

D   在输出顺序   an-2一定比an-3先出

 

19 研发需要对自己的代码审核, 检查代码的正确性,这个过程我们成为?()    

  A   代码走查       B单元测试    C Main函数校验代码  D输入输出参数检验

 

20 "文法G[E]: E-> T|E+T|E - T

T-> F|T*F|T/F

F ->(E)|i 以下论述正确的是()"     

A该文法的开始符号是E                 B该文法的终结符号集合为{+、-、*、/、(、)}    

C该文法的非终结符号集合为{E、T、F}    D句型T+T*F+I的简单短语为i、T*F、第一个T

 

21 利用栈完成数制转换,将十进制的169转换为八进制,出栈序列为()     

  A   251  B 521    C 215      D 152

 

22测试驱动开发的简称是()  

  A   ADD       B TTD     C TDD      D TDT

 

23 甲乙丙3个进程对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供( )个资源,则系统是安全的。  

  A   1     B 4  C 2    D 8

 

24允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输的通信是( )    

  

 A 单工通信     B 半双工通信   C全双工通信      D 时工通信

 

25 以下叙述中,不正确的有( )  

A     单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。      

B  集成测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确      

C  确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。      

D  系统测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试

26 以下关于TCP和UDP说法正确的是()   

A     TCP数据传输慢,UDP数据传输快         B TCP通过滑动窗口机制进行拥塞控制      

C   UDP缓冲区小于报文长度,则会丢失报文  D  DNS协议用于域名解析,默认23端口


27

 "public class CharToString {
 public static void main(String[] args)
 {
  char myChar = 'g';
  String myStr = Character.toString(myChar);
  System.out.println(""String is: ""+myStr);
  myStr = String.valueOf(myChar);
  System.out.println(""String is: ""+myStr);
 }
}

此代码片段输出正确的值是()

A  String is: gString is: g     B  String is: 103String is: g 

C  String is: gString is: 103 D  String is: 103String is: 103

 

28关于链表,正确的是()  

A无需实现估计空间    B支持随机访问   

C 增删不必挪动元素   D所需空间与线性表长度成正比,并且地址连续

E插入一个元素所需挪动元素的平均个数为n/2

 

29总部给某分公司分配的网络地址是172.16.2.0/24,该分公司有三个部门,每个部门计算机不多于30台,在网络配置时,进行子网划分,可以使用的子网掩码是()    

A     255.255.255.128    B 255.255.255.192    C  255.255.255.224       D 255.255.255.240


30

 "for i in range(2):
    print i
for i in range(4,6):
 print I

打印的结果是()

A  2, 4, 6          B    0,1, 2, 4, 5, 6       C  0, 1, 4, 5         D   0,1, 4, 5, 6, 7, 8, 9

 

31 对序列(12,18,22,38,39,49,79,89)进行排序,最不适合的算法是()     

 

A冒泡排序    B 快速排序   C 归并排序   D 插入排序

 

32 "二叉排序树的链表节点定义如下: typedef struct BiTnode{

    int key_value;

    struct BiTnode *L,*R;/*节点的左、右树指针*/

}  请补充完整查找键值key的函数。 BSTree lookup_key(BSTree root,int key)

{

    if() return NULL;

    else 

        if(key == root->key_value)

            return root;

        else if(key > root->key_value)

            return (1);

        else

            return (2);

}"    

A     (1)lookup_key(root->R,key)(2)lookup_key(NULL,key)

B (1)lookup_key(root->R,root.key_value)(2)lookup_key(root->L,root.key_value)

C     (1)lookup_key(root->L,key)(2)lookup_key(root->R,key)

D     (1)lookup_key(root->R,key)(2)lookup_key(root->L,key)

 

33  32位处理器是指处理器的()是32位的.

A     控制总线       B 数据总线     C 地址总线       D所有的总线

 

34 以下关于链表和数组说法正确的是()    

A     数组从栈中分配空间,链表从堆中分配空间   

B   数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)     

C   数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n)      

D   对于add和remove,ArrayList要比LinkedList快

 

35 主机IP为200.15.13.13/23,其子网掩码是()   

 A   255.255.249.0 B 255.255.241.0   C 255.255.253.0    D 255.255.254.0

 

36 AOP技术优势在于() 

A   通过接口、抽象及组合增强对象内部能力      

B 将核心关注点与横切关注点完全隔离

C 有利增强业务安全性

D 让一些公共逻辑更好的分布在对象核心逻辑中

 

37 关于SpringMVC,以下说法错误的是?()  

A SpringMvc的核心入口是DispatchServlet    

B @RequestMapping注解既可以用在类上也可以用在方法上     

C @PathVariable作用是取出url中的模板变量作为参数     

D controller默认是单例,通过@Scope(“prototype”)注解改为多例,成员变量共享

 

37 以下那个不属于Spring Scope(作用域)的范围() 

 A    prototype      B request       C application   D session


38 "设有递归算法如下,最终打印结果是()

#include
 int foo(int a ,int b)
 {
     if (b == 0) return 0;
     if (b %2 == 0) return foo(a+a,b/2);
     return foo(a+a,b/2)+a;    
 }
 void main()
 { 
   printf(""%d"",foo(1,3));
 }"

 A 3           B   4     C 5   D  6

 

39 What is Static Method in Java()

A It is a method which belongs to the class and not to the object(instance)

B A static method can access only static data. It can not access non-static data (instance variables)     

C A static method can call only other static methods and can not call a non-static method from it.  

D A static method can not be accessed directly by the class name and doesn’t need any object


40 "下面程序的运行结果是()

public class ClassA {
    static int count = 0;
    static {
        count++;
        System.out.println(""A"");
    }
    public ClassA() {
        System.out.println(""B"");
    }
}
public class ClassB {
    static {
        ClassA t2;
        System.out.println(""C"");
    }
    public static void main(String[] args) {
        Class c1;
        Class c2;
        Class c3;
        try {
            c1 = ClassA.class;
            c2 = Class.forName(""ClassA"");
            ClassA a = new ClassA();  
            c3 = a.getClass();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return;
        }
        if (c2 == c1&& c1 == c3) {
            System.out.println(""D"");
        } else {
            System.out.println(""E"");
        }
        System.out.println(ClassA.count);
    }
}" 

A C  A   B  D  1    

B. C  A  B  D  2         

C. A  C  B  D  2         

D. C  A  B  E  1

E.A  C  B  E  3

 

41 调用函数时,入参及返回地址使用了() 

A     队列       B多维数组    C顺序表     D栈

 

42 off-heap是指那种内存() 

A     JVM GC能管理的内存 B  JVM进程管理的内存   C  在JVM老年代内存区    D在JVM新生代内存

 

43 请指出堆排序、选择排序、冒泡排序、快速排序、的时间复杂度()      

A     nlogn、n^2、n^2、nlogn  B   n^2、n^2、n^2、nlogn   

C  nlogn、nlogn、n^2、nlogn D nlogn、n^2、n^2、n^2

 

44 开闭原则相关的面向对象设计原则()    

A     里氏代换原则(Liskov Substitution Principle LSP)     

B依赖倒转原则(Dependence Inversion Principle)     

C接口隔离原则(Interface Segregation Principle)      

D复用原则

 

45 某打车公司将驾驶里程(drivedistanced)超过5000里的司机信息转移到一张称为seniordrivers 的表中,他们的详细情况被记录在表drivers 中,正确的sql为() 

A     insert into seniordriversdrivedistanced>=5000 from drivers where      

B   insert seniordrivers (drivedistanced) values from drivers where drivedistanced>=5000

C     insert into seniordrivers(drivedistanced)values>=5000 from drivers where    

D   select * into seniordrivers from drivers where drivedistanced >=5000


46 "分析以下代码,说法正确的是()  

public static void main(String[] args) {
     System.out.println(val());
 }

 public static int val() {
     int num = 5;
     try {
     num = num / 0;
 } catch (Exception e) {
     num = 10;
 } finally {
     num = 15;
 }
 return num;
 }"  

A    运行时报错                    B 程序正常运行,输出值为5 

C     程序正常运行,输出值为10      D程序正常运行,输出值为15


47 "以下程序输出()

public static void main(String[] args) {
   int num = 2;
   switch (num) {
   case 1:
        ++num;
   case 2:
        ++num;
   case 3:
        ++num;
   default:
        ++num;
   break;
   }
   System.out.println(num);
 }
}"

  A     2     B 3    C 4        D  5

 

48 "文法G[E]: E-> T|E+T|E - T

T-> F|T*F|T/F

F ->(E)|i 以下论述正确的是()"     

A该文法的开始符号是E     B该文法的终结符号集合为{+、-、*、/、(、)}

C该文法的非终结符号集合为{E、T、F}    D句型T+T*F+I的简单短语为i、T*F、第一个T

 

49 已知tm_employee表中具有默认约束df_adress,删除该约束的语句为()      

A     alter talbe tm_employee drop constraint df_adress

B   alter talbe tm_employee remove constraint df_adress   

C   alter talbe tm_employee delete constraint df_adress     

D   remove constraint df_adress from talbe tm_employee

 

50 一个空栈,如果有顺序输入:a1,a2,a3。。。an(个数大于3),而且输出第一个为an-1,那么所有都出栈后,()      

A     输出的最后元素一定为an         B 输出的最后元素一定为a1     

C 不能确定元素a1~an-2在输出顺序      D an-2一定比an-3先出

 

51 利用栈完成数制转换,将十进制的169转换为八进制,出栈序列为()      

A     251      B  521      C    215   D      152


52  "下面程序的运行结果()        

 Object obj=new Object();
        List aList=new ArrayList();
        List bList=new LinkedList();

       
        long t1=System.currentTimeMillis();
        for(int i=0;i<50000;i++){
            aList.add(0,obj);
        }
        long t2=System.currentTimeMillis()-t1;


        t1=System.currentTimeMillis();
        for(int i=0;i<50000;i++){
            bList.add(0,obj);
        }
        long t3=System.currentTimeMillis()-t1;

A     t2t3

 

53 甲乙丙3个进程对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供( )个资源,则系统是安全的。 

 A    1        B 4       C 2     D       8

 

54 下面的选项中哪些属于工厂模式()   

A     静态工厂模式       B工厂方法模式    C抽象工厂模式    D简单工厂模式

 

55 以下叙述中,不正确的有( )  

A     单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。      

B集成测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确      

C确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。   

D系统测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。

 

56关于数据库三级模式结构说法正确的是()   

A     三级模式包括外模式,内模式,物理模式      

B内模式对应的是物理级   

C外模式是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示      

D物理模式又称存储模式,对应于物理级


57 "下面程序的运行结果()        

List aa = new ArrayList();
        aa.add(""F1"");
        aa.add(""F2"");
        aa.add(""F3"");
        for (String temp : aa) {
            if (""F3"".equals(temp)) {
                aa.remove(temp);
            }
        }

        
        for (String temp : aa){
             System.out.println(temp);
        }

A     抛异常        B  F1F2      C   F1F2F3   D   F1

 

58以下关于TCP和UDP说法正确的是() 

A     TCP数据传输慢,UDP数据传输快  

B TCP通过滑动窗口机制进行拥塞控制   

C UDP缓冲区小于报文长度,则会丢失报文  

D DNS协议用于域名解析,默认23端口


59 "

public class CharToString {
 public static void main(String[] args)
 {
  char myChar = 'g';
  String myStr = Character.toString(myChar);
  System.out.println(""String is: ""+myStr);
  myStr = String.valueOf(myChar);
  System.out.println(""String is: ""+myStr);
 }
}

此代码片段输出正确的值是()

A     String is: gString is: g   

B   String is: 103String is: g         

C   String is: gString is: 103      

D   String is: 103String is: 103

 

60 关于链表,正确的是()    

 A    无需实现估计空间       B支持随机访问    C增删不必挪动元素    D所需空间与线性表长度成正比,并且地址连续   E 插入一个元素所需挪动元素的平均个数为n/2

 

61 有以下结果表tt_tmp,数据如下 gt,result ----------------------- 2018-05-19 S 2018-05-19 S 2018-05-19 F 2018-05-19 F 2018-05-20 S 2018-05-20 F 2018-05-20 F  需要统计以下结果   gt  success failure 2018-05-19 2 2 2018-05-20 1 2  sql语句怎么写() 

A. select gt, sum(case when result='S' then 1 else 0 end)'success',sum(case when result='F' then 1 else 0 end)'failure' from tt_tmp group by gt     

B. select s.gt,s.success,f.failure from(select gt,count(*) as 'success' from tt_tmp where result='S'group by gt) s inner join(select gt,count(*) as 'failure' from tt_tmp where result='F'group by gt)fon s.gt=f.gt   

C. select gt, sum(case when result='F' then 1 else 0 end)'success',sum(case when result='S' then 1 else 0 end)'failure' from tt_tmp group by gt     

D. select s.gt,s.success,f.failure from(select gt,count(*) as 'success' from tt_tmp where result='S'group by gt) s,(select gt,count(*) as 'failure' from tt_tmp where result='F'group by gt) f where  s.gt=f.gt

 

62 关系模式如R=({A,B,C,D,E},{AB→CE,E→AB,C→D})属于第几范式()    

A     1NF    B 2NF       C 3NF     D 4NF

 

63 总部给某分公司分配的网络地址是172.16.2.0/24,该分公司有三个部门,每个部门计算机不多于30台,在网络配置时,进行子网划分,可以使用的子网掩码是()     

A     255.255.255.128    B   255.255.255.192   C    255.255.255.224 D 255.255.255.240

 

64对序列(12,18,22,38,39,49,79,89)进行排序,最不适合的算法是()     

A     冒泡排序       B快速排序    C归并排序    D插入排序

 

65 "二叉排序树的链表节点定义如下: typedef struct BiTnode{

    int key_value;

    struct BiTnode *L,*R;/*节点的左、右树指针*/}  请补充完整查找键值key的函数。

BSTree lookup_key(BSTree root,int key)
{
    if() return NULL;
    else 
        if(key == root->key_value)
            return root;
        else if(key > root->key_value)
            return (1);
        else
            return (2);
}"

A     (1)lookup_key(root->R,key)(2)lookup_key(NULL,key)

B (1)lookup_key(root->R,root.key_value)(2)lookup_key(root->L,root.key_value)

C     (1)lookup_key(root->L,key)(2)lookup_key(root->R,key)

D     (1)lookup_key(root->R,key)(2)lookup_key(root->L,key)

 

66 32位处理器是指处理器的()是32位的  

A     控制总线       B数据总线    C地址总线    D所有的总线

 

67 以下关于链表和数组说法正确的是()   

A     数组从栈中分配空间,链表从堆中分配空间   

B     数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)  

C    数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n)      

D    对于add和remove,ArrayList要比LinkedList快

 

68 主机IP为200.15.13.13/23,其子网掩码是()

A     255.255.249.0  B 255.255.2410  C 255.255.253.0    D 255.255.254.0

 

69 以下哪些内存区域属于JVM规范?(  )   

A     方法区    B实例变量    C静态变量    D程序计数器   E虚拟机栈

 

参考答案:https://download.csdn.net/download/weixin_39813541/11227200

你可能感兴趣的:(顺丰科技)