Todos experimentarán entrevistas grandes y pequeñas. La preparación para las entrevistas de Java definitivamente implicará varios puntos de prueba de módulos relativamente grandes. Se puede decir que la matriz es un módulo independiente en Java, y los puntos de conocimiento que contiene han formado una estructura de conocimiento completa. En la inspección real, implicará la discusión de variables, la aplicación real de algoritmos, etc. Preguntas de la entrevista sobre matrices Java.
1. Conocimientos básicos
1. ¿Es necesario inicializar las variables de Java?
incierto. Una variable de matriz Java es una variable de tipo de datos de referencia. No es el objeto de matriz en sí, siempre que la variable de matriz apunte a un objeto de matriz válido, se puede utilizar. La inicialización de una matriz no inicializa la variable de la matriz, sino que inicializa el objeto de la matriz, es decir, asigna un espacio de memoria continuo para el objeto de la matriz, y este espacio de memoria continua es la longitud de la matriz.
2. ¿Se colocan todas las variables de tipo básico en la memoria de la pila?
equivocado. Debería decirse así: todas las variables locales se almacenan en la memoria de la pila, ya sean variables de tipo básico o variables de tipo de referencia, se almacenan en sus respectivas áreas de pila de métodos, pero los objetos a los que se hace referencia mediante variables de tipo de referencia (incluidas las matrices, ordinarias; Los objetos Java) siempre se almacenan en la memoria del montón.
3. ¿Cuándo una variable de referencia es solo la variable misma en la memoria de la pila y cuándo se convierte en un objeto Java que hace referencia a una instancia?
Una variable de referencia es esencialmente solo un puntero. Siempre que el programa acceda a una propiedad a través de una variable de referencia o llame a un método a través de una variable de referencia, la variable de referencia será reemplazada por el objeto al que se refiere.
2. Código de ejemplo
Girar matriz:
Por ejemplo: el elemento en la matriz es 123456 y después de invertirlo es 561234
Dada una matriz de longitud n, es necesario mover los últimos k elementos al frente y los primeros nk elementos hacia atrás.
// Primero mejore el método en la pregunta 1 de la entrevista, cambie el giro de principio a fin para girar de i a j public int[] changeArray2(int[] array, int i, int j) { temperatura interna = 0; mientras (yo < j) { temperatura = matriz[i]; matriz[i] = matriz[j]; matriz[j] = temperatura; yo ++; j--; } //La rotación de la matriz se puede lograr de las siguientes maneras //1. Voltear la primera mitad 2. Voltear la segunda mitad 3. Invertir toda la matriz public int[] swap(int[] array, int k) { int n = matriz.longitud - 1;// n=5 changeArray2(matriz, 0, n - k); changeArray2(matriz, n - k + 1, n); changeArray2(matriz, 0, n); matriz de retorno; } }
Lo anterior es una muestra de las preguntas de la entrevista en matrices Java. Al revisar matrices, debe tener una comprensión clara de la estructura de conocimiento más básica y, al mismo tiempo, debe tener en cuenta algunos puntos de prueba sencillos al revisar.