阿里校园招聘2017编程题
- hotspot是sun jdk默认虚拟机,堆内存结构主要分为新生代、老年代,新生代包含Eden空间、From Survivor空间、To Survivor空间。用JAVA程序模拟实现hotspot虚拟机的堆内存结构并且实现两个方法:
方法1:模拟实现创建一个新对象后堆内存分配过程
方法2:模拟实现垃圾回收过程(垃圾回收按分代回收算法,实现新生代和老年代的垃圾回收过程)
最后写一个主函数,通过调用方法1,从而触发方法2
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|____Emaven在打包过程中会把依赖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.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中描述的混合存储特点,请用文字描述该系统的设计思路。设计思路可以包括但不限于文件在磁盘中的分布,文件在不同磁盘类型中的迁移规则,访问规则。
阿里校园招聘2017编程题相关推荐
- 搜狗2016校园招聘之编程题解析-大数据开发
搜狗2016校园招聘之编程题解析-大数据开发 解题思路: 使用JDK中的Point2D类,该类定义了坐标系空间中的一个点 Point2D是一个抽象类,但是在该类内部定义了静态的Double类,并且Do ...
- 奇虎360_2017校园招聘笔试编程题第一题
今晚做了360的校招笔试题,编程题难度适中,在这里跟大家分享一下编程题的第一题. 1. 题目 2. 输入输出及样例 3. 我的思路 这题应该看题目理解一下就有思路,最简单粗暴的就是创建一个二维数组in ...
- 奇虎360_2017校园招聘笔试编程题第二题
今晚做了360的校招笔试题,编程题难度适中,在这里跟大家分享一下编程题的第二题.第二道题也不难想到思路,但是如果写法不当,可能无法满足题目的时间限制. 1. 题目 2. 输入输出及样例 3. 我的思路 ...
- 魔法王国java_网易2018校园招聘面试编程题真题与参考答案集合
[编程题] 魔法币 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1: ...
- 腾讯2021校园招聘技术类编程题汇总
第一题 代码: '''author: 'Qingmang'data: "2022/9/8 16:26"email: "1107438760@qq.com" '' ...
- 奇虎360 2015校园招聘笔试编程题
题目一: 写一个函数,根据两文件的绝对路径算出相对路径. 如a="/qihoo/app/a/b/c/d/new.c",b="/qihoo/app/1/2/test.c&q ...
- 商汤科技 2019校园招聘笔试编程题-2018.09.07
本来阿里和商汤冲突了,就放弃了阿里的劝退型笔试,结果,商汤也劝退,只发一下题目做参考吧!知道题解的同学可以在评论区粘上链接,我会随时更新并加以感谢的.
- 腾讯2020校园招聘-后台 编程题
小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S](m为一个整数且1&l ...
- 滴滴 2019校园招聘笔试编程题-2018.09.18
输入: slep slap sleep step shoe shop snap slep 输出: slep slap step 代码是交卷后写出来的,没有经过测试,不知道是否能够AC 利用DP求出每个 ...
最新文章
- 计算机组成原理ppt免费,计算机组成原理(白中英)第二章1.ppt
- ilm 和dlm差异_电力通信系统--加密芯片.pdf
- mybatis实现多对多
- 硬盘结构及硬盘错误的解决方法(一)
- java tomcat自动安装教程_Tomcat:基础安装和使用教程
- python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比
- [转帖]ISE与Modelsim联合观察中间信号
- Linux求100内的质数,用SQL计算100以内的质数
- Python cannot import name 'Line' from 'pyecharts'
- fcntl函数的用法总结
- Linux与网络基础知识
- 评分卡模型分数转换整个流程
- [转]论window和Linux之长短
- 微信小程序 身份证号码验证 15/18位身份证号码验证的正则表达式总结(详细版)
- Matlab——常用函数的用法总结(部分直接摘自mathwork,持续更新)
- arcgis导入坐标点转面_点数据转成Arcgis线、面文件
- Binomial Heap
- 电子签名工具 SignatureTool
- (艾迪茉莉转圈圈~~找最小环)Circular Sequence UVA - 1584
- 小程序组件Painter的使用心得