(1)
常见配置数据保存方式:
a. 数据库表方式。如,数据库表中可以直接保存树结构,描述被存储数据。
b. 文件方式。如,XML 配置文件。
c. 注解方式。
(2)
同步、异步和互斥在操作系统中的概念及其区分?
(3)
反射与调用(如回调函数)的区别?
部分解决
节选链接:http://bbs.csdn.net/topics/390153121
反射跟常规调用的主要差异,是反射可以不需要定义接口。
只需要直接约定一个函数即可,比如:
public void instanceService(Object callbackHandler, String methodName) {
调用时则:
Method m = callbackHandler.getClass().getDeclaredMethod(methodName);
m.invoke(callbackHandler);
另一种方式则是直接传递回调的类名和函数名,但比较少用,因为这样做的话,回调主体不明确:
public void instanceService(String callbackClass, String methodName)
(4)
在研究与学习某项技术与一些问题的情况下,仔细阅读与理解相关 API 是设计解决方案的前提。
(5)
在分析设计时,需从业务流程和需求的角度多考虑概念及其包含属性的处理,而不是完全从实现的角度思考问题。
(6)
在 Java 构造函数中的异常处理是否与一般情况相同?
(7)
设计模式六原则的内容及其理解是什么?
(8)
Maven 报错时可查看本地仓库中的包下载是否完整。若是由于下载包不完成造成的,可重新下载或手动下载到对应路径中。
查看 Maven 相关配置时,常见查看 setting.xml 文件和 pom.xml 文件。
(9)
依赖与关联的区别
依赖
可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用;
关联
他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;
(10)
设计模式中的钩子方法类似回调函数?
(11)
在遇到 XML 工具类的设计时,以 Dom4J 为例,经常会遇到不同的结构的 XML 配置文件。
如,
<root>
<elm>
<child1>value1</child1>
</elm>
</root>
或
<root>
<node1>value</node1>
<node2>value</node2>
</root>
思路1,添加所需要的 JavaBean 以方便操作整个节点。此时也可考虑 XML 文件的序列化框架,如 xStream 。
思路2,将某些查询方法设计为返回字符串集合,如,Map<String, String> 或 List<String> 。此方法只单纯的获得查询值。
思路3,在完成设计结构的 XML 配置文件基础之上,编写或利用图形化工具(如在 Eclipse 中)完成对应的 schema 文件,然后,利用 JDK 提供的 xjc 命令便能生成对应的配置文件解析类。再使用 JAXB 反序列化配置文件,从而直接生成相应 JavaBean 对象。另,JAXB 为Java XML 绑定框架。
其他建议?
(12)
抽取单一功能为函数,抽取单一为类,重构?