深圳易思博JAVA面试精华题集与解析

5星 · 超过95%的资源 需积分: 32 35 下载量 127 浏览量 更新于2024-09-17 收藏 87KB DOC 举报
在本次Java开发工程师面试题集中,易思博公司针对应聘者的技能进行了深入考察。以下是四道精选的面试问题及其解析: 1. **内部类选择题**: - 题目要求考生识别出属于类`A`的正确内部类。选项中提供了五个可能的选择,包括`A`、`B`、`C`、`D`和`E`。正确的内部类包括`class B extends A`和`class C`,因为它们直接或间接地在`A`类的上下文中定义。`class B`继承了`A`,而`class C`虽然没有明确提到继承,但作为`A`类的一部分,可以通过`A`的成员访问。因此,正确答案是`b`和`c`。 2. **输出结果判断**: - 问题要求确定`System.out.println(4|7)`语句会打印哪个值。由于`|`符号不是合法的运算符,这看起来像是一个语法错误或者意图不明确的表达式。根据提供的选项,最可能的解释是题目意在询问表达式的结果。在这种情况下,只有数字`7`会被打印出来,因为`println`会直接输出其操作数,所以答案是`d`。 3. **关于`notify()`方法的理解**: - `notify()`方法是`Object`类中的一个方法,它用于唤醒等待在这个对象监视器上的一个线程。当只有一个线程等待时,A选项正确,表示只会唤醒等待时间最长的线程。B选项错误,因为如果有多个线程等待,唤醒的是任意一个;C选项错误,因为`notify()`在`Object`类而不是`Thread`类中定义;D选项错误,调用`notify()`必须持有该对象的锁;E选项正确,`notify()`通常在循环中使用,以控制同步过程。 4. **类成员可见性**: - 题目涉及类`A`、`B`和`C`,以及子类`d`。如果`method2()`直接访问类`A`的成员,那么`x`是公共成员,可以被所有类访问,所以`a`是正确的。然而,`y`是私有的,`method2`不能直接访问,排除`b`。`method2`作为`C`类的成员,不能直接访问`A`类的任何成员,除非通过`d`类(`d extends A`),但这需要明确的引用,题目没有提供这样的上下文。因此,答案是`a`。 这些题目涵盖了Java编程基础中的关键概念,包括内部类、输出控制、线程通信以及类成员的访问权限。掌握这些知识点对于应聘Java开发工程师职位至关重要,因为它们反映了对语言结构、并发处理和代码组织的理解程度。