震惊!!!深圳这家面试题惨遭泄露!!!深圳市笃实科技有限公司面试题2023年版一年没变过

求职者可看这篇文章,招了一年每个月都在招,题从来没变过,咱就是说,快2024年了,不知道会不会还是这些面试题。反正通过知情人士了解下来,相信这家公司好与不好懂得都懂!小编个人不推荐这家公司哈!!!

公司:深圳市笃实科技有限公司

地点:深圳龙华区龙华区数字创新中心B栋23楼

流程:先做笔试,通过笔试后进行当场面试

一共有8道题。

1、请写出 java 的8种基本数据类型与包装类型,简述两者主要区别(这题这么简单,就不用我写答案了吧,算了,我还是把参考答案写上,仅供参考,写的时候不要和我一样!!!没错,ChatGPT搜的!!!)

答:基本数据类型:byte、short、int、long、float、double、boolean、char;

       包装类型:Byte、Short、Integer、Long、Float、Double、Boolean、Character;

       主要区别:

  1. 存储方式:

    • 基本数据类型直接存储数据值,占用固定的内存空间。
    • 包装类型是对象,因此需要额外的内存空间来存储对象的信息。
  2. 判等方式:

    • 基本数据类型可以使用 == 来比较值是否相等。
    • 包装类型应该使用 .equals() 方法来比较值是否相等。虽然在自动装箱和拆箱的情况下,Java会自动处理基本数据类型和对应包装类型之间的转换,但是在比较时最好使用 .equals()
  3. 空值处理:

    • 基本数据类型不能为 null,因为它们不是对象。
    • 包装类型可以为 null,因为它们是对象,可以赋予 null 值。
  4. 性能:

    • 基本数据类型的操作通常比包装类型更高效,因为它们不涉及对象的创建和销毁。
    • 包装类型适用于需要对象的场景,例如集合类和泛型等。但是在需要高性能的场景下,应该尽量使用基本数据类型。

2、写出下面代码的运行结果

public static void main(String[] args) {
    String str = "scsod-ot-emoclew-olleh";
    String[] stringArr = new StringBuilder().append(str).reverse().toString().split("-");
    for (int i = 0; i < stringArr.length; i++) {
        stringArr[i] = stringArr[i].substring(0,1).toUpperCase() + stringArr[i].substring(1);
    }
    System.out.println(String.join("-",stringArr));
}

答:Hello-Welcome-To-Doscs

3、写出下面代码的运行结果

class Annoyance extends Exception{}
class Sneeze extends Annoyance{}
public class Human {
    public static void main(String[] args) throws Exception {
        try {
            try {
                throw new Sneeze();
            }catch (Annoyance a){
                System.out.println("exception annoyance");
                throw a;
            }
        }catch (Sneeze s){
            System.out.println("exception sneeze");
            return;
        }finally {
            System.out.println("hello world!");
        }
    }
}

答:exception annoyance
       exception sneeze
       hello world!

4、写出下面代码的运行结果

public class ASD {
    public static void main(String[] args) {
        List<A> list = new ArrayList<>();
        A obj = new A();
        for (int i = 0; i < 5; i++) {
            obj.setA(i);
            list.add(obj);
        }
        for (int i = 0; i < 5; i++) {
            A prObj = list.get(i);
            System.out.println(prObj.getA());
        }
    }
    static class A {
        int a;
        public int getA(){
            return a;
        }
        public void setA(int a){
            this.a = a;
        }
    }
}

答:4

       4

       4

       4

       4

5、表达式:double d = 1 - 2/5*5 + 2*5; d的值是哪项?

A.  10.92

B.   9.96

C.   9.0

D.   11.0

答:D

6、A、B、C、D、E站一排照相,其中A、B不能站正中间,有多少种站法

答:72

7、写出下面代码的运行结果

public static void main(String[] args) {
    int[] array = {-4,-3,-2,-1,0,0,1,2,3,4};
    test(array,0,array.length - 1);
    System.out.println(Arrays.toString(array));
}
public static void test(int[] array,int i,int j){
    for (; i < j; i++ , j--){
        array[i] += array[j];
        array[j] = array[i] - array[j];
        array[i] = array[i] - array[j];
    }
}

答:[4, 3, 2, 1, 0, 0, -1, -2, -3, -4]

8. 一列数的规则如下:1、1、2、3、5、8、13、21、34 ......   求第30位数是多少,可用递归算法实现。(小编强调一下,这题考的是斐波那契数列,这题是手写的!!!我从CharGPT拷贝的,不要完全一样!!!)

答:

public class Fibonacci {

    public static void main(String[] args) {
        int n = 30; // 要求解的项数
        long result = fibonacci(n);
        System.out.println("第" + n + "位是:" + result);
    }

    public static long fibonacci(int n) {
        if (n <= 0) {
            return 0;
        } else if (n == 1 || n == 2) {
            return 1;
        } else {
            return fibonacci(n - 1) + fibonacci(n - 2);
        }
    }
}

面试问题:

  1. 简单自我介绍;
  2. 周围的人对你的印象;
  3. 为什么从上一家公司离职;
  4. 说说你的项目经理给你的印象;
  5. 评价你自己;
  6. 平时写代码出现bug怎么解决,怎么测试的,先给测试还是先给前端;
  7. 平时工作的一个流程,比如说项目开始之前;
  8. 期望薪资,最低薪资,上一家公司给多少;
  9. 上一家公司给你的薪资的组成结构;
  10. 接不接受加班;
  11. 简单介绍一下你的项目;
  12. 你负责模块的功能如何实现;
  13. 你觉得程序员对于公司什么是比较有价值的;
  14. 如果能入职,说说你未来5年的职业规划;
  15. 你觉得你的学习能力如何,具体怎么体现;
  16. 你都用过哪些技术栈,掌握得如何;
  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值