您的位置:首页 >  新闻中心 > 行业动态
  行业动态
 

2017下半年,一二线互联网公司Android面试题汇总

来源:原创    时间:2017-10-17    浏览:0 次

转瞬就到了2017年10月,离2018就剩余几个月了,许多人估量正在换岗的路上,收拾一份Android高档开发工程师面试集锦,对照这些问题进行温习,将会事半功倍。废话不多说,直接上干货,由所以收拾于网络,就不标明原创,期望我们多多同享和转发给有需求的同学。
 
 
阿里巴巴
 
 
LRUCache原理
图片加载原理
模块化完成(优点,原因)
JVM
视频加密传输
核算发动时长,规范
怎样坚持运用的稳定性
ThreadLocal 原理
谈谈classloader
动态布局
热修正,插件化
HashMap源码,SpareArray原理
功能优化,怎样确保运用发动不卡顿
怎样去除重复代码
SP是进程同步的吗?有什么办法做到同步
介绍下SurfView
HashMap完成原理,ConcurrentHashMap 的完成原理
BroadcastReceiver,LocalBroadcastReceiver 差异
Bundle 机制
Handler 机制
android 事情传递机制
线程间 操作 List
App发动流程,从点击桌面开端
动态加载
类加载器
OSGI
Https恳求慢的处理办法,DNS,带着数据,直接拜访IP
GC收回战略
画出 Android 的大体架构图
描绘清点击 Android Studio 的 build 按钮后发生了什么
大体说清一个运用程序装置到手机上时发生了什么;
对 Dalvik、ART 虚拟机有根本的了解;
Android 上的 Inter-Process-Communication 跨进程通讯时怎样作业的;
App 是怎样沙箱化,为什么要这么做;
权限办理体系(底层的权限是怎样进行 grant 的)
进程和 Application 的生命周期;
体系发动流程 Zygote进程 –> SystemServer进程 –> 各种体系效劳 –> 运用进程
recycleview listview 的差异,功能
排序,快速排序的完成
树:B+树的介绍
图:有向无环图的解说
TCP/UDP的差异
synchronized与Lock的差异
volatile
Java线程池
Java中方针的生命周期
类加载机制
双亲派遣模型
Android事情分发机制
MVP形式
RxJava
抽象类和接口的差异
调集 Set完成 Hash 怎样避免磕碰
JVM 内存区域 开线程影响哪块内存
废物搜集机制 方针创立,重生代与老时代
二叉树 深度遍历与广度遍历
B树、B+树
音讯机制
进程调度
进程与线程
死锁
进程状况
JVM内存模型
并发调集了解哪些
ConCurrentHashMap完成
CAS介绍
敞开线程的三种办法,run()和start()办法差异
线程池
常用数据结构简介
判别环(猜想应该是链表环)
排序,堆排序完成
链表回转
腾讯
 
synchronized用法
volatile用法
动态权限适配计划,权限组的概念
网络恳求缓存处理,okhttp怎样处理网络缓存的
图片加载库相关,bitmap怎样处理大图,如一张30M的大图,怎样避免OOM
进程保活
listview图片加载紊乱的原理和处理计划
https相关,怎样验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解
 
滴滴
 
 
MVP
播送(动态注册和静态注册差异,有序播送和规范播送)
service生命周期
handler完成机制(许多细节需求重视:如线程怎样树立和退出音讯循环等等)
多线程(关于AsyncTask缺点引发的考虑)
数据库数据搬迁问题
规划形式相关(例如Android中哪里运用了观察者形式,单例形式相关)
x个苹果,一天只能吃一个、两个、或许三个,问多少天能够吃完
TCP与UDP差异与运用(三次握手和四次挥手)涉及到部分细节(如client怎样断定自己发送的音讯被server收到) HTTP相关 说到过Websocket 问了WebSocket相关以及与socket的差异
是否了解Android jni开发,jni怎样调用java层代码
进程间通讯的办法
java注解
核算一个view的嵌套层级
项目组件化的了解
多线程断点续传原理
Android体系为什么会规划ContentProvider,进程同享和线程安全问题
jvm相关
Android相关优化(如内存优化、网络优化、布局优化、电量优化、事务优化)
EventBus完成原理
美团
 
static synchronized 办法的多线程拜访和效果,同一个类里边两个synchronized办法,两个线程一起拜访的问题
内部类和静态内部类和匿名内部类,以及项目中的运用
handler发音讯给子线程,looper怎样发动
View事情传递
activity栈
封装view的时分怎样知道view的巨细
arraylist和linkedlist的差异,以及运用场景
怎样发动service,service和activity怎样进行数据交互
下拉状况栏是不是影响activity的生命周期,如果在onStop的时分做了网络恳求,onResume的时分怎样康复
view烘托
 
今天头条
 
数据结构中堆的概念,堆排序
死锁的概念,怎样避免死锁
ReentrantLock 、synchronized和volatile(n面)
HashMap
singleTask发动形式
用到的一些开源结构,介绍一个看过源码的,内部完成进程。
音讯机制完成
ReentrantLock的内部完成
App发动溃散反常捕捉
事情传递机制的介绍
ListView的优化
二叉树,给出根节点和方针节点,找出从根节点到方针节点的途径
形式MVP,MVC介绍
断点续传的完成
调集的接口和详细完成类,介绍
TreeMap详细完成
synchronized与ReentrantLock
手写生产者/消费者形式
逻辑地址与物理地址,为什么运用逻辑地址
一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,给出时刻复杂度、空间复杂度。手写算法
.Android进程分类
前台切换到后台,然后再回到前台,Activity生命周期回调办法。弹出Dialog,生命值周期回调办法。
Activity的发动形式
爱奇艺
 
RxJava的功能与原理完成
RecycleView的运用,原理,RecycleView优化
ANR的原因
四大组件
Service的敞开办法
Activity与Service通讯的办法
Activity之间的通讯办法
HashMap的完成,与HashSet的差异
JVM内存模型,内存区域
Java中同步运用的关键字,死锁
MVP形式
Java规划形式,观察者形式
Activity与Fragment之间生命周期比较
播送的运用场景
 百度
Bitmap 运用时分留意什么?
Oom 是否能够try catch ?
内存走漏怎样发生?
适配器形式,装饰者形式,外观形式的异同?
ANR 怎样发生?
String buffer 与string builder 的差异?
怎样确保线程安全?
java四中引证
Jni 用过么?
多进程场景遇见过么?
关于handler,在任何地方new handler 都是什么线程下
sqlite晋级,添加字段的句子
bitmap recycler 相关
强引证置为null,会不会被收回?
glide 运用什么缓存?
Glide 内存缓存怎样操控巨细?
怎样确保多线程读写文件的安全?
携程
 
Activity发动形式
播送的运用办法,场景
App中唤醒其他进程的完成办法
AndroidManifest的效果与了解
List,Set,Map的差异
HashSet与HashMap怎样判别调集元素重复
Java中内存区域与废物收回机制
EventBus效果,完成办法,替代EventBus的办法
Android中敞开摄像头的首要进程
网易
 
调集
concurrenthashmap
volatile
synchronized与Lock
Java线程池
wait/notify
NIO
废物搜集器
Activity生命周期
AlertDialog,popupWindow,Activity差异
小米
 
String 为什么要规划成不可变的?
fragment 各种情况下的生命周期
Activity 上有 Dialog 的时分按 home 键时的生命周期
反正屏切换的时分,Activity 各种情况下的生命周期
Application 和 Activity 的 context 方针的差异
序列化的效果,以及 Android 两种序列化的差异。
List 和 Map 的完成办法以及存储办法。
静态内部类的规划目的。
线程怎样封闭,以及怎样避免线程的内存走漏
360
 
软引证、弱引证差异
废物收回
多线程:怎样用、有什么问题要留意;Android线程有没有上限,然后说到线程池的上限
JVM
OOM,内存走漏
ANR怎样剖析处理
LinearLayout、RelativeLayout、FrameLayout的特性、运用场景
怎样完成Fragment的滑动
ViewPager运用细节,怎样设置成每次只初始化当时的Fragment,其他的不初始化
ListView重用的是什么
进程间通讯的机制
AIDL机制
AsyncTask机制
怎样撤销AsyncTask
序列化
Android为什么引进Parcelable
有没有测验简化Parcelable的运用
AIDL机制
项目:拉活怎样做的
运用装置进程
某海外直播公司
 
线程和进程的差异?
为什么要有线程,而不是仅仅用进程?
算法判别单链表成环与否?
怎样完成线程同步?
hashmap数据结构?
arraylist 与 linkedlist 异同?
object类的equal 和hashcode 办法重写,为什么?
hashmap怎样put数据(从hashmap源码视点解说)?
简述IPC?
fragment之间传递数据的办法?
简述tcp四次挥手?
threadlocal原理
内存走漏的可能原因?
用IDE怎样剖析内存走漏?
OOM的可能原因?
线程死锁的4个条件?
差值器&估值器
简述音讯机制相关
进程间通讯办法?
Binder相关?
接触事情的分发?
简述Activity发动悉数进程?
okhttp源码?
RxJava简介及其源码解读?
功能优化怎样剖析systrace?
播送的分类?
点击事情被阻拦,可是相传到下面的view,怎样操作?
Glide源码?
ActicityThread相关?
volatile的原理
synchronize的原理
lock原理
翻转一个单项链表
string to integer
兼并多个单有序链表(假定都是递加的)
其他公司
 
四大组件
Android中数据存储办法
微信主页面的完成办法
微信上音讯小红点的原理
两个不重复的数组调集中,求一起的元素。
上一问扩展,海量数据,内存中放不下,怎样求出。
Java中String的了解。
ArrayList与LinkedList差异
堆排序进程,时刻复杂度,空间复杂度
快速排序的时刻复杂度,空间复杂度
RxJava的效果,与平常运用的异步操作来比,优势
Android音讯机制原理
Binder机制介绍
为什么不能在子线程更新UI
JVM内存模型
Android中进程内存的分配,能不能自己分配定额内存
废物收回机制与调用System.gc()差异
Android事情分发机制
断点续传的完成
RxJava的效果,优缺点