比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

JAVA校招笔试题(JAVA研发岗)

JAVA校招笔试题(JAVA研发岗)http://www.bieryun.com/1709.html

一、单项选择题

1. A、B、C三个同学头上分别有三个数字a、b、c,他们看不到自己头上的数字,但可以看到其他两人的。比如B同学能看到a、c,但看不到b。已知1<=a,b,c<=9,并且各不相等。A、B、C三个人以此进行了如下发言:

A说:要么a不是b+c的约数,要么a=b+c

B说:我知道我头上数字了,c是a的倍数

C说:我也知道我头上数字了

那么a+b+c是_____。

A. 8

B. 9

C. 10

D. 11

E. 12

F. 7

 

3. 众所周知我们所处的宇宙的质能公式是E=mc2,其中c是真空中的光速,和我们的宇宙平行的另一个宇宙meta,研究显示他们使用的质能公式是E=(2+√3)m,当一个物体质量m很大的时候,对应的能量E非常大,数据也非常的长,但meta宇宙里面的智慧生物只愿意把E取整,然后记录对应的能量E的最后一位整数,比如m=0时,他们会记录1,m=1时,他们会记录3。m=2的时候,他们会记录3。现在请问当m=100时,他们会记录多少?

A. 1

B. 2

C. 3

D. 4

E. 5

F. 6

 

4. 下列关于进程间通信的说法中错误的是:

A. 可以通过网络进行进程间通信

B. 信号量也可以用作进程间通信

C. 在Linux中则只能用管道做进程通信

D. 通过return返回值也可以在进程间通信

E. 在进程间共享一块内存可以做通信

F. 进程间通信效率通常比网络通信效率高

 

6. 多项式P(x)=a+bx+cx^2+dx^3

对于任意x,计算p(x)中最少需要用到乘法操作的次数是多少?

A. 3

B. 4

C. 5

D. 6

E. 1

F. 2

 

 

7. 甲乙两个人对赌,甲估计自己赢的概率为1/3,乙估计自己赢的概率为2/5,实际上双方赢的概率各为1/2。甲乙二人都知道双方各自估计的赢的概率,但并不清楚实际上赢的概率。甲乙两人同时亮出筹码,如果某一方觉得对方筹码太少可以退出游戏,获胜的人会赢取双方所处的筹码。以下命题中正确的是:

A. 甲赢钱的期望大于0

B. 乙赢钱的期望大于0

C. 不管双方各自估计自己赢的概率是多少,甲乙二人赢钱的期望都等于0

D. 甲乙两人赢钱的期望都小于0

E. 甲乙两人赢钱的期望都大于0

F. 甲乙二人必然会至少有一人退出比赛

 

16. 同时掷4个骰子,数字加起来和为22的概率为x/1296,x的值为?

A. 7

B. 8

C. 9

D. 10

E. 11

F. 12

 

17. 一个机器人玩抛硬币游戏,一直不停的抛一枚不均匀的硬币,硬币有A、B两面,A面概率为2/3,B面概率为1/3,问第一次出现连续的两个A面的时候,机器人抛硬币的次数的期望是多少?

A. 9/4

B. 11/4

C. 15/4

D. 4

E. 5

F. 9/5

 

18. 在一个二分类学习案例中,正负样本分别为10万和100万,这些样本中有5000个特征完全相同的正样本和负样本对,小张同学将这些样本对从样本集中删除。以下说法正确的是:

A. 由于删除的样本对特征相同,分类相反,因此可以完全抵消,训练出的模型不变。

B. 由于负样本较多,因此删除后负样本被错分到正样本的比例升高。

C. 这个做法可以显著降低运算量,因此可取

D. 这样只去除样本对中的负样本,效果可能更好

E. 样本的变更对于分类结果的比例影响可以忽略不计。

F. 以上答案都不对。

 

19. 在Android客户端中编码中,以下哪个行为是必要的:

A. bitmap使用后立即调用recycle方法

B. 在页面activity类的finalize方法中注销广播的监听

C. 在activity的onDestory方法中将成员变量值置为null

D. 在使用aidl接口时自己控制多线程安全

E. 在内部类增加public修饰符

F. 页面布局xml文件名和对应的Activity类名需相同

 

20. 以下是求一个数组最大值的代码,它的运算最差时间复杂度和最差空间复杂度是____

 

int Max(int arr[], int length)

{

if(length == 1){

return arr[0];

}

int mid=length/2;

int left=Max(arr,mid);

int right=Max(arr+mid,length-mid);

return (left>right?left:right);

}

 

A. 时间复杂度:O(n),空间复杂度:O(1)

B. 时间复杂度:O(n),空间复杂度:O(log(n))

C. 时间复杂度:O(n*log(n)),空间复杂度:O(1)

 

二、问答题

1、www.abc.com是一个视频点播网站,Arbergo是一个基础存储系统,它为该视频网站提供了基础服务描述如下:

该系统存储了全部需要下载的文件,并提供JAVA接口用于视频文件下载

接口允许指定1到n个文件名下载多个文件

接口返回的文件内容支持分片,例如file.part1,file.part2

接口定义时需考虑到异常情况

接口支持按照指定文件区间下载,例如,下载file1的第101个字节到文件末尾,下载file2的第1个字节到第100个字节。

该系统实现了基于SATA硬盘和SSD硬盘的混合存储。混合存储的特点是SATA硬盘的存储空间更大,但访问速度更慢,SSD硬盘存储空间较小,但访问速度更快。文件在两种磁盘类型中可以迁移。

 

问题1:请用java语言完成该系统中描述的对外提供的接口定义,并用注释说明该接口各个参数的含义以及取值范围。

问题2:针对Arbergo系统在#6中描述的混合存储特点,请用文字描述该系统的设计思路。设计思路可以包括但不限于文件在磁盘中的分布,文件在不同磁盘类型中的迁移规则,访问规则。

 

 

2、Maven的一个核心特征是依赖管理。他通过读取依赖项目文件(pom.xml中)来发现所有需要依赖的库。pom.xml中maven依赖定义类似:

<dependency>

<groupid>org.springframework</groupid>

<artifactid>spring-core</artifactid>

<version>3.1.2.RELEASE</version>

</dependency>

<dependency>

<groupid>commons-collections</groupid>

<artifactid>commons-collections</artifactid>

<version>3.2.1</version>

</dependency>

其中每个artifactid又有自己的pom.xml,里面也有类似的依赖定义。

 

比如有一个java库A,依赖于其他库B,我们的项目引用A的时候,很可能也需要把B引入进来,maven就提供了这样的功能,可以管理各种间接的依赖。举个例子:一个项目依赖了A,B两个库,A又依赖了C,D,其中D又依赖了F;B依赖了E,他们的依赖树大概是这样的:

项目___|____A

|   |_____C

|   |_____D

|    |_____F

|_____B

|_____E

maven在打包过程中会把依赖A,B,C,D,E,F都引入进来

 

但这个依赖很可能会有一些冲突的情况:

 

case1:我们在项目中分别引入了2个依赖A和B:A又依赖的C,C又依赖了D,B也依赖了D,但是这个时候C依赖的D和B依赖的D的版本是不同的:

项目—-A—C—-D

项目—-B—D

也就是说,当前项目引入了2次D依赖,那么这时,Maven将采用第一原则:路径最近原则

 

case2:我们在项目中分别引入了2个依赖A和B,而A和B又都引入了C。但是,此时A依赖的C和B依赖的C版本是不一致的,那么这个时候Maven如何处理呢?

这时,第一原则已经不起作用了,在Maven2.0.9之后的版本中,制定了第二原则:第一声明者优先

 

请尝试用java代码描述maven的依赖关系建立过程,注意只能使用基本类型和数值(如用到map,list,set等需要自行实现)。

 

 

 

3、hotspot是sun.jdk默认虚拟机,堆内存结构主要分为新生代、老年代,新生代包含Eden空间、From Survivor空间、To Survivor空间、用JAVA程序模拟实现hotspot虚拟机的堆内存结构并且实现两个方法:

方法1:模拟实现创建一个新对象后堆内存分配过程

方法2:模拟实现垃圾回收过程(垃圾回收按分代回收算法,实现新生代和老年代的垃圾回收过程)

最后写一个主函数,通过调用方法1,从而出发方法2.

未经允许不得转载:比尔云 » JAVA校招笔试题(JAVA研发岗)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS