360集团2016JAVA研发工程师内推笔试题

题目来源:牛客网  https://www.nowcoder.com/test/question/analytic?tid=21122281

1.执行以下程序后的输出结果是()

public class Test {
public static void main(String[] args) {StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b); System.out.println(a + "," + b);
}
public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x;
}
}

答案:

解析:

题目主要考察了JAVA方法的值传递,方法operator并没有改变a,b变量的引用值,改变的只是方法参数的引用,看下面的图解

如下图,简易画了一下,没有画出内存中的具体存储,只给出逻辑关系,可以看出operator方法改变的是a所指向的内存中的数据和方法中x,y参数的指向,并没有修改a,b的引用的值,所以选择D

2.结构型模式中最体现扩展性的模式是()

答案:

解析:

设计模式分为三大类:
创建型设计模式:单例模式,工厂方法模式,简单工厂模式,建造者模式、原型模式
结构型设计模式:适配器模式,代理模式,AOP、装饰器模式、
行为型设计模式:观察者模、板方法模式
装饰模式的作用就是为了:
1.扩展功能
2.不用继承
3.在Linux中,对file.sh文件执行#chmod 645 file.sh中,该文件的权限是()
答案:

解析:

Linux下权限对应的数字为:
r =4, w =2, x =1
所以,6就是rw-
4就是r--
5就是r-x
4.TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为1000,确认序列号为2000,请问第二次握手报文的发送序列号和确认序列号分别为?
答案:

解析:

再TCP中,ack确认号代表希望得到的序号,而在本题中第三次握手发送的序列号为1000,由此可以说明第二次握手的确认号为1000,同时由于第三次握手的确认号为2000,由此可以说明希望收到的序号为2000,那么证明第二次发送的序号为1999,所以选择B

5.下列TCP连接建立过程描述正确的是:

答案:

解析:

A.TCP客户端向服务端发送SYN保文端,客户进入SYN_SENT状态,不是服务端进入该状态

B.服务端在收到客户端发来的ACK确认后,同时向客户端发回ACK确认后服务端才会进入SYN_RCVD状态

D.服务端未收到客户端确认将会超时重传

6.属于网络112.10.200.0/21的地址是()

答案:

解析:

该网络使用了无分类编址CIDR,/21表示前21位为网络号,下面给出图解,如图主机号为110时IP地址为A项

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

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

答案:

解析:

在JAVA中map的一个键只能够出现一次,也就是说当有一个相同的键时会进行替换,所以这个name键所对应的值为Jack,所以map大小为1

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

public class Test {public static void main(String[] args) {   Object o = new Object() {  public boolean equals(Object obj) {  return true; }};   System.out.println(o.equals("Fred"));}
}

答案:

解析:

上述代码中重写了equals方法,方法接收参数直接返回true,不进行判断,所以选择B

9.代码片段:

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

答案:

解析:

在java中没有使用final修饰的变量会被自动转型,byte-->int,而使用了final修饰就不会被转型,所以b6=b4+b5;是正确的,而b3=(b1+b2); 由于b1,b2没有使用final修饰在运算过程中会被自动转型为int,结果为int类型,赋值给byte,大范围赋值给小范围变量会出现编译错误。

10.下面代码运行结果是()

public class Test{ public int add(int a,int b){   try {return a+b;      } catch (Exception e) {  System.out.println("catch语句块");}finally{ System.out.println("finally语句块");}return 0;} public static void main(String argv[]){ Test test =new Test(); System.out.println("和是:"+test.add(9, 34)); }
}

答案:

解析:

在try...catch...finally语句中,finally无论是否发生异常都会被执行,并且发生在return之前。

1.finally{}代码块比return先执行。
2.多个return是按顺序执行的的,多个return执行了一个后,后面的return就不会执行了。
3. 记住一点,不管有不有异常抛出, finally都会在return返回前执行。
11.以下情况下不一定出现TCP分节RST的情况是:
答案:

解析:

对于这个题目,没有仔细了解过TCP的RST重置的出现条件,下面是看他人给的解释,需要记一下(以下四种情况会发送RST包)

四种情况会发送RST包:
1、端口未打开
2、请求超时
3、提前关闭
4、在一个已关闭的socket上收到数据
12.一个数据库中现有A,B,C,D,E,F六个语句但目前这个数据库是不协调的,必须删除某些语句才能恢复数据库的协调性。已知:(1)如果保留语句A,那么必须保留语句B和C。(2)如果保留语句E,则必须同时删除语句D和语句C。(3)只有保留语句E,才能保留语句F。(4)语句A是重要的信息,不能删除。以上各项如果为真,则以下哪项一定为真?
答案:

解析:

这个题目是一个简单的逻辑题目,可以使用离散数学的知识,也可以直接推断一下即可

13.下列关于静态工厂和工厂方法表述错误的是:()

答案:

解析:

开闭原则:对扩展开放,对修改封闭。静态工厂增加需要是修改源代码,对修改不封闭,不符合开闭原则。

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

答案:

解析:

这个题目是由于不认真导致的,用尾减去头,加m的原因是防止尾大于头,(rear - front + m)% m

15.以下程序是用辗转相除法来计算两个非负数之间的最大公约数:

long long gcd(long long x,long long y){ if(y==0) return x; else return gcd(y,x%y);
}

答案:

解析:

辗转相除法时间复杂度为logn

16.计算斐波那契数列第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被调用的次数是:

答案:

解析:

C(0) = 1

C(1) = 1

C(2) = 1+1+1 = 3

c(3) =  3+1+1 = 5

c(4) =  5+3+1 = 9

...

c(9) =  67+41+1 =  109

c(10) = 109+67+1 = 177

17.设图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

答案:

解析:

图的邻接矩阵是一个长宽相等的矩阵,边长代表顶点的个数,矩阵中的1代表两点之间有边相连,矩阵中一共有16个1,所以只有8条边,因为1--2相连,那么2--1也一定相连,可以看一下数据结构就可以理解了。

小白创作,大佬勿喷,谢谢合作

转载于:https://www.cnblogs.com/PoorGuy/p/10384880.html

360集团2016JAVA研发工程师内推笔试题相关推荐

  1. 2018CVTE后台研发工程师内推笔试编程题2

    使用BFS的思想,遍历所有可能的分割情况,求出最接近的数字. 代码: import java.util.*;public class Main {public static void main(Str ...

  2. 完美世界运营培训生内推笔试题

    1.请选择两个不同游戏类别(如手游,页游,家用机游戏等),说明受众的异同点. 2.如果你在给老板做PPT演示的时候,突然弹出了不雅图片,你会怎么做? 3.你想知道A是否还是你的好友,但是又不能直接问他 ...

  3. 2016网易有道内推笔试题

    1. 洗牌 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descr ...

  4. 网易2017内推笔试题--小易老师的疯狂数列

    小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列.有一次,n个学生在列队的时候,小易老师正好去卫生间了.学生们终于有机会反击了,于是学生们决定来一次 ...

  5. 2019网易校招内推笔试题--苹果属于哪一堆

    题目描述 又到了丰收的季节,恰好小易去牛牛的果园里游玩. 牛牛常说他多整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛. 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第 ...

  6. 对于移动平均算法,是计算某变量之前n个数值的算术平均,正确的说法是:----腾讯2016研发工程师在线模拟笔试题

    对于移动平均算法,是计算某变量之前n个数值的算术平均,正确的说法是: 正确答案: A   你的答案: 空 (错误) 空间复杂度是O(l) 空间复杂度是O(n) 空间复杂度是O(logn) 空间复杂度是 ...

  7. 互联网公司招聘--奇虎360--研发工程师--2016年笔试题

    互联网公司招聘–奇虎360–研发工程师–2016年笔试题 互联网公司招聘–奇虎360–研发工程师–2016年笔试题 互联网公司招聘–奇虎360–研发工程师–2016年笔试题 1.正在挑战一个 Crac ...

  8. 2.2 华为-软件工程师-7.21笔试题

    文章目录 2.2 华为-软件工程师-7.21笔试题 2.2.1 编程一:资源占用 2.2.2 编程二:贪心+小根堆 2.2.3 编程三:图 2.2 华为-软件工程师-7.21笔试题 2.2.1 编程一 ...

  9. 2017年搜狐内推 面试题——谈谈面试中的算法

    转自:2017年搜狐内推 面试题--谈谈面试中的算法,保存在此以学习. 第一题:给你一个数组,其中有一个元素的个数大于数组总个数的一半,求出这个元素. 该同学的给出了方法一:先对数组排序,然后找到中间 ...

最新文章

  1. 让bind函数支持IE8浏览器的方法
  2. Struts2学习笔记(六):Struts2的处理流程与Action的管理方式
  3. 【世界杯自救指南】直播技术解密
  4. c#滚动条创建实例,多线程
  5. [NOIP2015提高组]运输计划
  6. python按月分组_python-将行按两列分组并通过比较过滤值
  7. Python字符串详解(包含长字符串和原始字符串)
  8. java怎么安装_Java桌面应用程序篇:发展历史以及程序的应用
  9. Android下写一个永远不会被KILL掉的进程/服务
  10. 30 校准_机会难得校准实验室认可培训别再错过
  11. echart 表格_市政工程表格不会填?市政工程1000个表格模板,一键即可套用
  12. 风变编程python离线版_如何看待风变编程的Python网课
  13. 怎么恢复电脑的无线网服务器,电脑搜不到无线网络怎么恢复|电脑搜不到无线网络的恢复方法...
  14. 遥感影像中常用的目标检测数据集
  15. 《GCAMatting:Natural Image Matting via Guided Contextual Attention》
  16. 软件测试能干到多少岁,老了怎么办?
  17. stm32 HAL 重映射
  18. 十大免费教程资源帮助新手快速学习JavaScript
  19. 搞定调度算法只需三分钟
  20. supervisor 使用

热门文章

  1. 93450C光驱刷机
  2. RESTful风格的SSM框架搭建
  3. python界面颜色-python界面颜色
  4. SQL多表联合查询(交叉连接,内连接,外连接)
  5. Azure 深入浅出[3]: 如何在MS Visio里面画专业的Azure技术架构图?
  6. linux查看文件夹大小,ls-l显示不正确
  7. 设计一个按照时间片轮转法实现处理机调度的程序
  8. VGA显示彩条和图片(FPGA)
  9. AVAudioplayer时error解决 创建失败
  10. 【LabVIEW FPGA图形化】 ngc、edf网表文件的编写:LED流水灯