您的位置:首页 > 职场人生

Android面试整理

2017-09-04 11:13 260 查看

Android面试整理

前言

最近要步入找工作的大军了,所以根据简历做了一份面试整理,主要包括过去使用的技术点、基础知识、现在流行的技术以及做项目踩的坑

简历技能

数据结构和算法

前段时间把数据结构和算法的书重读了一遍,所以接下来着重是算法,面试官有很大的几率会让手写几个排序算法.

排序代码参考文章:

http://blog.csdn.net/guanhang89/article/details/51902378

Java基础和设计模式

基础可能会问时间复杂度???我觉得设计模式是重点,鉴于模式的种类有点多,常用的是单例,工厂和抽象等.

详细的Java设计模式,请参考文章:

http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

Android源码和自定义控件

我觉得这个源码写上去有点吹大发了,而且还是框架层的,没办法,只能把android源码那本书再看看了,至于自定义控件,涉及的是view的绘制,onTouch事件的分发处理以及动画的衔接,反正也是跟源码脱离不了关系,当然跟算法也有关系

view的绘制流程参考文章:

http://blog.csdn.net/yanbober/article/details/46128379/

onTouch事件参考文章

http://www.cnblogs.com/linjzong/p/4191891.html

//简单说一下Touch事件

默认Touch事件是一直向下分发的,但是父view有拦截Touch事件的能力.

动画参考文章:

http://www.jianshu.com/p/420629118c10

//算法,略

网络层开发和TCP/IP协议

网络是重点啊,同学们,逢面试必是重点,

这里呢,推荐一下IM开发者社区里的小伙伴整理出来的《TCP/IP详解 卷1:协议

地址是:http://www.52im.net/topic-tcpipvol1.html

如果觉得太长看不完,请参考以下文章:

http://www.cnblogs.com/roverliang/p/5176456.html

http://blog.jobbole.com/91841/

http://blog.csdn.net/goodboy1881/article/category/204448

Sqlite数据库、MySQL、以及xml、json的解析

android数据库用Sqlite,一般自己写没什么难点,可能多表联合查询有点麻烦,而且android内部将sq语句的增删改查用api又封装了一下,所以就算不会写sql语句,在实际编程问题不大,但是我们是在面试诶,所以怎么写语句还是要会掌握的,sql语句的复习还是直接看w3school网站的吧,简单明了

w3school学习sql的地址:

http://www.w3school.com.cn/sql/

//MySQL我觉得其实跟sqlite区别不大,所以此处略

xml和json的解析,现在一般用json的多一点,因为比xml传输的优点多,我记得有体积小,传输速度快等有点,xml的具体解析步骤不记得了,不过原理是根据对应的节点来进行解析,json解析,我在项目中一直用的是原生,可以自己封装一下,也可以用一些第三方的框架,比如阿里的Fastjson和GSON

//这里的文章略了,真有兴趣,可以翻翻FsatJson和GSON的源码,面试官对喜欢学习的人一定会觉得欣喜

JNI、NDK开发、AIDL、热修复、热更新、冷更新(增量更新)、插件化开发

其实我简历上没写这么多的,但是为了以防面试官的回马枪,问一句,”你既然知道热更新,那你给我讲讲冷更新吧”,所以,还是都统一做一个整理吧.

JNI和NDK参考文章:

http://blog.csdn.net/xyang81/article/details/41759643

http://mysuperbaby.iteye.com/blog/915425

AIDL开发参考文章:

http://blog.csdn.net/stonecao/article/details/6425019

http://blog.csdn.net/u011974987/article/details/51243539

热修复参考文章:

http://blog.csdn.net/jiangwei0910410003/article/details/53705040

http://blog.csdn.net/mynameishuangshuai/article/details/52718202

热更新参考文章:

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1115/3684.html

http://blog.csdn.net/stanny_bing/article/details/53259991

冷更新参考文章:

http://blog.csdn.net/guang_wen/article/details/60579984

http://blog.csdn.net/dd864140130/article/details/52928419

插件化参考文章

http://blog.csdn.net/qingcuilu/article/details/46497821

http://blog.csdn.net/shareus/article/details/51454807

第三方框架的使用和封装

网络层:Okhttp、volley

展示图片:Glide、Picasso、Fresco

数据库:GreenDao

等框架

以下文章是关于Android框架的,可参考:

https://www.oschina.net/news/73836/15-android-general-popular-frameworks

http://www.cnblogs.com/angrycode/p/5956704.html

Android基础面试题(基础知识)

参考文章:

http://blog.csdn.net/xhmj12/article/details/54730883

http://www.cnblogs.com/WangQuanLong/p/5826098.html

流行的技术

看到有些招聘条件上写要求会React Native,所以把这点列出来

React Native参考文章:

http://www.jianshu.com/p/b88944250b25

http://www.jianshu.com/p/978c4bd3a759

嗯,还有Google的新开发语言Kotlin(也出现了一段时间,不过一直没用上,所以也没太关注)

Kotlin语言开发参考文章

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0226/4000.html

//还有缺少的,欢迎小伙伴补充

项目里的坑

很多面试官其实对开发者的潜在能力比实际能力更感兴趣(如果公司是真的招人的话),所以在开发中遇到的困难和解决困难的能力无疑还是一向很厉害的能力,就我自己目前遇到的问题及解决的,列出来几点

1. 屏幕适配

2. 机型适配

3. view的绘制

4. 进程管理、保活

5. 内存优化

6. 网络纠错

7. 断点续传

//暂时先写这么多

知乎上有个提问是关于Android开发的坑,这里也把地址给出来:

https://www.zhihu.com/question/27818921

最后

以上是我的整理,如有什么改进建议,欢迎留言补充,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 面试