京东 2018 秋招测试开发工程师笔试题

一.单选题

1.若度为m 的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为( )

A. n-1

B. n/m-1

C. (n-1)/(m-1)

D. n/(m-1)-1

E. (n+1)/(m+1)-1

2.进程会在各个状态之间切换,下面哪些是不可能的( )

A. 运行→就绪

B. 运行→等待

C. 等待→运行

D. 等待→就绪

3.若一序列进栈顺序为 a1,a2,a3,a4,问存在多少种可能的出栈序列( )

A. 12

B. 13

C. 14

D. 15

4.下面关于c++拷贝构造函数说法错误的是( )

A. 产生了新的对象实例,调用的就是拷贝构造函数;如果没有,调用的是赋值运算符

B. 没有定义拷贝构造函数的话,编译器不会默认自动产生拷贝构造函数

C. 类中可以存在超过一个拷贝构造函数

D. 声明一个私有拷贝构造函数可以防止按值传递对象

5.查询该目录及子目录下所有的以.conf 为后缀的文件

A. fifind ./ -name “conf”

B. fifind ./ -name “*.[conf]”

C. fifind ./ -type d | egrep “.(conf)”

D. fifind ./ -regextype posix-extended -regex “.*.(conf)”

6.若将网络192.168.0.0/22 划分为5 个子网,则可以划分出的最小子网的子网掩码是( )

A. 255.255.255.0

B. 255.255.255.128

C. 255.255.255.192

D. 255.255.255.224

7.有2 个关系模式:订单表:R(订单号,日期,客户名称,收货人) 订单明细表:S(订单号,商品编

码,单价,数量) 若要检索 2017/1/1 到2017/12/31 期间,订购商品的总金额超过 20000 元的客户名称

和总金额,则 SQL查询语句是( )

A. SELECT客户名称,单价数量 AS 总金额 FROM R,S WHERE 日期 BETWEEN *"*2017-1-1"AND “2017-12-31”

AND 单价数量>20000

B. SELECT客户名称, SUM(单价数量) AS 总金额 FROM R,S WHERE R.订单号*=* S.订单号 AND日期

BETWEEN “2017-1-1” AND “2017-12-31” GROUP BY 客户名称 HAVING 单价数量>20000

C. SELECT 客户名称, SUM (单价数量*)* AS 总金额 FROM R,S WHERE R.订单号*=* S.订单号 AND 日期

BETWEEN “2017-1-1” AND “2017-12-31” GROUP BY 客户名称 HAVING SUM(单价数量)>20000

D. SELECT 客户名称,单价数量 AS 总金额 FROM R,S WHERE R.订单号*=* S.订单号 AND 日期 BETWEEN

“2017-1-1” AND “2017-12-31” GROUP BY 客户名称 HAVING 单价数量>20000

8.下面覆盖标准中 ,覆盖标准最低的是?( )

A. 语句覆盖

B. 判定覆盖

C. 条件覆盖

D. 判定/条件覆盖

9.下面代码如果用基本路径法测试的话,覆盖几条路径?

void sort(int num, int type){

int a = 0;

int b = 0;

while(num-- > 0){

if(3==type){

a=b+1;

break;

} else if(4==type){

x=y+10;

} else if(5==type){

x=y+20;

} else {

x=y+30;

}

}

}

A. 3

B. 4

C. 5

D. 6

10.正则表达式 ^d+ 【^d】+ 能匹配下列哪个字符串?( )

A. 123

B. 123a

C. d123

D. 123def

E. d7d

11.一个序列为(13,18,24,35,47,50,63,83,90,115,124),如果利用二分法查找关键字为 90 的,则需要

几次比较 。( )

A. 1

B. 2

C. 3

D. 4

12.已知一个二叉树前序遍历和中序遍历分别为 ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为?(

)

A. DGEBHFCA

B. DGEBHFAC

C. GEDBHFCA

D. ABCDEFGH

13.以下哪个命令不能查看文件里内容?()

A. more

B. cat

C. ls

D. less

14.把14,27,71,50,93,39 按顺序插入一棵树,插入的过程不断调整使树为平衡排序二叉树,最终形成平衡排

序二叉树高度为?

A. 3

B. 4

C. 5

D. 6

15.定义如下程序:

public class Person{

{

tem.out.println(“P1”);

}

static{

System.out.println(“P2”);

}

public Person(){

System.out.println(“P3”);

}

}

public class Students extends Person{

static{

System.out.println(“S1”);

}

{

System.out.println(“S2”);

}

public Students(){

System.out.println(“S3”)

}

public static void main(String[] args){

new Students();

}

}

程序执行结果是?( )

A. P1P2P3S1S2S3

B. P1P2P3S2S1S3

C. P2P1S1P3S2S3

D. P2S1P1P3S2S3

16.下面程序的输出是?( )

public class Main {

public static void main(String[] args) {

Other o = new Other();

new Main().addOne(o);

System.out.println(o.i);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

A. 0

B. 1

C. 编译出错

D. 运行出错

二.不定项选择题

1.有关linux 线程的描述,正确的是( )

A. 线程自己拥有很少的资源,但它可以使用所属进程的资源

B. 同一进程中的多个线程具有相同的地址空间,所以它们间的同步和通信也易于实现

C. 进程创建与线程创建的时空开销不相同

D. 线程是资源分配的基本单位,进程是资源调度的基本单位

2.以下哪些状态为 TCP连接关闭过程中的出现的状态?()

A. LISTEN

B. TIME-WAIT

C. LAST-ACK

D. SYN-RECEIVED

3.下面选项中,和192.168.3.110/27 属于一个子网的有哪些( )

A. 192.168.3.94

B. 192.168.3.124

C. 192.168.3.96

D. 192.168.3.126

4.Linux 系统中,哪些可以用于进程间的通信?

A. Socket

B. 临界区

C. 消息队列

D. 信号量

5.白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。下面属于白盒测试方法的有

哪些?( )

A. 句覆盖

B. 等价类划分

C. 边界值分析

D. 判定条件覆盖

6.下列选项中,有关死锁的说法正确的是?( )

A. 采用“按序分配”策略可以破坏产生死锁的环路等待条件

B. 在资源的动态分配过程中,防止系统进入安全状态,可避免发生死锁

C. 银行家算法是最有代表性的死锁解除算法

D. 产生死锁的现象是每个进程等待着某个不能得到且不可释放的资源

7.现有testfifile 文件内容如下所示

12 12 213 5434 3123 123 34 对所有数字求和,以下做法正确的是:( )

A. awk ‘BEGIN{sum}{sum+$1}END{print sum}’ testfifile

B. awk ‘BEGIN{sum =0}{sum+=$1}END{print sum}’ testfifile

C. awk ‘{sum+$1}END{print sum}’ testfifile

D. wk ‘{sum+=$1}END{print sum}’ testfifile

8.以下关于HTTP 说法正确是的:( )

A. HTTP POST方式比 GET更安全

B. HTTP GET请求提交参数没有长度限制

C. HTTP POST请求提交参数没有长度限制

D. HTTP GET和POST请求提交参数都没有长度限制

9.python 代码如下:( )

foo = [1,2]

foo1 = foo1

foo.append(3)

A. foo 值为[1,2]

B. foo 值为[1,2,3]

C. foo1 值为[1,2]

D. foo1 值为[1,2,3]

10.在测试“搜索”功能时,下列哪些测试用例是必须的( )

A. 模糊查询值的搜索测试用例

B. 全数字的搜索测试用例

C. 全半角的搜索测试用例

D. 字母大小写的搜索测试用例

11.下面选项中对 TCP与 UDP 论述正确的是?( )

A. TCP是面向连接的,如打电话要先拨号建立连接

B. TCP支持一对一,一对多,多对一和多对多的交互通信

C. TCP面向字节流,实际上是 TCP把数据看成一连串无结构的字节流

D. UDP 是无连接的,即发送数据之前不需要建立连接

12.C++中的拷贝构造函数在下面哪些情况下会被调用( )

A. 对象创建的时候

B. 使用一个类的对象去初始化该类的一个新对象

C. 被调用函数的形参是类的对象

D. 当函数的返回值是类的对象时,函数执行完成返回调用者

13.用浏览器访问www.jd.com 时,可能使用到的协议有?( )

A. MAC

B. HTTP

C. SMTP

D. ARP

E. RTSP

14.功能测试用例需包含哪些元素( )

A. 测试步骤

B. 预期结果

C. 测试数据

D. 实际结果

三.编程题

1.两个子串给定一个字符串 s, 请计算输出含有连续两个 s 作为子串的最短字符串。 注意两个s 可能有重叠部分。例

如,“ababa"含有两个"aba”.

输入描述**????*

输入包括一个字符串s,字符串长度length(1 ≤ length ≤ 50),s 中每个字符都是小写字母.

输出描述**????*

输出一个字符串,即含有连续两个 s 作为子串的最短字符串。

输入例子****1:

abracadabra

输出例子****1:

abracadabracadabra

2.括号匹配方案

合法的括号匹配序列被定义为:

\1. 空串""是合法的括号序列

\2. 如果"X"和"Y"是合法的序列,那么"XY"也是一个合法的括号序列

\3. 如果"X"是一个合法的序列,那么"(X)"也是一个合法的括号序列

\4. 每个合法的括号序列都可以由上面的规则生成 例如"", “()”, “()()()”, “(()())”, "(((())))"都是合法的。 东

东现在有一个合法的括号序列 s,一次移除操作分为两步:

\5. 移除序列s 中第一个左括号

\6. 移除序列s 中任意一个右括号.保证操作之后s 还是一个合法的括号序列 东东现在想知道使用上述的

移除操作有多少种方案可以把序列 s 变为空 如果两个方案中有一次移除操作移除的是不同的右括号

就认为是不同的方案。 例如: s = “()()()()()”,输出 1, 因为每次都只能选择被移除的左括号所相邻的右

括号. s = “(((())))”,输出24, 第一次有4 种情况, 第二次有3 种情况, … ,依次类推, 4 * 3 * 2 * 1 = 24

输入描述**????*

输入包括一行,一个合法的括号序列 s,序列长度 length(2 ≤ length ≤ 20).

输出描述**????*

输出一个整数,表示方案数

输入例子****1:

(((())))

输出例子****1:

24

求职必备刷题官网:https://github.com/bennyrhys/interview
【更多互联网公司笔试面试真题请关注“让我遇见相似的灵魂”公众号】

【求职】京东 2018 秋招测试开发工程师笔试题_括号序列