2023高频前端面试题(持续更新 含答案)

Posted 吃土豆的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023高频前端面试题(持续更新 含答案)相关的知识,希望对你有一定的参考价值。

1,es6有哪些新特性?

ES6是2015年推出的一个新的版本、这个版本相对于ES5的语法做了很多的优化

let和const具有块级作用域,不存在变量提升的问题。新增了箭头函数,简化了定义函数的写法,同时
可以巧用箭头函数的this、(注意箭头函数本身没有this,它的this取决于外部的环境),新增了promise,解决了回调地域的问题,新增了模块化、利用import 、export来实现导入、导出。新增了结构赋值,ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
(Destructuring)。新增了class类的概念,它类似于对象。

1-1,let声明变量和var一样,但是let不存在变量提升,存在块级作用域,块级作用域---很适合用在for循环中,使用let时for循环每循环一次就是一个单独的变量i只在当前花括内生效,而且不会泄露成全局的i,不能重复声明,不存在变量提升

1-2,const-声明常量,只要声明就必须初始化,不能重复声明,不存在变量提升,const只要声明就必须初始化

1-3,新增了箭头函数,简化了定义函数的写法,同时可以巧用箭头函数的this、(注意箭头函数本身没有this,它的this取决于外部的环境)

箭头函数和普通函数的区别:

  • this指向不同,因为箭头函数中没有this

  • 箭头函数不能使用arguments

  • 书写方式,箭头函数使用(=>)箭头定义函数

  • 箭头函数可以省略return

  • 箭头函数都是匿名函数

  • 箭头函数不能用于构造函数,不能使用new

  • call apply bind改变不了this指向

1-4,symbol

新增的数据类型,第七种数据类型,原始数据类型,表示独一无二的值

let sy=Symbol()
console.log(typeof sy);
// 数值是由symbol函数生成的,不能使用new
// 可以接受参数,用来描述数据
let sy=Symbol('a')
let sy1=Symbol('a')
console.log( sy===sy1);

1-5,集合-set

新增的数据结构 类似于数组,成员是不重复的,只有一个,可以接收参数,可以接收数组或者iteration接口的数据

// 可以去重
let s=new Set()
var arr=[1,2,3,1,2,3]
 arr.forEach(item=>
    s.add(item)
)
console.log(s);
let s=new Set('aasdasd')
let s1=new Set(document.querySelectorAll('li'))
console.log(s1);

属性:

  • set.prototype.size :长度

  • set.prototype.constructor:指向构造函数

数据:

  • set.prototype.add(value)添加数据

  • set.prototype.delete(value)删除数据

  • set.prototype.has(value)检测数据是否存在,返回时布尔值

  • set.prototype.clear()将数据清空

遍历器:

  • set.prototype.keys()遍历属性名(键名)遍历器

  • set.prototype.values()遍历属性值(键值)遍历器

  • set.prototype.entries()遍历键值对的遍历器

  • forEach()遍历

1-6,map

类似对象 键值对的形式存在,不限制数据类型作为属性名,值---值

let m=new Map()
m.set(1,name:'1')
m.set([1,2,3],1)
console.log(m.get());

1-7,解构赋值

按照一定模式匹配相应的数据

数组的结构

var arr=[1,2,3]
var [a,b,c]=arr 
console.log(a,b,c)//1,2,3
//相当于:
[a,b,c]=[1,2,3]

对象的结构

var obj=
name:'zhang',
age:'19',
set:
name:'lisi'


var name:bar,age:a,set:name:baz=obj
console.log(baz);

函数的解构赋值

// 参数的解构赋值
function fun([x,y],b,a,c)
    console.log(x,y);

fun([1,2],10,20)

1-8,严格模式

对代码进行限制规范,严格模式和普通没有区别

// 注意:- 将严格模式的语句放到代码的第一行
//       - ie 6 7 8 9不支持严格模式 

'use strict' // 全局开启

function fn() 
    'use strict' // 某个函数开启

  • 全局变量必须声明

  • 禁止使用 with

  • 创建 eval 作用域

  • 禁止 this 指向全局作用域

  • 函数参数不能重名

1-9, promise

异步编程的方式,可以解决回调地狱的问题

特点:有三个状态 pending(正在进行) fulfilled(已经成功)

rejected (已经失败)

结果只有两种可能:pending(正在进行)到 fulfilled(已经成功) --成功---resolve

pending(正在进行)到 rejected (已经失败)---失败---reject

接收一个回调函数 里面有两个参数

const p = new Promise(function (resolve, reject) 
setTimeout(function () 
    resolve(100)
, 1000)

)
p.then(function(value)
console.log(value);
,function(error)
console.log(error);
)

catch

用来捕获失败,相当于then(undefined,function())或者then(null,function())

promise的状态不会一经确定就不会改变了

2,什么是递归,递归有哪些优点或缺点?

递归函数 -- 高阶函数

如果一个函数,是自己调用自己(直接调用或者间接调用) 这个函数就是递归

简单理解:函数内部自己调用自己, 这个函数就是递归函数

适合大量数据或者数据的反复计算

注意:必须有一个结束条件,结束了,才有结果

 function getSty(a)
     getSty([]) 
 

优点:结构清晰、可读性强

缺点:效率低、调用栈可能会溢出,其实每一次函数调用会在内存栈中分配空间,而每个进程的栈的容

量是有限的,当调用的层次太多时,就会超出栈的容量,从而导致栈溢出。

3,谈谈你平时都用了哪些方法进行性能优化?

减少http请求次数、打包压缩上线代码、使用懒加载、使用雪碧图、动态渲染组件、CDN加载包。

4,什么是闭包?手写一个闭包函数? 闭包有哪些优缺点?

闭包指有权访问另一个函数作用域中变量的函数。简单理解就是 ,一个作用

域可以访问另外一个函数内部的局部变量。

function fn() 
var num = 10;
function fun() 
console.log(num); 
 
return fun;

var f = fn(); 
f();

作用延长变量作用域、在函数的外部可以访问函数内部的局部变量,容易造成内层泄露,因为闭包中

的局部变量永远不会被回收

优点

1:变量长期驻扎在内存中;

2:避免全局变量的污染;

3:私有成员的存在 ;

缺点

会造成内存泄露

5,v-for 循环为什么一定要绑定key ?

页面上的标签都对应具体的虚拟dom对象(虚拟dom就是js对象), 循环中 ,如果没有唯一key , 页面上删除一条标签, 由于并不知道删除的是那一条,所以要把全部虚拟dom重新渲染, 如果知道key为x标签被删除掉, 只需要把渲染的dom为x的标签去掉即可

6,Js 中常见的内存泄漏?

1.意外的全局变量

2.被遗忘的计时器或回调函数

3.脱离 DOM 的引用

4.闭包

7,Get 和 post 有什么区别?

Get 是从服务器上获取数据,post 是向服务器传送数据

在客户端,get 通过 url 提交数据,数据在 url 中可以看到,post 方式,

数据放在 html header 中提交

安全性问题 原则上post肯定要比get安全,毕竟传输参数时url不可见

Get 提交数据最多只能有 1024 字节,post 没有限制

java基础测试题(含答案和解析)

 

 

 

|  得分: 满分:2分
1、【单选题】
(单选题)分析如下代码,输出结果正确的是(): class Test{ public static void main(String[] args){ int i=5; System.out.println(i++); System.out.println(i); } }

A.6 6

B.5 5

C.5 6

D.6 7

 

|  得分: 满分:2分
2、【单选题】
(单选题)在Java中有一个类Aoo,下面为其构造方法的声明,正确的是()。

A.void Aoo(){ }

B.Aoo(){ }

C.aoo(){ }

D.void aoo(){ }

 

|  得分: 满分:2分
3、【单选题】
(单选题)在Java中,下列代码的运行结果是()。 public static void main(String[] args){ int[] arr = new int[4]; System.out.println(arr[4]); }

A.编译错误

B.运行时异常

C.0

D.null

 

|  得分: 满分:2分
4、【单选题】
(单选题)在Java中,一个源程序文件中定义了3个类,其中public修饰的类只能有()个。

A.0

B.1

C.2

D.3

 

|  得分: 满分:2分
5、【单选题】
(单选题)下列Java代码的正确输出结果是()。 public class Test { public static void main(String[] args) { Aoo aoo = new Aoo(5); System.out.println(aoo.num); } } class Aoo{ int num; public Aoo(int num) { num=num; } }

A.0

B.5

C.编译错误

D.运行异常

 

|  得分: 满分:2分
6、【单选题】
(单选题)下列代码输出的结果是() int sum = 0; for (int i = 1; i < 30; i++) { if (i % 3 == 0) { sum += i; } else if (sum > 30) { break; } } System.out.println(sum);

A.120

B.48

C.45

D.30

 

|  得分: 满分:2分
7、【单选题】
(单选题)在Java中,可以创建长度为4的数组对象的是()。

A.int[] arr = new int[];

B.int[] arr = new int(4);

C.int[] arr = new int[] { 12,34,56,78 };

D.int[] arr = new int[4] { 12,34,56,78 };

 

|  得分: 满分:2分
8、【单选题】
(单选题)下列对方法的访问中,语法正确的是( )。

A.int i = 10; static int j = 20; void fun1(){} static void fun2(){ fun1(); i++; }

B.int i = 10; static int j = 20; void fun1(){} static void fun2(){ fun1(); j++; }

C.int i = 10; static int j = 20; void fun1(){ fun2(); i++; } static void fun2(){ i++; }

D.int i = 10; static int j = 20; void fun1(){ fun2(); j++; } static void fun2(){}

 

|  得分: 满分:2分
9、【单选题】
(单选题)在Java中, 以下()是public void Test()的重载方法。

A.void Test() { }

B.public int Test() { }

C.public void Test() { }

D.public void Test(int num) { }

 

|  得分: 满分:2分
10、【单选题】
(单选题)下列Java代码运行的结果是()。 public class Test { public static void main(String[] args) { Aoo[] aoo = new Aoo[2]; System.out.println(aoo[0]); } } class Aoo{ int x; int y; public Aoo(int x, int y) { this.x = x; this.y = y; } }

A.0

B.null

C.编译错误

D.运行异常

 

|  得分: 满分:2分
11、【单选题】
(单选题)java代码,如下: class Fu{ public void count(int i){ System.out.println(11/4); } } public class Zi extends Fu{ public void count(int i){ System.out.println(11%i); } public static void main(String[]args){ Fu fu = new Zi( ); fu.count(4); } } 编译运行,结果是( )。

A.2

B.3

C.2.75

D.0

 

|  得分: 满分:2分
12、【单选题】
(单选题)给出以下代码,请问如何声明totalPage使其为一个只读属性( )。 public class Page{ public int totalPage; }

A.声明totalPage变量为private。

B.声明Page类为private。

C.声明totalPage变量为private,并且建立一个用于获取totalPage变量值 的getTotalPage() 方法。

D.声明totalPage变量为static。

 

|  得分: 满分:2分
13、【单选题】
(单选题)给出下面的代码段 : public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // ... w=d; z=c; } } 在代码// ... 处写入如下哪个代码是正确的?( )。

A.Base(a,b);

B.x=a, y=b;

C.this(a); this(b);

D.this(a,b);

 

|  得分: 满分:2分
14、【单选题】
(单选题)分析如下Java代码,如果想在控制台上输出"B类的test()方法", 则在1处应填入( )。 class A { public void test() { System.out.println("A类的test()方法"); } } class B extends A { public void test() { System.out.println("B类的test()方法"); } public static void main(String args[]) { // 1 } }

A.A a = new B(); a.test();

B.A a = new A(); a.test();

C.B b = new A(); b.test();

D.B.test();

 

|  得分: 满分:2分
15、【单选题】
(单选题)下面的程序输出结果是( )。 public class A implements B { int k = 20; public static void main(String args[]) { int i; B c1 = new A(); i = c1.k; System.out.println("i=" + i); } } interface B { int k = 10; }

A.i=20

B.程序有编译错误

C.i=10

D.i=true

 

|  得分: 满分:2分
16、【单选题】
(单选题)下列程序输出结果是( )。 public class Test { static int i = 0; public int aMethod() { i++; return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); Test test1 = new Test(); System.out.println(test1.i); } }

A.2 2

B.2 0

C.0 2

D.1 2

 

|  得分: 满分:2分
17、【单选题】
(单选题)下列程序运行结果是( )。 public class Test { String str=new String("tedu"); char[]ch={‘x‘,‘y‘,‘z‘}; public static void main(String args[]){ Test t = new Test(); t.change(t.str,t.ch); System.out.print(t.str+" and "); System.out.print(t.ch);} public void change(String str,char ch[]){ str="tarena"; ch[0]=‘w‘; } }

A.tedu and xyz

B.tarena and xyz

C.tedu and wyz

D.tarena and wyz

 

|  得分: 满分:2分
18、【单选题】
(单选题)在java中,下列程序的输出结果是( )。 class Point { int x; boolean y; void output(){ System.out.println(x); System.out.println(y); } public static void main(String[] args) { Point point =new Point(); point.output(); } }

A.编译错误

B.0 true

C.0 false

D.0 0

 

|  得分: 满分:2分
19、【单选题】
(单选题)关键字abstract可以和下列( )关键字一起使用

A.final

B.private

C.public

D.static

 

|  得分: 满分:2分
20、【单选题】
(单选题)Java代码的运行结果是( )。 class Account { private String name; // 名字 private int state; // 账号状态 private String idCard; // 身份证号 public void Account() { name = "李强"; state = 0; idCard = "109..."; System.out.println("执行构造方法。");} public void show() { System.out.println ("账务账号的名字是" + name + ",状态是" + state + ",身份证号是" + idCard + "。"); } public static void main(String[] args) { Account acc = new Account(); acc.show();} }

A.账务账号的名字是null,状态是1,身份证号是109...。

B.执行构造方法。 账务账号的名字是null,状态是1,身份证号是null。

C.账务账号的名字是null,状态是0,身份证号是null。

D.执行构造方法。 账务账号的名字是李强,状态是1,身份证号是109...。

 

|  得分: 满分:2分
21、【单选题】
(单选题)如下两个数组定义 char[] arr1 = {‘a‘,‘c‘,‘d‘}; char[] arr2 = {‘g‘,‘h‘,‘j‘}; 能将两个数组正确合并的选项是( )。

A.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,0, arr2.length);

B.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length-1, arr2.length);

C.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length+1, arr2.length);

D.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length, arr2.length)

 

|  得分: 满分:2分
22、【单选题】
(单选题)下列运算结果正确的是( )。

A.int x = 4590; x = x / 1000 *1000; x的结果是4590

B.int x = 3; x = x++; x的结果是4

C.short x = 3; x = x+4; x的结果是7

D.int x = 2; boolean b = x>3 && x<6; b的结果是false

 

|  得分: 满分:2分
23、【单选题】
(单选题)执行完下面程序片段后( )的结论是正确的。 int a, b, c; a = ‘a‘; b = ‘b‘; c = (a + b > 180 ? a++ : b++); // 已知字符‘a‘,字符‘b‘对应的ASCII值97,98

A.a=97,b=98,c=99

B.a=98,b=99,c=99

C.a=97,b=98,c=98

D.a=98,b=98,c=97

 

|  得分: 满分:2分
24、【单选题】
(单选题)下列程序输出结果是( )。 int a = 0; while (a < 5) { switch (a) { case 0: case 3: a = a + 1; case 1: case 2: a = a + 2; default: a = a + 3; } } System.out.print(a);

A.5

B.0

C.6

D.2

 

|  得分: 满分:2分
25、【单选题】
(单选题)关于以下应用程序的说明,正确的是( )。 1. class StaticClass 2. { 3. static int x=10; 4. static { x+=5;} 5. public static void main(String[] args) 6. { 7. System.out.println("x=" + x); 8. } 9. static { x/=3;} 10. }

A.4行与9行不能通过编译,因为缺少方法名和返回类型

B.9行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

 

|  得分: 满分:2分
26、【单选题】
(单选题)下面代码输出结果是( )。 int x = 0, y = 0; do { if (x % 3 == 0) { x++; continue; } x++; y = y + x; } while (x < 4); System.out.println(y);

A.0

B.3

C.5

D.7

 

|  得分: 满分:2分
27、【单选题】
(单选题)给出以下代码,请问该程序输出( )结果。 class Example{ static int i=1; static { ++i; } public static void main (String[]args){ increment(i,5); display(i); } static void increment(int n, int m){ n+=m; } static void display (int n) { System.out.print(n); } static{ ++i; } }

A.1

B.3

C.6

D.7

 

|  得分: 满分:2分
28、【单选题】
(单选题)for循环语法格式如下: for(表达式1;表达式2;表达式3){循环体} 以下说法正确的是:

A.每次循环都要执行表达式1

B.表达式2可以返回任何数据类型

C.3个表达式均可省略,使用如下格式for(;;){循环体}

D.循环体中必须有合法的java语句

 

|  得分: 满分:2分
29、【单选题】
(单选题)将给定的数组变成如下格式的字符串,下列选项中,正确的是( )。 例如:[1,3,4]->"[1,2,3]"

A.String str = "["; for (int x=0; x<=arr.length ; x++){ if(x!=arr.length-1) str = str + arr[x] + ","; else str = str + arr[x] + "]"; }

B.String str = "["; for (int x=0; x

C.String str = "["; for (int x=0; x

D.String str = "["; for (int x=0; x<arr.length+1 ; x++){ if(x!=arr.length-1) str = str + arr[x] + ","; else str = str + arr[x] + "]"; }

 

|  得分: 满分:2分
30、【单选题】
(单选题)下列程序输出结果是( )。 char c = ‘a‘; // ‘a‘ 的int值为97 if(c>100){ System.out.println(‘A‘); }else if(c>90){ System.out.println(‘B‘); }else if(c>80){ System.out.println(‘C‘); }else{ System.out.println(‘D‘); }

A.A

B.B

C.C

D.D

 

|  得分: 满分:2分
31、【多选题】
(多选题)下列正确的表达式是 ( )。

A.byte b = 128;

B.boolean b = null;

C.long l=0xfffL;

D.double d =0.9239d;

 

|  得分: 满分:2分
32、【多选题】
(多选题)对于如下类中的study()方法,请选择如下选项中,属于方法重载的是( ) public class Student{ public String study(String content){} }

A.public void study(int days){}

B.public String study(String content,String title){}

C.public String study(){}

D.public void study(String title){}

 

|  得分: 满分:2分
33、【多选题】
(多选题)下列属于JAVA语言的特点是( )。

A.跨平台

B.支持多线程

C.面向对象

D.可以直接访问操作系统

 

|  得分: 满分:2分
34、【多选题】
(多选题)Java中的继承,如下说法正确的是( )。

A.Java支持接口之间的多继承,也支持类之间的多继承。

B.Java中只支持单继承,即一个类只能有一个父类.

C.当两个类存在所属关系(is a),才使用继承(is a,是一个。 说明该类是某类的一个特殊例子,简单之称为继承。)

D.使用继承,可以使类之间产生关系,提供了多态的特性。

 

|  得分: 满分:2分
35、【多选题】
(多选题)下列对面向过程和面向对象描述正确的是( )

A.面向对象以功能为核心,使用函数封装。

B.面向过程以功能为核心,使用函数封装。

C.面向对象以事物为核心,将具体的数据和功能封装到事物中。

D.面向过程以事物为核心,将具体的数据和功能封装到事物中。

 

|  得分: 满分:2分
36、【多选题】
(多选题)循环统计1到100之间能被7整除的整数的个数, 代码输出正确的是:()。

A.int y = 1; int count = 0; while(y<=100){ if(y/7==0) count++; y++; } System.out.println(count);

B.int y = 1; int count = 0; while(y<=100){ if(y%7==0) count++; y++; } System.out.println(count);

C.int count = 0; for(int i=1;i<=100;i++){ if(i%7==0) count++; } System.out.println(count);

D.int count = 0; for(int i=1;i<=100;i++){ if(i/7==0) count++; } System.out.println(count);

 

|  得分: 满分:2分
37、【多选题】
(多选题)给出以下代码,请问该程序的运行结果是什么? class A{ private int x=0; static int y=1; protected int z=2; } class B extends A{ void method(){ System.out.println(x); System.out.println(y); System.out.println(z); } } 下列说法正确的是( )。

A.程序编译错误,因为类B不能访问变量x。

B.程序编译成功,打印输出012。

C.程序编译错误,如果移走System.out.println(x)这条语句, 可使编译程序通过。

D.程序编译错误,因为变量x未在类B中定义。

 

|  得分: 满分:2分
38、【多选题】
(多选题)对如下数组,说法正确的是( )。 int [] arr = {12,23,34,45,56,67};

A.获取数组中第三个元素的语法是arr[3]

B.获取数组中第三个元素的语法是arr[2]

C.该数组的最后一个元素的下标值为arr.length

D.该数组的最后一个元素的下标值为arr.length-1

 

|  得分: 满分:2分
39、【多选题】
(多选题)下列关于JDK的说法正确的是( )

A.开发一个Java程序,需要完整的JDK

B.运行一个Java程序,需要完整的JDK

C.运行一个Java程序,只需要JDK中的JRE

D.以上说法都不对

 

|  得分: 满分:2分
40、【多选题】
(多选题)下列选项中可以实现无限循环的是:()。

A.for(;;){}

B.while(true){}

C.do{}while(true);

D.for(int i=0;i++){}

 

|  得分: 满分:2分
41、【多选题】
(多选题)如下变量的定义,double d = 1.5;int x=1,y=2,z=3;则正确的switch语句是( )

A.switch((int)d){ case 1:System.out.println(x);break; case 2:System.out.println(y);break; }

B.switch(d){ case 1.5:System.out.println(x);break; case 2.0:System.out.println(y);break; }

C.switch(x+y){ case 1:System.out.println(x);break; case 2:System.out.println(y);break; }

D.switch(x+y){ case 1:System.out.println(x);break; case z:System.out.println(y);break; }

 

|  得分: 满分:2分
42、【多选题】
(多选题)下列程序中不会出现编译错误的是( )

A.short s1 = 3; short s2 = 5; s1 += s2;

B.short s1 = 3; short s2 = 5; s1 = s1+s2;

C.short s1 = 3; short s2 = 5; s1 = s1 * s2;

D.short s1 = 3; short s2 = 5; s1 *= s2 ;

 

|  得分: 满分:2分
43、【多选题】
(多选题)下列关于do....while循环说法正确的是:

A.do....while循环,循环体至少执行一次

B.do....while循环和while循环只是语法不同,没区别

C.do....while循环先执行循环体,再执行boolean表达式,如果为true再执行循环体

D.以上说法都正确

 

|  得分: 满分:2分
44、【多选题】
(多选题)下列关于成员变量默认值的描述中,正确的是( )。

A.byte类型的数据默认值是0

B.int类型的数据默认值是0

C.long类型的数据默认值是0

D.float类型的数据默认值是0.0f

 

|  得分: 满分:2分
45、【多选题】
(多选题)下列选项中不会出现语法编译错误的是:()。

A.long l = 999999;

B.long l = 9999999999L;

C.byte b = 90+40;

D.int i = ‘A‘+‘中‘;

 

|  得分: 满分:2分
46、【多选题】
(多选题)下列关于Linux操作系统,描述正确的是( )。

A.Linux 是一个开源的操作系统 是一个类似Unix的操作系统

B.Linux 是主流的服务器操作系统,广泛应用于互联网、云计算、智能手机等领域

C.Linux 中的相对路径,使用“.”表示上一级目录,“..”表示当前路径

D.Linux 中使用"pwd"命令显示当前工作目录的内容

 

|  得分: 满分:2分
47、【多选题】
(多选题)有以下代码 abstract class MyAbstractClass{ public abstract void m1(); //1 abstract protected void m2(){} //2 } class MySubClass extends MyAbstractClass{ void m1(){} //3 protected void m2(){} //4 } 问:这段代码哪些地方有错误?( )

A.//1

B.//2

C.//3

D.//4

 

|  得分: 满分:2分
48、【多选题】
(多选题)Java接口中定义方法,正确的是( )。

A.public void imethod();

B.void imethod();

C.protected void imethod();

D.private void imethod();

 

|  得分: 满分:2分
49、【多选题】
(多选题)在Java接口中,下列选项里有效的方法声明是( )。

A.protected void fun();

B.static void fun();

C.void fun();

D.public void fun();

 

|  得分: 满分:2分
50、【多选题】
(多选题)请选出属于JDK的组成部分( )。

A.支持JAVA程序运行的一组类库

B.JVM

C.支持JAVA程序开发的一组开发工具

D.一组软件测试工具

以上是关于2023高频前端面试题(持续更新 含答案)的主要内容,如果未能解决你的问题,请参考以下文章

全精品~ 2023年互联网大厂高频Java面试真题集锦(含答案解析)

2023金三银四1000道java面试必考题(附答案,赶紧收藏)包含所有大厂高频面试知识点

2023前端面试题(硬货-持续更新)

2020年腾讯C++面试题和答案持续更新中-内附视频

查漏补缺:备战2021年java后端Kafka高频面试题(含答案解析)

2020年腾讯C++面试题和答案持续更新中-内附视频讲解