链家Android面经

楼主Android开发岗位,早上到了先做了5道算法题,大致是从数组里找出所有和为n的两个数。二叉树的最低公共祖先点。数组里有多少个子数组满足所有元素之和大于乘积。根据ip找城市,一个城市对应多个ip。用代码实现编辑器的undo和redo。

一面(40min)
先就笔试的5道题讲了下,没做出来的讲了下思路。
1、类加载的过程,每一步具体怎么实现的,问的很细。又讲到android中的dex分包技术以及应用于热更新。
2、jvm和dvm的区别,在jvm中一个程序崩溃有可能导致系统崩溃吗?dvm中呢? ps:这里不是很懂,猜的。。
3、解释网络ip协议、tcp、udp、http、https、socket,以及之间的区别
4、handler机制,并不是让讲简单的流程,要结合源码讲是每一步怎么实现的,以及sendMessage和post(new Runnable)这两种方式的底层实现的区别在哪?
5、同步synchronized的用法,主要问了底层实现,比如线程尝试去获取monitor所有权,有个队列配合工作,具体是怎么工作的?等等。
6、Android中的IPC方式,binder的底层原理(这里讲的比较深入),和管道通信的区别。
7、用过哪些设计模式,具体的应用场景以及为什么选用这种设计模式?
面试官看着很年轻,是个大牛,很厉害。

二面(15min)
一面完快中午了,于是等了一个午饭的时间下午才开始二面,结果二面简直了,15min就结束了!!!
上来问了个两个题
1:求两个单链表的交点?
2:求一个单链表中是否存在环? 数组中根据下标索引查询的复杂度为什么是O(1)?(没想过啊,不太明白意识)
然后就开始了10min的“HR面”,我差点以为对面坐的是hr,一个技术问题没有,聊人生。

至此,秋招第一次面试,卒!

说实话,二面挂的不太服气,两个链表的题答的确实不是太好,但也不用就开始聊人生啊。一面面试官确实厉害,问题问的比较深入,也让我有很多收获,总算没白去。
接下来继续努力吧,回馈下面经(可能在大佬看来比较LOW),希望能让部分兄弟有所收获吧!大家秋招加油!

PS: 女朋友一起去面的产品岗,过了三面。相比之下程序猿还是艰难。
#安卓工程师#
全部评论
数组内存是连续,只要知道第一个地址,加上下标就可以马上确定其他地址了,访问就是o(1)
点赞 回复 分享
发布于 2017-08-26 18:51
数组o(1)应该是初始地址加上偏移量直接可以找到对应的位置吧
点赞 回复 分享
发布于 2017-08-26 18:49
Android校招问这么深过分了吧。。。我的天,太可怕了。
点赞 回复 分享
发布于 2017-08-30 23:16
我的天,滚回去看底层了~
点赞 回复 分享
发布于 2017-08-27 12:10
看来我们是一个面试官
点赞 回复 分享
发布于 2017-08-27 09:55
不是都HR面了嘛?
点赞 回复 分享
发布于 2017-08-26 22:09
Android问的这么深,6666
点赞 回复 分享
发布于 2017-08-26 19:26
!好样的
点赞 回复 分享
发布于 2017-08-26 18:48
Cpp Linux 网络 数据库一个没问,还不如直接挂我笔试,简历
点赞 回复 分享
发布于 2017-08-26 18:45
我一面就开始聊人生
点赞 回复 分享
发布于 2017-08-26 18:44

相关推荐

ResourceUtilization:差不多但是估计不够准确,一面没考虑到增长人口,另一方面也没考虑到能上大学的人数比例,不过我猜肯定只多不少
点赞 评论 收藏
分享
04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务