2017校招笔试汇总

"校招笔试汇总"

Posted by jhljx on September 11, 2016

目录

阿里秋招
阿里安卓岗

阿里秋招

1.已知E=mc^2,假设在另一星球E=(2+√3)^m,这个星球人特别懒,只保留E的个位数,当m=0时,个位为1,m=1时,个位为3,m=2时,个位为3,求m=80时,个位为多少?

2.有三个火堆,两个人1和2,每个人每次可以从火堆里去整数数量的柴火,1先取,只要有一堆火没灭,就必须执行取柴火的步骤,直到三个火堆去完,最后取柴火的人获胜,请问是否存在必胜策略,如果有,是怎样的?(选项里全都是2号的必胜策略,不知道1号有没有?)

3.一个机器人扔硬币,硬币不均匀,3/4可能A面,1/4可能B面,一直扔一直扔,扔到第一次连续出现两个A面,请问扔到这种情况要多少次(求期望)

4.一个机器人扔硬币,1/2可能A面,1/2可能B面,如果是A面,就翻转成B面,如果是B面,接着扔,请问扔了足够多的次数后,A面的比例是多少

5.阅读以下的代码片段

class Bar{Foo foo}
class Foo{Bar bar}
String a ="a";
String b ="b";
a=null;
Bar bar = new Bar();
Foo foo = new Foo();
bar.foo = foo;
foo.bar = bar;
System.gc();

请问调用System.gc()后回收情况?

再就是大题了,也是在牛客上做练习的时候完全没遇到过,直接懵逼了。

6.有一家新兴的直播网站,需要你为其定义一个java接口,需要实现如下功能:

  • 支持1-n个文件名下载多个文件
  • 支持异常处理
  • 支持文件分片,比如file1.part1, file1.part2
  • 支持指定区间的文件下载,比如文件A从第101个字节下载到文件结束,文件B从第1个字节下载到第100个字节

请写出接口的定义,包括其中返回值、参数的意义及取值范围

7.hotspot是一种虚拟机,其堆分为新生区和老年区,新生区有EDEN, FROM SURVIVOR, TO SURVIVOR三个区

  • 请模拟hotspot堆内存的结构
  • 模拟新建对象时堆内存的分配情况
  • (问的是模拟垃圾回收机制,时间比较紧,没细看)

关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是()?

  • 它负责接收HTTP请求
  • 加载配置文件
  • 实现业务操作
  • 初始化上下应用对象ApplicationContext

SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并把数据装入到request域,返回给用户。DiapatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据用户的请求返回相应的视图给用户。实现业务在service层,所以c答案错误

考察的是对MVC模式最基础的结构的理解,之所以web项目要用这种框架进行解耦,就是让各个组件“各司其职”,前端控制器DispatcherServlet就负责数据转发,数据的业务操作处理全部交给service层

阿里安卓岗

  1. 你了解的可能引起OOM的原因,以及解决方案
  2. 在android中用JAVA实现一个线程池。实现从尾端和首端插入,定义最大线程数
  3. 编程题:一个字符串,其中由字母和数字组成,求出字符串中出现次数最多的数字和和。例如“12xx1xx12”,出现最多的是12出现2次,结果就是24