java费布拉切数列前40个数_测试开发面试(一)代码能力

1. hashcode和equals的区别?

hashcode不完全靠谱,因为两个不同的对象hashcode可能会相同。所以比较两个对象是否相等,首先比较hashcode,如果hashcode相等,再比较equals,如果equals也相等,则两个对象肯定相等。如果hashcode不等,则两个对象肯定不相等。

2. ++i和i++

i++ 先赋值,后加1

++i 先加1,后赋值

@Test

public void test9() {

int i = 1;

int j = i++;

System.out.println("i=" + i); // 先给i赋值1,再给i+1,结果为2

System.out.println("j=" + j); // 把i的值赋值给j,结果为1

System.out.println("i++ = " + (i++)); //先给i赋值1,再给i加1,结果为2

int m = 1;

int n = ++m;

System.out.println("m=" + m); //2

System.out.println("n=" + n); //2

System.out.println("++m =" + (++m)); //3

}

3. &和&&的区别

&& 当左边为true时,才执行右边;左右两边都为true,结果才为true

& 不管怎样左右两边都会执行,左右两边有一个为false则为false。

@Test

public void test10() {

String str = "admin";

if (str != null & !str.equals("")) {

System.out.println("OK");

}

}

4. 什么时候用接口什么时候用抽象类

5. 重载和重写的区别

6. 写一个多态的demo

7. 统计字符串每个字符出现的次数,并根据出现的次数排序

8. 小字符串在大字符串中出现的次数

9. 英文句子倒序输出

10. String内存分析

11. 常用的集合有哪些,如何遍历map(手写),map有什么特性

12. ArraryList为什么查询快、增删慢

13. LindedList为什么查询慢、增删快

14. HashSet 和 TreeSet 有什么区别

15. compareTo

16. Comparable 和 Comparator 接口是干什么的?列出它们的

17. 为什么集合类没有实现 Cloneable 和 Serializable 接口

18. Enumeration 接口和 Iterator 接口的区别有哪些?

19. hashmap原理

20. 常用的流有哪些,读文件用什么流,写文件用什么流,如何实现文件读写

21. 打印树形目录结构

22. 统计指定目录下文件的大小并排序

23. 统计指定目录下.java文件的个数,并删除

24. 进程和线程

25. Thread和Runnabl的关系

26. 实现线程有几种方式,写个demo出来

27. 线程的生命周期

28. ArrayList为什么是线程不安全的

29. Runnable 和Callable区别的区别

30. 死锁理解和例子

31. 3窗口卖100张票

32. 单利模式

33. 冒泡排序

@Test

public void test12() {

int[] a = {9, 8, 7, 6, 5};

for (int i = 0; i < a.length - 1; i++) { //控制趟数

for (int j = 0; j < a.length - 1 - i; j++) {//控制每趟交换的次数

if (a[j] > a[j + 1]) {

int temp = a[j];

a[j] = a[j + 1];

a[j + 1] = temp;

}

}

}

//遍历

for (int aa : a) {

System.out.println(aa);

}

}

34. 遍历链表

35. 检查链表是否闭环

36. 费布拉切数列

37. java如何读取excel里的文件,思路是什么

38. 写过什么工具没有

39. 内存泄露的demo

40. 如何比较两个map、两个json、json转map

41. dubbo原理图

42. 反射

43. java内存分析

44. 把两个数组合并到一个数组中

@Test

public void test11() {

int[] arr1 = {28, 87, 98, 87};

int[] arr2 = {23, 76, 89, 90};

//因为数组长度不可变,所以新的数组需要重新定义,长度为两个旧数组长度和

int[] arr = new int[arr1.length + arr2.length];

//遍历新数组

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

if (i < arr1.length) {

arr[i] = arr1[i]; //把数组arr1的元素放入新数组

} else {

arr[i] = arr2[i - arr1.length]; //把数组arr2的元素放入新数组

}

}

System.out.println("-------排序前-----------");

for (int a : arr) {

System.out.print(a + " ");

}

System.out.println("--------排序后-----------");

Arrays.sort(arr);

for (int a : arr) {

System.out.print(a + " ");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值