15道大厂高频Sprinq面试题,95%的人答不上

    spring是近年来很火的一项开发技术,从而使得面试的时候面试官经常问到相关于spring等问题,也可以这么说,你会不会spring技术?你能不能在面试的时候完整的回答有关spring面试题,就决定了你能不能被录取,能不能拿高薪~~~哈哈哈,说的有点大了,面试的时候我们不仅仅要掌握spring相关技术知识点,还要掌握其他技能:分布式、线程池、jvm、等大厂面试必问的技术知识点。

    那么 ,以下内容就是我给大家罗列了一下15道大厂高频spring面试题,我绝对敢和你们打赌,有百分之95以上的人答不上来。我跟你们赌一包辣条,你们敢的话可以跟我赌~~~~~

1、下面程序的运行结果是()(选择一项)

String str1="hello";

String str2=new String("hello");

System.out.println(str1==str2);

答案:B

分析:str1没有使用new关键字,在堆中没有开辟空间,其值”hello”在常量池中,str2使用new关键字创建了一个对象,在堆中开辟了空间,”==”比较的是对象的引用,即内存地址,所以str1与str2两个对象的内存地址是不相同的

2、Java语言中,String类中的indexOf()方法返回值的类型是()

3、给定以下代码,程序的运行结果是 ()(选择一项)

public class Example {

String str=new String("good");

char [] ch={'a','b','c'};



public static void main(String[] args) {

Example ex=new Example();

ex.change(ex.str, ex.ch);

System.out.print(ex.str+"and");

System.out.print(ex.ch);

}



public void change(String  str,char ch[]){

str="test ok";

ch[0]='g';

}

}

答案:B

分析:在方法调用时,在change方法中对str的值进行修改,是将str指向了常量江池中的”test ok”,而主方法中的ex.str仍然指向的是常量池中的”good”。字符型数组在方法调用时,将主方法中ex.ch的引用传递给change方法中的ch,指向是堆中的同一堆空间,所以修改ch[0]的时候,ex.ch可以看到相同的修改后的结果。

4、执行下列代码后,哪个结论是正确的()(选择两项)

String[] s=new String[10];

分析: 引用数据类型的默认值均为null

s.length数组的长度


5、实现String类的replaceAll方法

思路说明:replaceAll方法的本质是使用正则表达式进行匹配,最终调用的其实是Matcher对象的replaceAll方法。

import java.util.regex.Matcher;

import java.util.regex.Pattern;



public class TestStringReplaceAll {

public static void main(String[] args) {

String str = "a1s2d3f4h5j6k7";

// 将字符串中的数字全部替换为0

System.out.println(replaceAll(str, "\\d", "0"));

}



/**

 * @param str:源字符串

 * @param regex:正则表达式

 * @param newStr:替换后的子字符串

 * @return 返回替换成功后的字符串

 */

public static String replaceAll(String str, String regex, String newStr) {

Pattern pattern = Pattern.compile(regex);

Matcher mathcer = pattern.matcher(str);

String reslut = mathcer.replaceAll(newStr);

return reslut;

}

}

6、在“=”后填写适当的内容:

String []a=new String[10];

则:a[0]~a[9]=null;

a.length=10;

如果是int[]a=new int[10];

则:a[0]~a[9]= (0)

a.length= (10)

7、是否可以继承String类?

答:不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。

public final class String implements java.io.Serializable,

Comparable< String>, CharSequence

8、给定两个字符串s和t, 写一个函数来决定是否t是s的重组词。你可以假设字符串只包含小写字母。

public class Solution {

    public boolean isAnagram(String s, String t) {

        if(s.length()!=t.length())

            return false;

        int bit[] = new int[26];

        for(int i=0;i<s.length();i++){

            bit[s.charAt(i)-'a']++;

        }



        for(int i=0;i<s.length();i++){

            if(--bit[t.charAt(i)-'a']<0)

                return false;

        }

        return true;

    }



}

9、String s=new String(“abc”);创建了几个String对象。

两个或一个,”abc”对应一个对象,这个对象放在字符串常量缓冲区,常量”abc”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”abc”对象的内容来创建出一个新String对象。如果以前就用过’abc’,这句代表就不会创建”abc”自己了,直接从缓冲区拿。

10、输出结果?

String str1=“hello”;

Sring str2=“he”+new String(“llo”);

Sysem.out.println(str1==str2));

Sysem.out.println(str.equal(str2));

false

true

11、下列程序的输出结果是什么?

import java.util.*;

public class Test 6{

public static void main(String[] args) {

for (int i = 0; i < 10; i++) {

Integer k=new Integer(i);

System.out.println(k+" Hello world");

}

}

}

0 Hello world

1 Hello world

2 Hello world

3 Hello world

4 Hello world

5 Hello world

6 Hello world

7 Hello world

8 Hello world

9 Hello world

12、关于java.lang.String类,以下描述正确的一项是()

13、下面哪个是正确的()

14.已知如下代码:执行结果是什么()

package com.bjsxt;

public class Test {

public static void main(String[] args) {

String s1 = new String("Hello");

String s2 = new String("Hello");

System.out.print(s1 == s2);

String s3 = "Hello";

String s4 = "Hello";

System.out.print(s3 == s4);

s1 = s3;

s2 = s4;

System.out.print(s1 == s2);

}

}

15、字符串如何转换为int类型

public class Test {

public static void main(String[] args) {

 //方式一

 int num=Integer.parseInt("123");

 //方式二

 int num2=Integer.valueOf("123");

 System.out.println(num+"  "+num2);

}

}


16、写一个方法,实现字符串的反转,如:输入abc,输出cba

17、编写java,将“I follow Bill Gate.Tom Gate.John Gate”中的“Gate”全部替换为“Gates”

18、String 是最基本的数据类型吗?

19、String 和StringBuilder、StringBuffer 的区别?

20、String类为什么是final的

21、String类型是基本数据类型吗?基本数据类型有哪些

22、String s="Hello";s=s+"world!";执行后,是否是对前面s指向空间内容的修改?

23、String s = new String("xyz");创建几个String Object?

24、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";

。。。。。。。。。。。。。。。。。。。。。。。。。。等

时间不够,下期继续更新面试问题!

关注 + 收藏 + 点赞 = 找我不费事!

不管你是初学者,还是有经验的程序员都可以看视频巩固学习。适合准备入行开发的零基础员Java>>>,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。

每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值