Android社招面经
18年10月初的时候公司倒闭了,没办法又得重新出来找工作。平时比较咸鱼,找了工作才发现android行业也从风口上下来了。找了几个月的工作,挨锤的次数不少,分享给大家,也给自己一个教训。
猎豹移动:(有笔试)
atomicinteger内存模型
static编译时有啥不同,static 语句块,static变量,static方法,构造初始化顺序(静态绑定)
animation和animator的用法,概述实现原理
Handler,looper,messagequeue,thread,message,每个类功能,关系?
Mvc,mvp的差异
操作系统中的线程和进程有什么区别?
APP闪退的原因都有什么?每种情况做个分析
一个APP存在多线程,列出所有ipc的方法
如何加载ndk库?
怎么jni中注册native函数,有几种注册方式?
在什么时候,系统会在内核态和用户态中切换?
一个app如果性能不好,怎么分析?
饿了么(无笔试)
23种设计模式
红黑树有啥特性?
遍历hashmap的原理?
如果hashmap key不一样,但是hashcode一样会怎么样?
hashmap是否线程安全?不安全会出什么问题?
concurrenthashmap读写分别是啥情况?
okhttp有什么优秀的设计模式?builder模式有什么好处?责任链模式有什么好处?
懒汉模式单例为什么加volaitle?
bindservice和startservice生命周期有啥不同?
广播有几种?广播是观察者模式?跨进城广播也是观察者模式吗?
ams是怎么找到启动的那个activity的?
设计的六大原则
a-b-c界面,其中b是singleinstance的,那么c界面点back返回a界面,为什么?怎么管理栈的?
在oncreate里面可以得到view的宽高吗?
view的getwidth和getmesurewidth有啥区别?
中园博林(有笔试)
笔试:
如何避免out of menmory和anr?
arraymap和hashmap的区别?
如何实现线程同步?
简述android事件分发机制
简述view绘制流程
用两个栈实现一个队列
面试:
viewpager嵌套滑动冲突怎么解决?
svg动画
用属性动画画一个抛物线
立思辰(无笔试)
阅读界面的书架是用什么控件实现的?布局怎么能做到各行文字左右对齐
为了适配多分辨率的场景,应该引入什么开源框架?
在一个直播页面配一个微信对话界面如何实现
如何做性能优化
vv音乐(有笔试)
笔试:
Android:gravity和android:layout_gravity的区别?
assets与res/raw的区别?
解释layout_weight的作用
view如何刷新?
用sax解析xml的优点
匿名内部类是否可以extends其他类?是否可以implement interface(接口)
override与overload的区别?overloaded的方法是否可以改变返回值的类型?
sleep与wait有什么区别?
给出两个链表的头指针比如p1,p2,判断这两个链表是否相交,写出主要思路即可
补间动画常见的效果?有哪几个常见的插入器?
Contentvalue 键值类型
在android中,请简述jni的调用过程?
请结束android.mk的作用,并试写一个android.mk文件(包含一个.c源文件即可)
冒泡排序(代码实现)
猴子偷桃问题代码实现
androiddvm的进程与linux的进程说法正确的是?(选择题)
animation.animationlistner干什么用的?
android常用布局及排版效率
collection与collections的区别
面试
binder的原理
art和dvm在gc上有啥不同?有啥改进?
简述封装,继承,多态
强软弱虚引用的应用场合
linux和windows下进程是怎么通信的?
一个长度为10的arraylist和linklist,在第五条插入,哪个更快?
什么叫安全发布对象(多线程里面)final?
用四个线程计算数组和(我说用join方法,或者countdownlatch,他说用线程池即可)
策略模式和命令模式是啥?
拓扑排序
一个类实现一个接口,接口引用指向这个类对象,可以不可以调用它的tostring方法?
数组和链表在中间位置的插入效率
浏览器,输入url匹配,假设有一亿条url缓存,用什么数据结构匹配?
recycleview缓存机制相比listview缓存机制有啥改进?
子类复写父类的equals方法,但是子类增加了一个成员变量int,请问equals方法怎么办?
大数医疗(有笔试)
手写hashmap
写生产者消费者模式,不可用syncronized
treemap,hashmap应用场景
字节跳动(无笔试)
dvm和art的区别
zxing二维码开源框架流程
从framework的角度讲activity的启动流程(冷启动)
contentprovider怎么升级维护?
bitmap有几种格式,分别占多少字节
手写算法,二维数组,每一行,每一列都是升序,找出某数的下标,没有输出[-1,-1],最好的时间复杂度是m+n(行数+列数)
滴滴出行(无笔试)
framework加载activity的流程
arraylist和linkedlist的应用场景
android事件分发机制,如何下发,如何上传?
一个界面下拉刷新要怎么实现?
bitmap占用内存多少怎么计算?一个像素占几个字节?
好几万条短信,滑动卡顿怎么解决?
有没有了解过三方开源数据库(好像是腾讯的什么数据库框架,不仅仅是懂sqlite)
threadlocal的原理?
计算viewgroup的层级,递归实现和非递归实现
binder机制
shareprefrence原理?是否线程安全和进程安全?
一个app启动页另开一个进程,启动页10s后启动mainactivity,请问5s的时候有几个进程?
自己写一个应用,包名就叫android行不行,为什么?
网络请求相关的框架
避免内存泄漏,为什么说handler用成员内部类会内存泄漏?activity不是已经到gcroot被切断了吗?还有静态context持有activity的引用会内存泄漏,必须要持有怎么办?(及时释放
主线程looper如果没有消息,就会阻塞在那,为什么不回anr?
一个app多进程的好处
一个arraylist,里面全部是int,讲所有值是2的整数的节点删除
系统进程可以用webview吗?
原子类的了解
arraymap了解
java内存结构,内存模型
融云(有笔试)
冒泡排序手写
如何判断一个字符串是回文字符串
shareprefrence不是进程安全,假设一个apk两个进程同时修改shareprefrence怎么办?
contenprovider已经是进程间通信,为什么还要引入broadcastreceiver?
梧桐车联(电话面试没过)
a启动b,b启动c,怎样可以在c界面点back退回到a?
startservice和bindservice生命周期有什么不同?
为什么要引入activity这个组件
两个应用同时注册一个广播,优先级都一样,哪个会先收到广播?(有序广播?)
蚂蚁金服(电话面试没过)
threadlocal原理
zxing有过优化提高识别率吗?
京东
arraylist里面可以不可以new一个t泛型的数组?
补间动画click事件还在原位怎么解决?
多线程并发
隔代数据库升级
性能优化