宜信19秋招Java笔试,自己做的答案,欢迎大家批评指正

一、选择题

1、执行以下程序后的结果为:( C )

public class Test {

public static void main(String[ ] args) {

StringBuffer a = new StringBuffer(“A”);

StringBuffer b = new StringBuffer(“B”);

test(a,b);

System.out.println(a+”,”+b);

}

private static void test(StringBuffer x, StringBuffer y){

x.append(y);

y=x;

}

}

A.AB,B

B.B,B

C.A,B

D.A,A

2、有一群人来某奇怪的办事处办理业务,所有人取过号(从小到大)之后,这个办事处突然希里能按照年龄高低力理业务,但是同年龄的人按第之前所取号从小到大办理业务,下面那个排序算法不适合应用在此处 ( A )

A.归并排序

B.快速排序

C.冒泡排序

D.直接插入排序

3、己如一颗二叉树前序遍历和中序遍历分別为ABDEGCHDBGEACHF,则该二叉树的后序遍历为多少?C

A.DGEBFHAC

B.DEGBHACF

C.DGEBHFCA

D.DEGHBFCA

43维空间中的6个平面最多将空间分为几个部分?( C

A.41

B.44

C.42

D.43

5、把N*N的二维数组X顺时针旋转90度,数组下标从0开始,X[i][j]在旋转后的新矩阵中的位置为( D

A.X[N-1- j][i]

B.X[i][j]

C.X(j][N-1-i]

D.X[N-1- j][N-1-i]

6、若使用KMP匹配算法,串’ababaaababaa’next数组为 ( B )

A.012121111212

B.011234223456

C.012345678999

D.0123012322345

7、给棵完全二叉树,当叶子节点的数目为2018.则该完全二叉树所有节点的可能数目B

A.4065

B.4035

C.4067

D.4063

8、下面有关JVM内存,说法错误的是? ( A )

A.方法区用于存储JVM加载的类信息常量、静态支量、以及编译器情译后的代码等数据,是线程隔高的

B.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

C.虑拟机械描述的是Java方法执行的内存模型,用于存储局部支量,操作数栈,动态链接,方法出口等信息,是线程隔高的

D.程序计数器是个比较小的内存区域。用于指示当前线程所执行的字节码执行到了第几行,是线程隔高的

9、在双链表中,删除元素p需要做的操作是( B

A.p->nex->next=p->next;p->previous->previous=p->previous;

B.p-> previous->next=p->next;p->next-> previous=p-> previous;

C.p-> previous->next=p-> previous; p->next-> previous=p->next;

D.p-> previous->next=p->next->previous;p->next->previous=p-previous->next;

10、请问下列程序将输出多少个“宜信”?( B

int main(void)

{

int t;

for(i=0;i< 2;i++){

fork();

printf(“宜信”);

}

return 0;

}

A.7

B.6

C.5

D.8

11、下列哪个数组表示一个最小堆?( D

A.[30,21,15,6,3,1,5]

B.[6,3,21,1,5,15,30]

C.[1,15,3,6,5,30,21]

D.[1,3,5,21,30,15,6]

12、由权值分别为1,26,5,9,12,16的叶子结点生成一棵哈夫曼树,它的带权路径长为( A

A.228

B.69

C.52

D.159

13、有关下述Java代码描述正确的选项是( B

public class TestClass {

private static void testMethod(){

System.out,println(“ testMethod”);

}

public static void main(String[ ] args){

((TestClass)null).testMethod();

}

}

A.编译通过,运行异常,报NoSuchMethodException

B.编译不通过

C.运行正常,输出testMethod

D.编译通过,运行异常,报NullPointerException

E.编译通过,运行异常,报Exception

F.编泽通过,运行异常,报lllealArgumentException

14、下面两个程序的时间复杂度分别是多少?C

int fun1(int n)

{

if(n <= 1) return n;

return2*fun1(n- 1);

}

int fun2(int n)

{

if(n <= 1) return n;

return fun2(n -1) + fun2(n- 1);

}

A.均是O(2^n)

B.fun10O(2^n)fun20O(n)

C.fun10O(n)fun20O(2^n)

D.均是O(n)


二、填空题

15、下面有4种二叉按索树

A.B-

B.kd-

C.红果树

D.伸展树

其中对大规模的数据(不能全部存放于内存中)的存取适合采用(  ) ,处理与几何有关的问题适合使用(  ),(  ) 扩充后可支持对历史版本的访问。

16、将长度为1的线段随机析成三段则这三段能构成=角形的概率是少____ 

编程
1.银行坏账

银行有编号为1到W的W个贷款窗口,且每个窗口都有一个贷款申请人。现银行提供N种贷款方式供给贷款申请人,每个申请人可以选择其中一种方式。如果相邻两个窗口的申请人的贷款方式一样,则将可能产生坏账,求有多少种状态可能产生坏账?

2.字符串查找

字符串查找,是字符串操作中一个很有用的函数。你的任务是实现这个函数:对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。

如果 source = "source" 和 target = "target",返回 -1。

如果 source = "abcdabcdefg" 和 target = "bcd",返回 1。

O(n2)的算法是可以接受的。如果你能用O(n)的算法做出来那更加好。




#秋招##宜信##笔试题目##Java工程师#
全部评论
第一题我就觉得答案不对,idea跑了一遍。。。果然不对,应该是A啊! x.append(y)是直接在StringBuffer对象后面拼接,直接改变了原对象,所以形参和实参实际上都已经指向了AB
点赞 回复
分享
发布于 2019-02-17 23:06
13题不对吧
点赞 回复
分享
发布于 2019-01-31 17:33
阅文集团
校招火热招聘中
官网直投
第二题答案确定对吗?我觉得时考察排序的稳定性,四个选项只有快排是不稳定的,选快排吧?
点赞 回复
分享
发布于 2019-02-17 22:54
第一题就错了,应该是AB,B
点赞 回复
分享
发布于 2019-02-19 12:01
第一个编程题目: 不考虑任何限制,总的可能种类为 什么时候不会产生坏账呢,就是当第一个人有N种选择,第二个人则必然和第一个人不一样,因此有N-1种选择,第三个人只需与第二个人不同选择即可,也就是他也有N-1种选择,因此不发生坏账的种类为 因此产生坏账的种类为: 参考:https://www.jianshu.com/p/a2f7f3edce53
点赞 回复
分享
发布于 2019-02-19 19:18
笔试大概多长时间呢
点赞 回复
分享
发布于 2019-02-24 18:28

相关推荐

点赞 29 评论
分享
牛客网
牛客企业服务