八、戴尔公司电话面试 Java
接到了 dell 公司项目经理的电话面试,我们从 java 的接口,abstract 函数,谈的
c++的虚函数,然后谈到 java native interface。谈到动态库,谈到静态库,然后谈到
了进程间通讯,操作系统是如何管理进程的,已经操作系统原理。谈到了 android 的
framework 的部分原理,谈到了 aidl 接口。
九、一朋友面试失败后得到的一个回复信 你被涮后有过回复信吗?
尊敬的应聘者 xxx,
非常感谢您到敝公司来面试。经过我们对您的表现的认真评估,认为您目前还不适合
敝公司的职位。如果您想在 Java 开发方面有好的发展,我们对您有以下建议:
1. 要注重基础知识的学习,不要只会 SSH 框架。
2. 多学习一些 Linux 方面的知识。
3. 推荐您看看 Java 核心技术,Think in java 这两本书。
4. 建议您闲时上一些技术论坛看看,同大家多交流交流技术。
十、什么是观察者模式(Observer)?
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对
象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自
己
观察者模式的组成
抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都
可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用
一个抽象类或接口来实现。
抽象观察者角色:为所有具体的观察者定义一个接口,在得到主题的通知时更新自己。
从 AWT1.1 开始图形系统的事件模型采用观察者模式,因此观察者模式在 Java 语言
中的地位极其重要。
在 xml 解析中的 SAX 也采用了观察者模式来实现。
Java 也提供了对观察者模式的内置支持。
Observable 类用于创建可以观测到你的程序中其他部分的子类。当这种子类的对象
发生变化时,观测类被通知。观测类必须实现定义了 update( )方法的 Observer 接口。
当一个观测程序被通知到一个被观测对象的改变时,update( )方法被调用。
一个被观测的对象必须服从下面的两个简单规则。第一,如果它被改变了,它必须调
用 setChanged( ) 方 法。 第 二 , 当 它 准 备 通 知 观 测 程 序 它 的 改 变 时 , 它 必 须 调 用
notifyObservers( )方法。这导致了在观测对象中对 update( )方法的调用。注意——当
对象在调用 notifyObservers( )方法之前,没有调用 setChanged( )方法,就不会有什么
动 作 发 生 。 在 update( ) 被 调 用 之 前 , 被 观 测 对 象 必 须 调 用 setChanged( ) 和