蘑菇街2017校园招聘笔试题

一、单选题

1、设顺序循环队列Q[0: M-1]的头指针和尾指针分别为FR.头指针F总是指向队头元素的前一位置.尾指针R总是指向队尾元素的当前位置.则该循环队列中的元素个数为()

  1. R-F+M)%M
  2. R-F
  3. (F-R+M)%M
  4. F-R

 

2

int f(int x)

    return ((x>2) ? x*f(x-1) : 3);

}

int i;

i=f(f(2)): 

执行如上函数后. i的值为()

 

A.   30

B.   无限递归

C.   9

D.   2160

 

3、下面的哪个选项是自底向上分析方法()

  1. 递归下降分析法
  2. 预测分析法
  3. LL 1)分析法
  4. 算符优先分析法

 

4关于中间件特点的描述.不正确的是()

  1. 中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率
  2. 中间件应支持标准的协议和接口
  3. 中间件可运行于多种硬件和操作系统平台上
  4. 跨越网络,硬件,操作系统平台的应用或服务可通过中间件透明交互

 

5下面关于promise的说法中,错误的是()

  1. resolve()和reject都是直接生成一个进入相应状态的promise对象,其参数就是进入相应状态时传递过去的参数,可以在完成回调的参数中得到
  2. Promise.resolvevalue),Promise.rejectreason)是Promise构造器上还直接提供了一组静态方法
  3. 在调用then方法或者catch方法时都是异步进行的,但是执行速度比较快
  4. Promise构造器的prototype上还有两个方法,分别是thencatch。这两个方法的参数也是回调函数,这些函数会在Promise实例进入不同状态后被调用。Then对应到resolvecatch对应到reject

 

6KMP算法下,长为n的字符串中匹配长度为m的子串的复杂度为()

  1. ON
  2. OM+N
  3. OM+LOGM
  4. ON+LOGM

 

7通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入的排序算法是()

  1. 归并排序
  2. 选择排序
  3. 希尔排序
  4. 插入排序

 

8执行chmod 644 mm.txt后的权限是()

  1. -rw-r--r--
  2. rw-r--r--
  3. -rwxr--r--
  4. rwxr- -rw-

 

9利用时间重叠概念实行并行处理的是()

  1. 多处理机
  2. 流水处理机
  3. 相联处理机
  4. 并行(阵列)处理机

 

10设哈夫曼树中的结点总数为49,若用二叉链表作为存储结构,则该哈夫曼树中总共有多少个空指针域()

  1. 51
  2. 52
  3. 50
  4. 49

 

11Linux中包括两种链接:硬链接(Hard Link)和软连接(Soft Link),下列说法正确的是()

  1. 软连接可以跨文件系统进行连接,硬链接不可以
  2. 当删除原文件的时候硬链接文件仍然存在,且内容不变
  3. 硬链接被删除,磁盘上的数据文件会同时被删除
  4. 硬链接会重新建立一个inode,软链接不会

 

12

public class Test{

    static int cnt = 6;

    static{

        cnt += 9;

    }

public static void main(String[] args){

    System.out.println(“cnt =” + cnt);

}

static{

    cnt /=3;

    };

} 

cnt的值是

A.   cnt=5

B.   cnt=2

C.   cnt=3

D.   cnt=6

 

13

b = 2*a/ 4

a = "one"

print(a,b)

执行下列语句后的显示结果是什么()

 

A.   10

B.   one0.5

C.   error

D.   one 0

 

14下列有关this指针使用方法的叙述正确的是()

  1. 保证基类保护成员在子类中可以被访问
  2. 保证基类私有成员在子类中可以被访问
  3. 保证基类共有成员在子类中可以被访问
  4. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

 

15设有定义char *p[]={"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是()

  1. *p[1] +3
  2. *(p[1] +3)
  3. *(p[3] +1)
  4. p[3] [1]

 

16

void func(char *p)

{

    p=p+1;

}

int main()

{

    char s[]={'1','2','3','4'};

    func(s);

    printf("%c",*s);

    return 0;

} 

以下程序执行后的输出结果为()

 

A.   2

B.   编译错误

C.   1

D.   无法确定

 

17以下字符串定义与赋值中,正确的是()

  1. char s[80] = {"A", "B" ,"C"}
  2. char s[80]; s = {'A', 'B','C'}
  3. char s[80]; s = "ABC";
  4. char s[80] ="ABC";

 

二、不定项选择题

18算法的时间复杂度取决于()

  1. 待处理数据的状态
  2. 处理器的速度
  3. 问题的规模
  4. 程序所占空间

 

19、有关操作系统常用调度算法叙述正确的是()

  1. FCFS调度算法不利于短作业
  2. SPF调度算法不利于短作业
  3. HRN调度算法不利于长作业
  4. HRN调度算法既利于短作业又有利于长作业

 

20、在ECMAScript6 ,promise的状态有()

  1. Pending
  2. Pause
  3. Resolved
  4. Rejected

 

21、有关曼彻斯特编码叙述正确的是()

  1. 在信号位开始时不改变信号极性,表示辑”1”
  2. 模拟数据转换为数字信号
  3. 在信号位中电平从高到低跳变表示0
  4. 数字数据转换为数字信号

 

22、下列说法正确的是()

  1. 二维以上的数组其实是一种特殊的广义表
  2. 数组一旦建立,结构的元素个数和元素间的关系就不再变化
  3. 数组是一种线性结构,因此只能用来存储线性表
  4. 数组采用顺序存储方式表示

 

23、为了提高数据库的性能,需要针对系统设计基准测试进行压力测试,那么进行压力测试时需要考虑以下哪些指标()

  1. 可扩展性
  2. 响应时间
  3. 并发性
  4. 吞吐量

 

24、假如在MySQL中有存储过程proc1(员工编号,月份)用来查询员工的工资,两个参数类型均为字符类型,则下列调用存储过程的方法正确的是()

  1. call Proc1‘emp001’  ,’ 201601’ );
  2. exec Proc1‘emp001’  ,’ 201601’ );
  3. call Proc1‘emp001’  ,null);
  4. call Proc1‘emp001’  ,);

 

25、下列关于策略处理规则描述正确的是()

  1. 如果子容器的某个策略被配置,则此配置值会覆盖由其父容器所传递下来的配置值
  2. 当组策略的用户配置和计算机配置冲突的时候,优先处理用户配置
  3. 组策略的配置值是有累加性的
  4. 系统是先处理计算机配置,再处理用户配置

 

26、在java中重写方法应遵循规则的包括()

  1. 访问修饰符的限制一定要大于被重写方法的访问修饰符
  2. 可以有不同的访问修饰符
  3. 参数列表必须完全与被重写的方法相同
  4. 必须具有不同的参数列表

 

27、以下集合对象中哪几个是线程安全的()

  1. LinkedList
  2. ArrayList
  3. Vector
  4. Hashtable

 

28、下列有关java构造函数叙述正确的是()

  1. 构造器的返回值为void类型
  2. 如果一个源文件中有多个类,那么构造器必须与公共类同名
  3. 构造器可以有0个,1个或一个以上的参数
  4. 每个类可以有一个以上的构造器

 

29

1.bit = input("Enter a binary digit:")

2.if bit = 0 or 1:

3.    print "your input is" ,bit

4.else

5.    print "your input is invalid" 

以上程序要求用户输入二进制数字0/1并显示之,请指出程序中的错误:()

 

  1. 4
  2. 5
  3. 3
  4. 2

 

30、在MySQL中,下列关于触发机器的描述正确的是()

  1. MySQL的触发器只支持行级出发,不支持语句级触发
  2. 触发器可以调用将数据返回客户端的存储程序
  3. MySQL中,使用newold引用触发器中发生的记录内容
  4. 在触发器中可以使用显示或者隐式方式开始或结束事务的语句

 

30、对于工资表结构如下(员工编号,姓名,部门,工资),如果要对查询的结果按照部门升序与工资降序进行排序,则下列排序正确的是()

  1. order by部门,工资
  2. order by部门,工资desc
  3. order by部门 asc,工资desc
  4. order by部门desc,工资desc

 

31、为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是()

  1. 在频繁进行排序或分组(即进行group by order by操作)的列上建立索引
  2. 考虑列中值的分布,列的基数越大,索引的效果越好
  3. select关键字后选择列表的列上,建立索引
  4. 在表中,索引越多越好

 

32、为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是()

  1. 在频繁进行排序或分组(即进行group by order by操作)的列上建立索引
  2. 考虑列中值的分布,列的基数越大,索引的效果越好
  3. select关键字后选择列表的列上,建立索引
  4. 在表中,索引越多越好

 

33、网络地址为172.16.0.0,采用子网掩码255.255.224.0 .以下说法正确的是()

  1. 其中一个子网的广播地址为:172.16.32.255
  2. 其中一个子网的广播地址为:172.16.128.255
  3. 划分了8个有效子网
  4. 划分了6个有效子网

 

34、对下列常见的各种网络术语描述正确的是()

  1. ADNS是一种用于TCP/IP应用程序的分布式数据库,因此它在TCP/IP体系中处于应用层
  2. TFTP是一种文件传递应用程序,它使用的传输层协议是TCP
  3. Ping是对两个TCP/IP系统连通性进行测试的基本工具,它利用ICMP进行基本的请求的应答
  4. Telnet 是标准的提供远程登录功能的应用,可以在不同OS系统的主机之间运行

 

三、编程题

35Arthur最近搬到了新的别墅,别墅特别大,原先的桌子显得比较小,所以他决定换一张新的桌子。他买了一张特别大的桌子,桌子是由很多条桌腿进行支撑的,可是回到家之后他发现桌子不稳,原来是桌子腿长度不太相同。他想要自己把桌子修理好,所以他决定移除掉一些桌腿来让桌子变得平稳。桌子腿总共有n条腿,第i条腿长度为liArthur移除第i桌腿要花费代价为di。假设k条腿桌子平稳的条件:超过一半桌腿能够达到桌腿长度的最大值。例如:一条腿的桌子是平稳的,两条腿的桌子腿一样长时是平稳的。请你帮Arthur计算一下是桌子变平稳的最小总代价。

输入描述:

输入:

    第一行数据是一个整数:n (1≤n≤105)n表示桌腿总数。

    第二行数据是n个整数:l1, l2, ..., ln (1≤li≤105),表示每条桌腿的长度。

    第三行数据是n个整数:d1, d2, ..., dn (1≤di≤200),表示移除每条桌腿的代价。

 

输出描述:

输出:

    输出让桌子变平稳的最小总代价

 

输入例子:

样例输入

    6

    2 2 1 1 3 3

    4 3 5 5 2 1

 

输出例子:

8

 

36、现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,12354,我们只需要交换一次,即将54交换即可。

输入描述:

第一行输入一个正整数nn≤1000),表示数字序列的元素个数,占一行;接下来一行输入从1nn个整数排序,中间用空格隔开

 

输出描述:

输出序列升序排列需要的最少交换次数

 

输入例子:

4
4 3 2 1

 

输出例子:

6

 


个人资料
bjchenli
等级:8
文章:260篇
访问:22.0w
排名: 3
推荐圈子
上一篇: 华为2016校园招聘上机笔试题
下一篇:2015苹果校招上海 Specialist 二面面经
猜你感兴趣的圈子:
IT校招圈
标签: 桌子、桌腿、cnt、promise、proc1、面试题
隐藏