2014金山软件实习生招聘Android笔试题

 一、请用伪代码描述,在Android系统上启动和停止Service有哪些方法,并说明这些方法导致Service的生命周期有何不同?


  二、输入一个正整数 X,以2*X,4*X,8*X的方式递增,当大于10000时,再倒叙输出已经输出的整数。【要求:不得使用循环和其他任何变量(包含局部变量)辅助】

  比如 X= 2468,输出结果为:

  2468,4936,9872,19744,19744,9872,4936,2468


  三、有两个字符串由不同的字母组成,一长一短,长的为A,短的为B。设计一个算法,如果所有在B中出现的字符都在A中出现,则返回true,否则返回false。假设A的长度为m,B的长度为n,要求算法时间复杂度不能大于O(m+n)。


  四、实现如下工作者类IKWorker,调用者通过调用AddJob将Runnable类型的job提交给IKWorker,IKWorker负责异步执行所有提交过来的job。【要求:尽量高效,不得使用系统的线程池】


public interface IKWorker{

  public boolean Start();

  public void AddJob(Runnable job);

  public boolean Stop();

  }



  五、在Android手机中实现一个App,用来做文件下载,可在App界面新增,暂停和取消下载文件及展示下载过程中的进度,同时要保证Activity退出时后台仍然能再下载。当界面启动时还可以显示正在下载的文件及进度。【要求:写出实现此App的设计思想,尽量易懂,简洁】


  六、系统/sdcard/目录下有很多张图片,现需要一activity通过缩略图的方式浏览所有图片,在设计中体现对一下三点的处理:

  A.不能分页显示,所有图片显示在一页

  B.要体现对ANR的处理

  C.要体现对OOM的处理

  请写出此Activity的设计思路


  七、在Android中两个进程之间传输大数据,可以使用什么方式实现?这些方式中哪种方式最高效?说明原因。


个人资料
bjchenli
等级:8
文章:260篇
访问:22.0w
排名: 3
推荐圈子
上一篇: 2016网易Java研发笔试题(附答案)
下一篇:迅雷2014校园招聘笔试题
猜你感兴趣的圈子:
IT校招圈
标签: ikworker、addjob、下载、activity、job、面试题
隐藏