京东 2017 校招技术类客观题
一、选择题
1.若某典型基准测试程序在机器 A 上运行时需要 20s,而在机器B 上运行时需要25s,那么,下列给出的结论正确的
是( )
A. 所有程序在机器A 上都比在机器 B 上运行速度快
B. 机器 B 的平均CPI是机器A 的1.25 倍
C. 机器 A 的平均CPI是机器B 的1.25 倍
D. 以上结论都不对
2.设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),若 CPU每当从
存储器取出一个字节时,即自动完成(PC)+1→PC。设当前 PC的内容为 2009H,要求转移到 2000H 地址,则该转
移指令的第二字节的内容是( )
A. F5H
B. F6H
C. F7H
D. 09H
3.某省考试管理系统欲新增部分功能,通过输入课程编号,能够显示该科目历年各分数段的地区分布情况。为了实
现代码重用,即能够重复使用已经存在的数据访问组件。可以做以下考虑: ( )
A. 通过一个过滤器表达式来设置新创建的 DataView 对象的 RowStateFilter 属性
B. 通过一个过滤器表达式来设置新创建的 DataView 对象的 RowFilter 属性
C. 通过一个过滤器表达式来设置新创建的 Dataset 对象的 RowFilter 属性
D. 使用DataSet.Reset 方法
4.采用计数排序算法对数组 A = {1,0,3,1,0,1,1}进行排序,则辅助数组C的长度值为( )
A. 4
B. 5
C. 6
D. 7
5.下列哪些不是算法的基本特征( )
A. 输入
B. 输出
C. 中间处理
D. 可行性
6.对记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第八个记录 45 插入到有序表时,为找到插入位置需比较()次
A. 4
B. 6
C. 5
D. 3
7.某软件系统结构图如图所示,该结构图的深度为( )
A. 2
B. 3
C. 4
D. 5
8.为开发客户关系管理系统,小马反复询问用户有关软件的功能,确定软件做什么。该阶段属于软件生命周期中的( )阶段。
A.需求分析
B.系统维护
C.软件测试
D.软件设计
9.以下对结构化程序设计的说法错误的是( )
A.对于一个复杂的问题先用抽象程序表示,再对抽象程序进一步分解,继续精化
B.结构化程序设计方法自顶向下,先整体后局部,可以提高软件开发效率
C.通过引入模块间的继承性和多态性等机制,增加了模块的可重用性,提高了软件开发效率
D.在软件详细设计阶段,采用结构化程序设计方法,可以把一个模块的功能逐步分解细化为某种程序语言的语句
10.N-S 图也称方框图,以下有关该图的说法,正确的是( )
A. 在总体设计时用 N-S 图表示模块,使软件总体设计清晰、可读性高
B. 在N-S 图中常需要用两个盒子:数据盒和过程盒
C. N-S 图形象直观,对循环的范围、条件语句的范围都能清晰描述,容易理解,但缺点是不易于表达嵌套结构
D. 以N-S 图为基础,遵循一个机械的规则就能方便地写出程序,这个规则称为走树(Tree walk)
11.当用n 比特进行分组的编号时,若接收窗口等于 1(即只能按序接收分组),那么如果要求连续 ARQ协议能正常
运行时,发送窗口大小是多少?( )
A. 不超过 2^n
B. 不超过2^n-1
C. 2^n
D. 2^n-1
12.设定linux 系统默认为字符模式,需要修改的配置文件是( )
A. etc/fstab
B. /etc/inittab
C. /etc/boot
D. /etc/inittab.conf
13.下列程序的运行结果是( )
#include <stdio.h>
main()
{
struct t
{
int x; int *y;
}*p;
int a[]={1,2};
int b[]={3,4};
struct t c[2]={5,a,6,b};
p=c;
printf("%d,%d",*(p->y),++(*p).x);
}
A. 2,6
B. 1,5
C. 2,5
D. 1,6
14.下列程序的功能是将实型数据 x 的整数部分取出存于 i 中,小数部分取出存于 f 中,请为横线处选择合适的程序( )
A. f=(x-i)
B. *f=x-*i
C. *f=x-i
D. f=x-*i
15.下列函数 f 的功能是比较c 数组相邻行字符串的大小,比较后将值大的字符串置于值小的字符串的上一行,请为横
线处选择合适的程序( )
void f(char c[5][6])
{
int i,j;
char temp[10];
for(i=0;i<4;i++)
for(j=______;j<5;j++)
if(strcmp(c[i],c[j])>0)
{
strcpy(temp,c[i]);
strcpy(c[i],c[j]);
(c[j],temp);
}
}
A. i+1
B. 0
C. 1
D. i-1
16.下列程序的运行结果是( )
#include <stdio.h>
int f1(int x)
{
return x+5;
}
int f2(int x)
{
return 2*x-1;
}
main()
{
int (*p1)(int),(*p2)(int),(*t)(int), y1, y2;
p1=f1; p2=f2;
y1=p2(p1(1));
t=p1;
p1=p2;
p2=t;
y2=p2(p1(2));
printf("%d, %d\n",y1,y2);
}
A. 8,11
B. 6,13
C. 13,6
D. 11,8
17.下列程序的功能是将数组 x 中下标为奇数的相邻元素和存放在 a 数组中,比如a[0]=x[1]+x[3],a[1]=x[3]+x[5]…请
为横线处选择合适的程序( )
#include<stdio.h>
#include <string.h>
main( )
{
int x[10],a[10],i;
for (i=0;i<10;i++)
scanf("%d",&x[i]);
for(i=1;i<8;i+=2)
a[_______]=x[i]+x[i+2];
for(i=0;i<4;i++)
printf("%d ",a[i]);
printf("\n");
}
A. i-1
B. (i-1)/2
C. 2*i-3
D. i
18.以下程序程序运行后的结果是( )
#include<stdio.h>
#define N 4
void fun(int a[][N],int *p)
{
int i;
for(i=0;i<N;i++) {
if(i<3) p[i]+=a[i][i]-a[i][N-i-2];
else p[i]+=a[i][i]-a[i][N-i];
}
}
main()
{
int x[N][N]={{3,6,2,0},{2,8,7,9},{5,1,7,3},{9,5,3,7}},y[N]={3,5,8,6},i;
fun(x,y);
for(i=0; i<N; i++)
printf("%d ", y[i]);
printf("\n");
}
A. 4 5 8 10
B. -3 -1 1 3
C. 4 5 10 8
D. 1 3 -1 -3
二、不定项选择题
1.下列说法中正确的是( )
A. 算符优先关系表不一定存在对应的优先函数
B. 数组元素的地址计算与数组的存储方式有关
C. 每个文法都能改写为 LL(1)文法
D. 对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略
2.线性窥孔优化的特点包括( )
A. 优化对象可以是中间代码,也可以是目标代码
B. 每次处理的是一组相邻的指令
C. 对优化对象进行线性扫描
D. 优化对象只能是中间代码
3.在开发中,泛型简化了编程、提高了开发效率,以下说法正确的是( )
A. 泛型是程序设计语言的一种特性,所有语言均有
B. 泛型类是引用类型
C. 泛型可以加强类型安全和减少类转换的次数
D. .Net 和Java的泛型在运行速度会因为类型转换次数减少而加快
4.ORM 是对象到关系数据的热门技术,以下说法正确的是( )
A. ORM 是以中间件的形式存在,实现对象到关系数据库的映射
B. O/R Mapping 会为开发者生成 DAO,减少数据访问层的编码
C. ORM 负责生成SQL,开发者只需关注对象就可以了
D. ORM 中多对多的关系模式必须将关联单独作一个表
5.dns 服务中资源记录的类型有( )
A. PTR
B. A
C. CNAME
D. B
6.基于比较的排序算法是( )
A. 基数排序
B. 冒泡排序
C. 桶排序
D. 希尔排序
7.一个无向图G=(V,E),顶点集合 V={1,2,3,4,5,6,7},边集合 E={(1,2), (1,3),(2,4), (3,4), (4,5),(4,6), (5,7) , (6,7)},从顶点 1
出发进行深度优先遍历,可得到的顶点序列是 ( )
A. 1,2,3,4,5,6,7
B. 1,2,4,3,6,7,5
C. 1,3,4,5,7,6,2
D. 1,2,4,6,7,5,3
8.在含有10 个结点的二叉排序树上,查找关键字为 20 的结点,则依次比较的关键字有可能是( )
A. 10,30,25,20
B. 25,10,15,20
C. 10,30,20
D. 25,10,15,18,20
9.简单网络管理协议SNMP 由哪几个部分组成?( )
A. SNMP 本身
B. 管理信息结构SMI
C. 管理信息库MIB
D. SNMP 的信息库
10.在 MySQL 中,关于HASH 索引,下列描述正确的是( )
A. 只用于使用=或者 < = >操作符的等式比较
B. 优化器不能使用HASH 索引来加速 Order By 操作
C. 如果将一个MyISAM 表改为 HASH 索引的MEMORY 表,不会影响查询的执行效率
D. 只能使用整个关键字来搜索一行
11.下列程序的运行结果是 YY,78,96,请为横线处选择合适的程序( )
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[9];
float score[2];
}STU;
void f(STU
{_______)
STU b={“YY”,78,96};
int i;
strcpy(a->name,b.name);
for(i=0;i<2;i++)
a->score[i]=b.score[i];
}
main()
{
STU c={“LL”,90,80};
f(&c);
printf("%s,%.0f,%.0f\n",c.name,c.score[0],c.score[1]);
}
A. *a
B. a
C. &a
D. a[]
11.下列程序的运行结果是 3,5,请为横线处选择合适的程序( )
#include<stdio.h>
struct S
{
int n;
char c[10];
} *p;
main()
{
struct S a[3]={{3,“abc”},{5,“def”},{7,“ghi”}};
p=a;
printf("%d,",(*p).n);
printf("%d\n",___________);
}
A. (++p)->n
B. (a+1)->n
C. p+±>n
D. (p+1)->n