读书笔记-App研发录-第12章-无线团队的组建和管理

来源:互联网 发布:windows错误报告 进程 编辑:程序博客网 时间:2024/05/22 00:15

面试13问

1.Activity的生命周期。
2.Activity的4种启动方式及使用场合。
3.做过的项目中,Activity是否有基类,如果有,封装了哪些共用的逻辑?
4.事件的各种使用方式及优缺点。
5.与HTML5页面的相互调用。
6.UI线程的阻塞与解决方案(Runnable与Handler)。
7.采用什么姿势调用MobileAPI并解析返回的数据?
8.怎样做列表的分页和刷新。
9.登录的实现,包括从哪儿来,到哪儿去的页面跳转机制,记住密码的逻辑设计。
10.性能调优,包括Layout调优,Activity中如何使用CONST常量,时间换空间策略,ViewHolder,图集的优化策略,数据缓存和图片缓存,等等。
11.全局变量过多怎么办?
12.写过UT没?
13.是否做过自动打包?Ant,Maven或Gradle任意一种都可以。

20个技能点

1.Activity相关。App应用开发,以Activity使用最多,涉及LaunchMode,onSaveInstanceState,生命周期等技术。
2.Fragment相关技术。用的人不少,想明白是咋回事的人不多。这里推荐一本书:《Creating Dynamic UI with Android Fragments》。
3.序列化技术。有Parcelable和Serializable两种。前者是基于Service的,后者是基于Bundle的,二者实现原理不同,但是达到的效果差不多。
4.ImageLoader的原理和使用。类似的,还可以学习Facebook新近开源的Fresco,它对图片的处理会更好一些。
5.fastJSON或GSON的使用。做App不会用实体自动匹配JSON数据,相当于白做。
6.多线程相关。包括Handler,Looper,ExecutorService等。
7.Adapter和ListView。这两个技术捆在一起,经常容易崩溃,尤其是分页的时候,要仔细研究深刻体会。
8.用户Cookie设计。需要把登录机制彻底搞清楚,包括在HttpRequest头中夹带Cookie来进行用户身份验证的技术。
9.网络请求封装。使用AsyncTask的网络底层封装,使用Handler+Runnable的网络底层封装。
10.Android与HTML5的交互。包括Android调用HTML5的方法,以及HTML5调用Android的方法。
11.代码混淆。没用过ProGuard,不知道keep相关语法,就还是初级水平。
12.Android打包机制。设计Android SDK中的若干命令。对Android打包过程做的每一件事都很清楚。进一步是Android多项目依赖的打包技术。Ant,Gradle或者Maven,掌握其中任何一种打包机制即可。
13.线上Crash分析并修复。要具备通过分析Crash信息修复线上Crash的能力。
14.内存泄漏。包括内存优化,内存泄漏的场景,MAT工具的使用。
15.调试工具。包括DDMS,Eclipse或Android Studio的调试功能。
16.Monkey机制。Android开发人员如何对一款App进行Monkey测试。这算是附加技能吧。
17.单元测试。这里指的是JUnit。对复杂的算法写过单元测试以保证其没有问题。
18.GIT的高级功能。包括Stage,Rebase,Revert,Stash,Cherry Pick和Sub Module等概念。如果项目中使用的是SVN,那么要掌握SVN的版本管理策略。
19.插件化变成。哪怕知道一点DexClassLoader的概念也好。这年头,没做过插件化编程,出门面试都不好意思说自己是做Android开发的。
20.设计模式。对常见的设计模式如工厂,生成器,适配器,代理,策略模式耳熟能详。

书籍推荐

1.《疯狂Android讲义》
2.《Creating Dynamic UI with Android Fragments》
3.《Android应用测试与调试实战》
4.《Java与模式》
5.《Git权威指南》

0 0
原创粉丝点击