21xrx.com
2025-03-25 14:06:41 Tuesday
文章检索 我的文章 写文章
Java面试备战:重温常见问题与案例
2023-06-15 18:56:37 深夜i     9     0
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;
  }
}

  
  

评论区

请求出错了