先说一下个人基本情况,蘑菇街Android开发,计算机科学与技术专业。主要学的Android开发,所以投的岗位都是Android开发工程师。
投了知乎,内推了阿里蘑菇街腾讯百度网易。腾讯百度都没有收到面试,知乎Skype面试,蘑菇街阿里电话面试,网易现场面。知乎二面被拒,蘑菇街阿里一面被拒,网易三面,然后备胎了,前几天被通知过了,收到了offer。
自己整理了一下被问到的问题,现在分享给大家,另外自己整理的一下资料也会发给大家,希望能帮助到各位求职的小伙伴。

文末会给大家分享我整理的Android面试专题及答案(这些题我基本都刷了三遍以上,毕竟即使是寒冬也挡不住一个安卓程序员追求大厂的决心)
知乎
知乎面试前hr会事先跟你电话确定面试时间,然后把你的Skype账号给hr,到时候面试官会加你好友,然后开始面试。
一面:
自我介绍介绍一下自己做过什么项目 ps:这里会根据项目问一些问题跨线程通信主要涉及LooperMessageHandler以及MessageQueue说一下自定义View需要注意哪些细节 主要说了一下View绘制的三大过程onDraw()不要做耗时操作 不要创建新对象 以及 怎么处理View的触摸事件View的事件冲突的解决办法 ps:重写dispatchEvent()或者touch()方法手写代码:给你一个无限大的数(用字符串表示),计算这个数加一以后的结果 手写代码在这个网站进行 ps:面试官发给你一个链接 你写代码面试官会同步看到二面
手写代码 两个有序链表合并成一个有序链表Object中有哪些公有方法 ps:clone();toString();wait();notify();getClass();finalize();equals();hashCode();讲一下listView的优化方法讲一下RecycleView与listview的区别view的绘制过程阿里问了一下大体情况 比如什么时候可以实习啊 考不考研啊都会什么算法 讲一下做过什么项目没有 讲一下项目优化的地方Activity的启动模式跨线程通信夸进程通信 主要是Android的AIDL如何解析json数据和xml蘑菇街说说做了什么项目自定义view的几个步骤 怎么刷新view ps:onLayout(); onMeasrue();onDraw();RecycleView的优化几种context的区别看过什么源码没有讲一下binder类Runnable运行在哪个线程里面 ps:开启一个子线程的唯一方法就是new Thread().start();HashMap和HashTable的区别raw和assets文件夹的区别activity关闭后尚未运行完毕的thread会怎么样 ps:会变成空进程线程,优先级最低 很容易被终止回收mainfest文件的合并规则网易网易内推后笔试,过了笔试后去杭州面试 ps:报销来回车费 报销上限是600元 这个回来没记 可能不全
一面:
自我介绍跨线程通信讲了其中一个项目是怎么实现的 问jsoup怎么拼 = =用过哪些开源库 讲一下他的架构是怎样的java的四种引用 虚引用的作用图片三级缓存 内存缓存满了怎么办 ps:优先级队列 满了后根据优先级主动删除一部分图片 根据LRU算法确定优先级讲一下JNI开发的过程 java怎么找到c函数 ps:JNINativeMethod保存函数对应关系平时有什么爱好没有 = = ps:潜泳 可以潜好几天 然后自己浮上来二面:
activity的四中启动模式service的生命周期讲一下自己的项目项目中用JNI做什么 为什么要用他呢什么是OAuth协议 做什么的其他的记不清楚了hr面:
什么时候可以来实习 实习多久多个offer怎么选你有团队开发经验 内部冲突怎么解决你觉得杭州怎么样为什么选择网易用过网易什么产品 ps:吃过网易猪肉其他忘记 好像聊了好久 得一个小时吧总的来说,你的简历就是你给面试官的考纲,所以简历一定要真实,及时面试过程中遇到不会的题目,也要沉着冷静思考,不会也要主动承认,然后最好能够提出自己的思考和猜测。千万别不懂装懂!
千万别不懂装懂!
千万别不懂装懂!
上面的面试题笔者也已经整理成PDF文档了,同时也整理了一些问题详解;虽然说花了一点时间,但是我也愿意把它免费分享出来,希望能够帮助到有需要的Android工程师朋友,也省的大家再去网上花时间找资料。
领取方式:转发+关注后私信回复我【面试】 即可免费获取领取方式。
作为Android程序员,个人还是觉得基础很重要,从基础到框架,从框架到原理,从原理到源码,一步一脚印。一定要自信,直面面试官,表现出自己最好的状态。同时别太咄咄逼人,一定要尊敬面试官,礼貌。
最后,还是希望每一个求职者,都能够进入自己如愿以偿的公司拿到心仪的offer~