如果我是面试官,我要出什么面试题(持续更新)--参考答案

开发的基础

  • 什么样的子程序是高质量的?(什么样的方法或函数是高质量的)

参考答案:
这是《代码大全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

你可能感兴趣的:(综合)