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事件还在原位怎么解决?
多线程并发
隔代数据库升级
性能优化
#猎豹移动##饿了么##社招##安卓工程师##笔经##面经#
全部评论
社招这个难度有点高😅
2 回复 分享
发布于 2019-10-16 20:15
手写hashmap?
1 回复 分享
发布于 2020-04-18 17:57
几年经验呀
点赞 回复 分享
发布于 2019-11-18 13:57

相关推荐

bg:双非本,一段中小厂6个月测开实习今天发这个帖子主要是想聊一聊我秋招以来的一个发展我是在8月底辞职,打算秋招,可是看网上都说金九银十就想着自己就是一个普通本科生,现在九月份都是一些大神在争抢,所以9月份基本上没投,等到了10月份才开始秋招,可是这个时间好像已经有些晚了,今年秋招开启的格外早,提前到了7,8月份,我十月才开始,官网投了很多公司,没有任何一个面试机会,这个情况一直到了十月底才有了第一个面试,当时没有面试经验,所以不出意外的挂了后续就是漫长的投递,但是毫无例外没有面试,没有办法我只能另辟蹊径开始在BOSS上边投递,然后顺便也根据BOSS上边这个公司名称去浏览器搜索看看有没有官网投递渠道,毕竟官网上投递后还是可以第一时间被HR看到的,然后一直不停投递,一开始第一个星期基本上都是投的正式秋招岗位到了第二个星期才开始实习和正式一起投,到十一月底的时候已经沟通了700➕才有一共1个正式的,5个要提前实习的,3个实习的面试,最后结果是过了1个要提前实习的和2个实习的每次面试我都会复盘,发现这些小公司面试官问的五花八门,有的专问基础,有的专问项目,有的啥都问,不过自己也是看出来了一下门道,就是小公司不像大公司面试官那样能力比较强基本上你简历上边的他都会,然后会根据简历来问,小公司面试官他们更多的是看自己会什么,然后看看你简历上边哪些他也是会的然后来问,经过不断的复盘加上背各种各样面试题,到了11月底12月初才有了1个要提前实习的offer还有2个实习的offer,而且薪资待遇对我来说已经很可观了可是啊,人总是这样得了千钱想万钱,我又开始不满现状,但是此时的我面试能力经过这么多面试和复盘已经很强了,然后在十二月份运气爆棚,被极兔和小鹏补录捞起来面试,还有个百度测开的实习面试,这个时候因为有了offer所以感觉有了底气,面试也很自信,最后结果是全部都过了那个时候我感觉自己真的很厉害,我问了极兔那边的HR像我这样的双非本收到offer的在极兔有多少?他告诉我产研岗90%都是硕士,10%里边基本上都是211,985,想我这样的很少很少,那一刻感觉自己超级牛逼,小鹏就更不用说了,最后也是不出意外选择了小鹏所以我就我个人经历想对和我学历履历差不多的牛友一些建议第一:秋招一定要趁早,真到了9,10月,那个时候可能你投的结果可能还不如7,8,11月,第二:最好先拿小公司实习或者正式练练手,提升一下面试能力,我个人觉得因为小公司问的五花八门所以你会更加横向去提升自己能力,而且大公司其实面试没有那么难,除了一些非常卷的岗位,公司大神比较多会问的很难,一般好点的公司都不会问的那么难,他们也知道都是应届生不会要求那么高第三:当有一定能力后,就是坚持了,对于我们这样的学历,没有特别强的履历情况下,就是要抓住提前批和补录的机会,这个时候各方面不会卡的很严,是我们很好很好的一个机会第四:就是运气也是很重要的一部分,不过这个很难去说什么最后祝各位牛友都能收获自己满意的offer😁😁😁
秋招,不懂就问
点赞 评论 收藏
分享
评论
7
45
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务