Android面试整理

Android面试整理

前言

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

简历技能

  1. 数据结构和算法
    前段时间把数据结构和算法的书重读了一遍,所以接下来着重是算法,面试官有很大的几率会让手写几个排序算法.
    排序代码参考文章:
    http://blog.csdn.net/guanhang89/article/details/51902378

  2. Java基础和设计模式
    基础可能会问时间复杂度???我觉得设计模式是重点,鉴于模式的种类有点多,常用的是单例,工厂和抽象等.
    详细的Java设计模式,请参考文章:
    http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

  3. 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
    //算法,略

  4. 网络层开发和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

  5. 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的源码,面试官对喜欢学习的人一定会觉得欣喜

  6. 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

  7. 第三方框架的使用和封装

    • 网络层: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

最后

以上是我的整理,如有什么改进建议,欢迎留言补充,谢谢

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试是评估一个人技能和能力的重要环节。在Android面试中,除了基础知识的掌握外,还需要注意交流和语言组织能力。基础知识的牢固掌握是面试的基础,但有些人可能在实际表达中存在困难。因此,在准备面试时,可以使用思维导图等工具来梳理知识点,帮助自己更好地组织语言。从简到繁、从外到内的方式可以帮助我们更好地展开回答。生成思维导图后,可以按照这个体系一条条地进行讲解,并在每个点上进行延伸,这样可以延长自己的说话时间,提高通过面试的概率。\[1\]\[2\] 在Android中,进程之间是不能互相访问的,因此需要使用多进程通信技术。Android中特有的多进程通信技术是Binder。通常情况下,一个应用是一个进程,但是Android中一个应用也可以有多个进程,可以通过指定android:process属性来给四大组件指定进程。其中以“:”开头的为私有进程,不以“:”开头的为共有进程。\[3\] 在Android面试中,除了基础知识和多进程通信,还有其他重要的话题,如Android架构、UI设计、性能优化等。准备面试时,建议全面了解这些话题,并能够清晰地表达自己的观点和经验。 #### 引用[.reference_title] - *1* *2* *3* [android面试实用篇](https://blog.csdn.net/wang_yong_hui_1234/article/details/105579401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值