您的位置:首页 > 职场人生

中国移动手机阅读基地社会招聘笔试面试全过程

2015-09-05 11:05 746 查看
起初,参加的是VIVA的面试,经历了两轮面试,第一轮是技术面,有两个技术面试官面试,面试内容为JAVA和安卓的基础以及一些项目相关,第二轮是技术总监面,面试的内容主要是如何解决他们产品出现的某个问题。两轮面试过后,第二天接到电话,公司内部决定将我转交给咪咕的人事,给我中移动的正式编制名额,但需要重新走咪咕自己的面试流程,也就是给我增加一轮笔试。在接下来的周一我参加了咪咕公司的安卓笔试,周五收到短信让我下周一去参加终面。于是,到了周一,早上5点半便乘车赶往基地参加最终的终面,终面是6个面试官6个候选人的群面形式。终面结束,让6个候选人统一进入一个小会议室做一份行政逻辑测试卷,大概40分钟后交卷,之后进入漫长的面试结果等待。半小时后,hr进来宣布结果,我第二个被叫到名字,看来这几天的时间没有白费。

一、第一轮技术面

1、runnable和thread的区别?
可见, 实现Runnable接口相对于继承Thread类来说,有如下显著的好处:

(1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想。

(2)可以避免由于Java的单继承特性带来的局限。我们经常碰到这样一种情况,即当我们要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么,这个类就只能采用实现Runnable接口的方式了。

(3)有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程操作相同的数据,与它们的代码无关。当共享访问相同的对象是,即它们共享相同的数据。当线程被构造时,需要的代码和数据通过一个对象作为构造函数实参传递进去,这个对象就是一个实现了Runnable接口的类的实例。
2、内存泄露的本质原因是什么?一个普通对象会有可能出现内存泄露吗,举个例子?
内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。
普通对象也有可能出现内存泄露,比如单例对象持有外部对象的引用。 http://blog.csdn.net/seelye/article/details/8269705 3、你在你项目中遇到过的难点是什么?
4、public class ExceptionFinallyTest {

/**
* @param args
*/
public static void main(String[] args) {
System.out.println(getValue());
}

public static int getValue() {
try {
throw new NullPointerException();
} catch (Exception e) {
e.printStackTrace();
return 2;
} finally {
return 3;
}
}
}
最终return返回的是什么?
解答:
return 3,无论如何,finally里面的代码块都会 执行,多个return时,返回的是finally里的。
5、finalize在什么时候调用,在该对象被回收前,还是回收后,还是回收时?
当对象被垃圾回收时候,由垃圾搜集器调用
6、使用过查看程序的性能的工具吗,比如DDMS和TraceView?

TraceView
7、handler机制

8、你所做的项目的首页的瀑布流会不会出现卡顿的情况,你是怎么解决的?

二、第二轮技术总监面

总监给我看一个他们已经上线了的app,他给我演示一个功能——主界面左上方点击一个按钮,类似QQ点击左上方头像跳转到一个新的页面,然后点击新的页面的右上角的按钮切换回主界面,这样来回切换多次,问我有没有看出什么问题?

我实在是没看出有什么问题,他让我亲自测试一下,试了几次后发现非主机面的那个按钮有时候点击会失灵,虽然几率不高,但有时候会出现。

发现了问题后,总监问我出现这个问题的原因是什么,该如何解决?

当时我从两方面来分析这个问题。

1、非常直观的认为,右上角这个按钮的点击区域太小。但按下去后发现点击区域很大,可以保证每次都能点击到。所以这个原因被排除。

2、通过安卓的触摸事件分发机制来分析。仍然不对。

3、点击事件和切换事件冲突,这有些道理,但具体原因还需要调试才能发现和解决。

离别前,总监说回去再好好想想,如果知道解决方案了可以随时给他打电话。这么一说,我感觉应该是过了。。

三、咪咕笔试

笔试题目不难,而且很多题目是网上有的,是一份安卓常见题目的考察。这里列出一些易错的题目(事实上是自己做错的题目)。。。

1、在SQL Server Management Studio 中运行下列T-SQL语句,其输出值(c)。 SELECT @@IDENTITY

  A、 可能为0.1

  B、 可能为3

  C、 不可能为-100

  D、 肯定为0

2、下面是属于GLSurFaceView特性的是(abc)(多选) A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图

  view上。

  B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。

  C、让渲染器在独立的线程里运作,和UI线程分离。

  D、可以直接从内存或者DMA等硬件接口取得图像数据

3、关于ContenValues类说法正确的是(a) A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的

  名是String类型,而值都是基本类型

  B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的

  名是任意类型,而值都是基本类型

  C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的

  名,可以为空,而值都是String类型

  D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中

  的名是String类型,而值也是String类型

4、在如下情况下,Android会报出ANR错误:

– 主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件

– BroadcastReceiver 没有在10秒内完成返回

5、下面是面向对象特性的是?(ABCD)

A、重写 B、重载 C、封装 D、继承

因为AB反映的是多态性

6、Android 5.0 系统使用一种新的Material Design 设计风格。从图片上就能看到一些全新的设计。从图片上看,这套设计图对 Android 系统的桌面图标及部件的透明度进行的稍稍的调整,并且各种桌面小部件也可以重叠摆放。虽然调整桌面部件透明度对 Android 系统来说并不算什么新鲜的功能,但是加入了透明度的改进。

四、终面

1、自我介绍,我被问到了自己的一个项目的问题,看来国企的人对这种新颖的产品都比较感兴趣。

2、单独提问,我没被问到,感觉被忽视了。。。

3、集体提问,其中一个面试官提了这么一个问题——在评论模块,如果网络不好,怎么才能让用户获取及时的数据,可从服务器端和客户端考虑。

4、“梦想导师”环节,四个问题:你的梦想是什么?你如何平衡工作和生活?你的家庭环境怎么样?你的兴趣爱好是什么?

五、行政逻辑测试

题目很难,题量不小,时间很紧。个人感觉这个环节完全是走个形式,大家都考的很差,不能体现出能力和实力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: