21xrx.com
2024-12-26 21:33:27 Thursday
登录
文章检索 我的文章 写文章
Java面试备战:重温常见问题与案例
2023-06-15 18:56:37 深夜i     --     --
Java面试 常见问题 案例

在准备Java面试时,大多数人都会通过刷题来提高自己的技能水平。但是,还有很多常见问题和案例可以让你更好地准备面试。下面是一些常见问题和案例,供您在准备面试时参考。

1. 随机生成一个字符串,使其长度为6,并包含字母和数字


import java.util.Random;

public class RandomStringGenerator {

  public static void main(String[] args) {

    String randomString = "";

    Random rand = new Random();

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

      if (rand.nextBoolean()) {

        randomString += rand.nextInt(10);

      } else {

        char c = (char) (rand.nextInt(26) + 'a');

        randomString += c;

      }

    }

    System.out.println(randomString);

  }

}

2. 实现一个单例模式


public class Singleton {

  private static Singleton instance = null;

  private Singleton()

  

  public static Singleton getInstance() {

    if (instance == null) {

      instance = new Singleton();

    }

    return instance;

  }

}

3. 写一个快排算法


public class QuickSort {

  public static void main(String[] args) {

    int[] arr = 3;

    quickSort(arr, 0, arr.length - 1);

    System.out.println(Arrays.toString(arr));

  }

  private static void quickSort(int[] arr, int start, int end) {

    if (start < end) {

      int partitionIndex = partition(arr, start, end);

      quickSort(arr, start, partitionIndex - 1);

      quickSort(arr, partitionIndex + 1, end);

    }

  }

  private static int partition(int[] arr, int start, int end) {

    int pivot = arr[end];

    int i = start - 1;

    for (int j = start; j < end; j++) {

      if (arr[j] <= pivot) {

        i++;

        int temp = arr[i];

        arr[i] = arr[j];

        arr[j] = temp;

      }

    }

    int temp = arr[i + 1];

    arr[i + 1] = arr[end];

    arr[end] = temp;

    return i + 1;

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复