百度测试开发岗位面试真题

📅 2026/6/27 3:22:06
百度测试开发岗位面试真题
1.java语言中接口和抽象类表示什么两者的特点抽象类用于描述类的共同性和行为可以有成员变量、构造方法和具体方法。通常用于明显继承关系的场景接口用于定义行为规范可以多实现只能有常量和抽象方法java 8以后可以有默认方法和静态方法。适用于定义类的能力或功能。两者的区别实现方式实现接口的关键字implements继承抽象类的关键字extends。一个类可以实现多个接口但一个类只能继承一个抽象类。所以使用接口可以间接地实现多重继承方法方式接口只有定义不能有方法的实现java1.8中可以定义default方法体而抽象类可以有定义与实现方法可在抽象类中实现访问修饰符接口成员变量默认为public static final必须赋初值不能被修改接口中的抽象方法默认是public abstract从java 8起接口可以定义default和static方法带方法体从java 9起还可以定义private方法用于辅助default方法的实现。抽象类中成员变量默认为default访问权限可在子类中被重新定义也可被重新赋值。抽象方法被abstract修饰不能被private、static、synchronized和native等修饰必须以分号结尾不带花括号。变量抽象类可以包含实例变量和静态变量而接口只能包含常量即静态变量2.接口里面可以定义哪些方法抽象方法抽象方法是接口的核心部分所有实现接口的类都必须实现这些方法。抽象方法默认是public和abstract这些修饰符可以省略。public interface Animal{ void makeSound(); }默认方法默认方法是在java 8中引入的允许接口提供具体实现。实现类可以选择重写默认方法。public interface Animal{ void makeSound(); default void sleep(){ System.out.println(Sleeping...) } }静态方法静态方法也是在java 8中引入的它们属于接口本身可以通过接口名直接调用而不需要实现类的对象。public interface Animal{ void makeSound(); static void staticMethod(){ System.out.pritln(Static method in interface); } }私有方法私有方法是在java 9中引入的用于在接口中为默认方法或其他私有方法提供辅助功能。这些方法不能被实现类访问只能在接口内部使用。public interface Animal{ void makeSound(); default void sleep(){ System.out.println(Sleeping...); logSleep(); } private void logSleep(){ System.out.println(Logging sleep); } } public interface Animal{ void makeSound(); }3.List、set和map是什么有什么区别java里list和set都是collection的核心子接口最核心的区别就是「是否允许元素重复」和「是否保证有序」原理和使用场景也因此完全不同。list是有序、可重复、有索引set不可重复、大多是无序的map存储方式是键值对通过键来查找值键不能重复值可以重复一个键最多只能映射到一个值它不是collection接口的子接口是独立的顶级接口常见实现类HashMap、LinkedHashMap和TreeMap编程题找出字符串中无重复字符的最长子串长度对应leetcode 3. 无重复字符的最长子串