每日一题(2016奇虎360JAVA研发工程师内推笔试题及答案)

1.结构型模式中最体现扩展性的模式是()
正确答案: A 你的答案: 空 (错误)
A.装饰模式
B.合成模式
C.桥接模式
D.适配器

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.在 Linux 中,对 file.sh 文件执行#chmod 645 file.sh 中,该文件的权限是(D)

解析:

Linux下权限对应的数字为:r=4,w=2,x=1

所以,6就是rw-    4就是r--   5就是r-x

A.-rw-r--r--
B.-rw-r--rx-
C.-rw-r--rw-
D.-rw-r--r-x
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.TCP 建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为 1000,确认序列
号为 2000,请问第二次握手报文的发送序列号和确认序列号分别为(1999,1000)

解析:

这里主要是TCP三次握手期间的发送序号和确认序号。

TCP第一次握手期间:客户机向服务器发送请求报文段,发送序号为x

TCP第二次握手期间:服务器向客户机发送请求+确认报文段,发送序号为y,确认报文段为x+1

TCP第三次握手期间:客户机向服务器发送确认报文段,发送序号为x+1,确认序号为y+1

这里第三次握手报文的发送序列号为1000,确认序列号为2000,可以退出第二次握手发送序号为1999,确认序号为1000.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

4.以下 java 程序代码,执行后的结果是(C)

java.util.HashMap map=new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());

A.0 

B.NULL

C.1   

D.2

解析:

HashMap可以插入null的key或value,插入的时候,检查是否已经存在相同的key,如果不存在,则直接插入,如果存在,则用新的value替换旧的value,在本题中,第一条put语句,会将key/value对插入HashMap,而第二条put,因为已经存在一个key为name的项,所以会用新的value替换旧的vaue,因此,两条put之后,HashMap中只有一个key/value键值对。那就是(name,jack)。所以,size为1.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

5.代码片段

byte b1=1,b2=1,b3,b6;
final byte b4=4,b5=6;
b6 = b4+b5;
b3 = (b1+b2);
System.out.print(b3+b6)

关于上面代码片段叙述正确的是(C)

A.输出结果:13

B.语句: b6=b4+b5 编译出错

C.语句: b3=b1+b2 编译出错

D.运行期抛出异常

解析:

没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,需要强制转换(向下转型)。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6.设有一个用数组 Q[1..m]表示的环形队列,约定 f 为当前队头元素在数组中的位置, r 为队尾元素的后一位置(按顺时针方向),若队列非空,则计算队列中元素个数的公式应为(A)

A.(m+r-f)mod m
B.r-f
C.(m-r-f)mod m
D.(m-r+f)mod m

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

7.计算斐波那契数列第 n 项的函数定义如下:

int fib(int n){
    if(n==0)
        return 1;
    else if(n==1)
        return 2;
    else
        return fib(n-1)+fib(n-2);
}

若执行函数调用表达式 fib(10),函数 fib 被调用的次数是:(D)
A.117
B.137
C.157
D.177
解析:
 

对于小数据量的n来说

f(1) 调用1次

f(2) 调用3次

f(3) 调用5次

f(4) 调用9次

发现一个规律:从n=3开开始,调用次数为前两次和加1

即:f(3) =f(2) +f(1) +1=5

      f(4) =f(3) +f(4) +1=9

      f(5) =f(4) +f(3) +1=15

      f(6) =f(5) +f(4) +1=25

      f(7) =f(6) +f(5) +1=41

       f(8) =f(7) +f(6) +1=67

       f(9) =f(8) +f(7) +1=109

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

8.设图 G 的相邻矩阵如下图:则 G 的顶点数和边数分别为:
0 1 1 1 1
1 0 1 0 0
1 1 0 1 1
1 0 1 0 1
1 0 1 1 0
正确答案: D 你的答案: 空 (错误)
4,5
4,10
5,6
5,8
 

 

 

 

 


 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤凰AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值