CETV一面:40分钟

1)项目问得多,问功能,代码有哪些亮点,怎么实现侧滑菜单的 等等。

2)java的引用是有什么作用

3)引用是什么,分别有哪几种,描述下他们的区别,弱引用用在什么地方。

4)熟悉的设计模式,单例模式怎么实现,这种模式用在什么地方

5)android的四大组件

6)fragment的生命周期,

7)内存泄露和内存溢出什么区别:http://blog.csdn.net/buutterfly/article/details/6617375,结果memory leak会最终会导致out of memory

8)写代码:给两个字符A和B,打印B在A中出现的次数

9)对于他们公司,有什么需要问的

3)、有没有使用过Android的开源库,或者开源控件Image-LoaderokhttpSlidingMenuvolleyVolley是针对数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。http://blog.csdn.net/fenghai22/article/details/44061307

(1)volley框架看过没,讲下框架原理和源码

(2)android动态打补丁如何操作

(3)如何做到实时推送,答的是长连接,发送心跳包,维持service,守护进程来保持service不被杀死

(4)了解过html5和hybird混合开发没

(5)讲下RXJAVA吧

阿里巴巴一面(2016.3.17)

1)如何开启多个网络异步请求

2线程池内线程的数量如何确定

3说说OKHTTP的实现

4UIM的实现

5如何学习android

6前沿技术

7完全二叉树、满二叉树、平衡二叉树的区别

8arraylist与hashmap的底层实现

9converview一些知识点

(10)oom如何发现

(11)handler出现oom如何解决handle设为态类和弱引用的方法解决这种问题在关闭Activity的时候停掉你的后台线程https://my.oschina.net/rengwuxian/blog/181449

(12)页式管理和段页式管理出现缺页情况怎么办


蘑菇街一面(2016.3.18)——蘑菇街忘了很多

(1)介绍自己和项目

(2)在项目中遇到的问题如何解决

(3)UIM的实现

(4)几个算法题:给个链表,寻找倒数第K个节点;给一个升序数组和数值,找到数组内的两个数值相加等于给定数值

5tcp和udp什么区别



CVTE一面(2016.3.21)

1介绍一下自己最满意的项目

2讲一下mvp,mvp和mvc区别http://blog.csdn.net/gjnm820/article/details/51733361

3讲一下用过的开源项目,说一下如何实现

4设计模式

(5)Asynctask实现使用AsyncTask类,以下是几条必须遵守的准则:Task的实例必须在UI thread中创建;execute方法必须在UI thread中调用;不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法;该task只能被执行一次,否则多次调用时将会出现异常;http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html

(6)线程池如何使用

(7)如何实现多进程,进程间如何通信,具体讲一下:进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,简而言之,一个程序至少有一个进程,一个进程至少有一个线程.但是线程不能够独立执行,必须依存在应用程序中

(8)surfaceView:surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面。

(9)如何进行界面优化减少界面刷新次数,把io操作从主线程中剥离出来。

(10)如何实现缓存对象序列化到本地

(11)三分钟写一个算法:给一句话the sky is blue实现逆转 blue is sky the

来一发美团的Android实习内推面经吧。

一面:

1、Activity的生命周期

2、onSaveInstanceState和onRestoreInstanceState调用的过程和时机,onNewIntent方法:当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。http://android.blog.51cto.com/268543/634646/,singleTop:
可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。

3、fragment的生命周期,和Activity如何进行通信:通过回调方式来进行通信。在fragment中添加一个接口,activity中实现这个接口,当在fragment中点击事件的时候,调用接口实例,传递参数给activity这样就实现了fragment传递数据给activity。http://blog.csdn.net/guozh/article/details/25327685

4、Android的事件分发机制,ACTION_DOWN和后续事件如何消耗

5、Activity的启动方式:四种启动方式:standard,singleTop,singleTask,singleInstance::http://blog.csdn.net/shinay/article/details/7898492

6、View的绘制流程,MeasureSpec如何工作,父的MeasureSpec和自己的LayoutParams

7、广播的两种注册方式

8、数据 库如何升级(懵逼)

9、Handler Looper的使用方式,实现机制,设计的原因

10、HandlerThread有没有了解(很神奇的我完全忘了当时是怎么答的了)

11、ThreadLocal是干嘛的,使用的地方

12、软引用和弱引用,虚引用的区别:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。而软引用是指只有内存不足时才会回收软引用对象。虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收。

13、熟悉哪些设计模式

14、Sqlite的一些问题

15、Activity A调用Activity B时,A调用什么函数(onPause)

然后说让我等通知,然后10分钟就打过来约二面。。。

更多相关文章

  1. Android学习笔记(三一):线程:Message和Runnable
  2. Linux上杀死eclipse进程
  3. android多线程数据存储 - ThreadLocal的工作原理
  4. java基础---多线程---java内存模型
  5. java 使用Callable和Future返回线程执行的结果
  6. Java多线程聊天对话框
  7. Android 多线程下载文件原理霸气解析介绍 (完结版)-----greendao
  8. Java多线程六:线程优先级和yield()让步函数
  9. java多线程爬虫

随机推荐

  1. Android系列之Message机制的灵活应用
  2. [原]Android有用代码片断(六)
  3. Android(安卓)EditText 自定义带删除按钮
  4. 14、NFC技术:使用Android Beam技术传输文
  5. Android彻底组件化—如何使用Arouter
  6. Android+JavaEE实现登录注册(2)——Android
  7. Android自定义view中的layout()
  8. 【转】Android新手入门 FAQ
  9. Android学习路线总结,绝对干货
  10. Android(安卓)使用 HTTPS