Android面试题集合 阿里+腾讯SNG+今日头条+小米
2019-03-05 本文已影响34人
881ef7b85f62
今日头条(一面)
头条是我第一家面试的公司,准备的不够好,问的问题很全面,回答的有点僵,最后给拒了T_T
- Activity正常和异常情况下的生命周期
- Activity的四种启动模式
- app如何保证后台服务不被杀死
- IntentService比Service好在哪
- 如何优雅的展示Bitmap大图
- Retrofit使用的注解是哪种注解?以及,注解的底层实现是怎样的
- Thread和HandlerThread区别
- 关于< include >< merge >< stub >三者的使用场景
- Java是值传递还是引用传递
- final和static关键字的区别
- HashSet和HashMap的区别
- 深拷贝和浅拷贝的区别
- clone()的默认实现是深拷贝还是浅拷贝?如何让clone()实现深拷贝?
- 动态代理和静态代理
- 算法题:求二叉树第n层节点数
- JVM的内存分布及垃圾回收机制
腾讯SNG(一二面)
一面很简单,二面问的特别深,而且面试官好凶Orz
- 对Android消息机制的理解
- Java有哪几种创建新线程的方法及区别
- static修饰的方法可以被子类重写吗?为什么?
- 如何优化一个ListView?
- 哪些情况会导致OOM?
- 如何监测内存泄露?有哪些工具?
- 用leak工具监测内存泄露的原理是什么?
小米(一二面)
一面问的很详细,二面也很深入,面试官态度也超好~
- ThreadLocal的理解
- HashMap HashSet HashTable的区别?
- 如何让HashMap可以线程安全?
- Android对HashMap做了优化后推出的新的容器类是什么?
- Java多线程之间如何通信
- 线程池的实现机制
- RxJava中map和flatmap操作符的区别及底层实现
- 对消息机制中Looper的理解)
- Integer类对int的优化
- 单例模式有哪些实现方式
- 通过静态内部类实现单例模式有哪些优点
- synchronized volatile关键字有什么区别?以及还有哪些同样功能的关键字
- 算法题:两个有序链表合并
- 界面卡顿的原因有哪些?
- 造成OOM/ANR 的原因?
- Activity与Fragment生命周期有何联系
- Activity与Fragment之间如何进行通信?
- RecyclerView与ListView缓存机制的不同
阿里
- 操作系统进程间通信有哪些方法
- 谈谈对Socket的理解
- 不同架构的机器有何不同(如x86等)
- TCP/UDP比较
- 什么时候会发生死锁
- 操作系统层面上,线程可以加哪些锁
- 算法题:求无序数组中的中位数
- 二叉树深度算法
- android什么情况下会发生内存泄露
- 栈在系统中的方向是怎样的?为什么?
关于这些面试题的详解,以及更多不同水平阶段,不同专题的面试题加答案,我这里都有整理分类的文档。并且还有系统的进阶学习视频资料,免费分享给大家。希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。有需求的可以私信我或直接加入我们技术交流群:936903570 期待你的加入