网易内推(Android) 拿offer

学校BBS上师兄发网易内推,凑下热闹投了一发

一面:电话面

大概25分钟,感觉面试官气场很足,主要关注了其中一个 个人开源项目

1、自我介绍

2、说说你做的这个项目

当时谈到使用到了开源框架xtuil中的dbxutil和httptuil,然后让分析这俩个模块源码;其中详细问了httputil实现原理(主要是线程池,封装的是httpclient)

使用到了 slidingmenu_library开源控件,让分析这个开源框架的源码;

tips:项目中使用到的开源框架一定要了解大概,给出一个比较不错的学习连接http://a.codekk.com/  

3、说说你做过最复杂的控件

有点不好说,扯到开机动画,追问如何实现,然后又追问了animation 和animator的区别

干净利索没有太多的废话,直接就说“好,面试结束”直接就挂电话了 。同学问我面的咋样,我都直接说跪了没戏


二面:杭州网易现场面 (当然报销来回动车路费)

面了将近1小时15分钟吧

过了一个星期接到hr电话说一面过了,需要现场面,去杭州面试确实艰苦,14个小时动车到杭州已经是半夜11点了,找个小旅馆睡下,下午俩点去面试

面试官不关注我app项目,直接抛出大问题,慢慢讨论

1、说说推送

扯到长连接,心跳包,直接被面试官打断,这个我们都知道,说说保持一个长连接很简单,为什么长连接会带来很多麻烦,还提示从耗电量,微信分析

(这个问题后来做了总结,确实是个好问题可以参考我的这篇博客http://blog.csdn.net/xsf50717/article/details/48519135

2、从协议栈角度分析一下推送的过程

看了我LTE协议栈项目(本人通信专业)问的,感觉有点不搭边

3、项目使用开源框架的源码分析讨论

主要还是集中在httputil源码实现、讨论了线程池设计,阻塞队列;

由于httputil封装了httpclient,然后让比较 httpclient和httpurlclient区别;

扯到了http协议,问了http与https区别,(当时我在分析直接被打断,“这个我们都知道,简介概括”,然后我我直接说https=http+ssl+加密算法);

加密算法是对称还是非对称的,,商量秘钥的过程是对称还是非对称

3、android消息处理机制

handler+loop分析;

loop线程与普通线程区别;

asynctask源码分析(这里有个线程池几个关键参数5,128,使用的阻塞队列,补充讲了asynctask缺陷)

如何改进asynctask造成的内存泄露的问题,从而延伸到 jvm虚拟机四种引用

4、说说androi 使用卡顿是什么造成的,给出优化

主要回答了ui overdraw避免,<include>标签,<viewstub>标签,<merge>标签使用,hierarchy viewer工具的使用;

面试官追问:再从底层分析;(其实就是 16ms和60fps的追求了)

再结合GPU操作分析一下UI过程;

然后说到了大图加载问题,提到UIL框架,让分析内部源码(我主要从uil的缓存策略和线程池机制分析)

5、忽然扯到并发,让分析concurrenthashmap,答了分段锁仍不满意,要求再分析一下size操作是如何做的

6、材料设计

从listview优化谈到recyclerview,深入分析一下recyclerview特点

然后引申到瀑布流如何实现,不使用recyclerview如何实现瀑布流

7、属性动画

8、touch事件分发机制

9、android开机过程(主要讨论了zygote)

10、让你设计一个游戏人物,如何设计

主要讲了抽象类+接口+mvc和mvp模式

一面折腾完,直接让出去休息,等HR面,后来等了40多分钟面完HR,由于是第二天早上7点半的动车,晚上在火车站附近网吧玩了一夜LOL,第二天回校等通知,9.16号才等来offer通知

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值