开发的基础
- 什么样的子程序是高质量的?(什么样的方法或函数是高质量的)
参考答案:
这是《代码大全2》的第7章高质量的子程序讲解的内容,我大概总结了一下:
(1)方法的名称要清晰描述方法的功能,建议是动词+宾语(例如getID)
(2)方法的职责单一,功能明确(是符合单一职责原则)
(3)方法的长度合适,不要太长,也不要太短,最好是体现接口隔离原则,接口尽量颗粒化
(4)方法的参数数量和顺序要合适,参数数量不要太多,参数的顺序要有一定的顺序,比如按照in–modify–out的顺序排列
(5)方法的注释要合理,方便阅读
(6)方法的布局和风格要一致
(7)方法尽量不要使用神秘数
(8)方法要符合迪米特法则,尽量不要使用不是参数的其它变量,降低方法的耦合性,提高方法的内聚性,也方便移植
(9)方法要有相应的处理异常,错误的手段,提高方法的健壮性。
设计原则和设计模式
- 请简述6大设计原则
参考答案:
http://blog.csdn.net/column/details/13500.html
- 请简述23种设计模式(再写几个常见的几中设计模式的UML图)
参考答案:
http://blog.csdn.net/column/details/design-pattern-hxm.html
java部分
- 简述抽象类和接口
参考答案:
http://blog.csdn.net/hfreeman2008/article/details/53128457
- 简述String,stringBuffer,stringBuilder的异同
参考答案:
http://blog.csdn.net/hfreeman2008/article/details/53138960
- 简述面向对象程序设计的特点
- 简述多态
android部分
- 简述一下android的四大组件
简述ListView的优化方法
http://blog.csdn.net/fenghai22/article/details/44173057简述如何避免内存泄漏的方法
- 简述android数据存储的方式
简述如何自定义view
请画出Activity的生命周期图,再简述一下
参考答案:
- 请画出Service的生命周期图,再简述一下
参考答案:
http://blog.csdn.net/hfreeman2008/article/details/47049195