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

简介:

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

一、单项选择题

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.

原文地址http://www.bieryun.com/1709.html

相关文章
|
3月前
|
SQL Java 数据库连接
java 校招需要准备哪些内容及关键要点解析
这是一篇针对Java校招准备的详细指南,涵盖六大核心板块:扎实的Java基础知识(如数据类型、面向对象编程、集合框架)、数据库相关知识(SQL操作与管理工具)、Java开发框架(Spring、Spring Boot、MyBatis)、其他重要知识(多线程编程、网络编程、数据结构与算法)、项目经验准备以及面试技巧。文章结合技术方案与应用实例,帮助应届生全面掌握校招所需技能,从理论到实践全面提升竞争力。资源地址:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
100 1
|
3月前
|
算法 Java 关系型数据库
校招 Java 面试基础题目解析及学习指南含新技术实操要点
本指南聚焦校招Java面试,涵盖Java 8+新特性、多线程与并发、集合与泛型改进及实操项目。内容包括Lambda表达式、Stream API、Optional类、CompletableFuture异步编程、ReentrantLock与Condition、局部变量类型推断(var)、文本块、模块化系统等。通过在线书店系统项目,实践Java核心技术,如书籍管理、用户管理和订单管理,结合Lambda、Stream、CompletableFuture等特性。附带资源链接,助你掌握最新技术,应对面试挑战。
86 2
|
3月前
|
存储 算法 Java
校招 java 面试基础题目及解析
本文围绕Java校招面试基础题目展开,涵盖平台无关性、面向对象特性(封装、继承、多态)、数据类型、关键字(static、final)、方法相关(重载与覆盖)、流程控制语句、数组与集合、异常处理等核心知识点。通过概念阐述和代码示例,帮助求职者深入理解并掌握Java基础知识,为校招面试做好充分准备。文末还提供了专项练习建议及资源链接,助力提升实战能力。
124 0
|
3月前
|
搜索推荐 算法 Java
2025 年互联网大厂校园招聘 JAVA 工程师笔试题及备考要点解析
本文针对互联网大厂校招Java工程师笔试题进行解析,涵盖基础知识、面向对象编程、数据结构与算法、异常处理及集合框架等核心内容。从数据类型、运算符到流程控制语句,从类与对象、继承多态到数组链表、排序算法,再到异常捕获与集合框架应用,结合实际案例深入剖析,助你系统掌握考点,提升应试能力。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
161 9
|
3月前
|
SQL Java 数据库连接
阿里腾讯互联网公司校招 Java 面试题总结及答案解析
本文总结了阿里巴巴和腾讯等互联网大厂的Java校招面试题及答案,涵盖Java基础、多线程、集合框架、数据库、Spring与MyBatis框架等内容。从数据类型、面向对象特性到异常处理,从线程安全到SQL优化,再到IOC原理与MyBatis结果封装,全面梳理常见考点。通过详细解析,帮助求职者系统掌握Java核心知识,为校招做好充分准备。资源链接:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
104 2
|
3月前
|
Java 数据库连接 API
互联网大厂校招 JAVA 工程师笔试题解析及常见考点分析
本文深入解析互联网大厂校招Java工程师笔试题,涵盖基础知识(数据类型、流程控制)、面向对象编程(类与对象、继承与多态)、数据结构与算法(数组、链表、排序算法)、异常处理、集合框架、Java 8+新特性(Lambda表达式、Stream API)、多线程与并发、IO与NIO、数据库操作(JDBC、ORM框架MyBatis)及Spring框架基础(IoC、DI、AOP)。通过技术方案讲解与实例演示,助你掌握核心考点,提升解题能力。
170 2
|
3月前
|
设计模式 算法 Java
2025 春季校招 Java 研发笔试题详细解析及高效学习指南
本指南专为2025春季校招Java研发岗位笔试设计,涵盖Java 17+新特性(如模式匹配、文本块、记录类和密封类)、现代技术栈(Spring Boot 3、响应式编程、Stream API增强)以及算法与数据结构实战。同时深入解析Spring Data JPA、事务管理、性能优化等内容,并结合实际案例讲解常见算法题解与设计模式应用。资源包含核心知识点、面试题及笔试技巧,助力高效备考。下载地址:[链接](https://pan.quark.cn/s/14fcf913bae6)。
87 1
|
3月前
|
存储 算法 NoSQL
2025 春季校招 java 研发岗位笔试题及相关内容
这份指南针对2025春季校招Java研发岗位,系统梳理了笔试核心知识点。内容涵盖Java基础(关键字、数据类型、循环与条件判断)、集合框架(List、Set、Map)、多线程(创建、同步、休眠与等待)以及异常处理(类型与机制)。通过典型例题解析与实践指导,帮助求职者掌握解题思路,提升编程能力,为成功通过校招笔试奠定基础。资源链接:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)
135 0
|
3月前
|
Java 关系型数据库 MySQL
2025 年互联网公司校招 Java 面试题总结及答案实操示例解析
本项目基于Spring Boot 3与Java 17技术栈,围绕校园招聘常见面试题,提供核心知识点的实操示例。涵盖多线程、RESTful API设计、数据库操作(Spring Data JPA)、事务管理及异常处理等。通过完整代码实现与运行步骤,帮助理解用户管理、线程池配置等实际应用场景。资源包含项目结构、关键代码示例(如User实体类、UserService服务层、ThreadService多线程实现)及数据库迁移脚本,适合深入学习与实践。环境要求:JDK 17+、Maven 3.8+、MySQL 8.0+。
153 3
|
3月前
|
存储 设计模式 算法
校招 Java 面试常见知识点汇总及备考指南
本文全面解析校招Java面试常见知识点,涵盖Java基础、集合框架、多线程并发、JVM等内容。从面向对象特性(封装、继承、多态)到数据类型与包装类,再到字符串处理和关键字用法,逐一剖析。集合框架部分深入讲解List、Set、Map接口及其常用实现类的特性和应用场景。多线程章节探讨线程创建、同步机制及线程池的使用。JVM部分聚焦内存区域、垃圾回收机制和类加载过程。结合实际案例,助你轻松应对校招面试!资源地址:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
103 0