누구나 크고 작은 인터뷰를 경험하게 될 것입니다. Java 인터뷰 준비에는 상대적으로 큰 모듈 테스트 포인트가 여러 개 포함됩니다. 배열은 Java의 독립적인 모듈이며 그 안에 있는 지식 포인트가 완전한 지식 구조를 형성했다고 할 수 있습니다. 실제 검사에서는 변수에 대한 논의, 알고리즘의 실제 적용 등이 포함됩니다. 아래에서는 공통 사항에 대해 논의합니다. Java 배열 인터뷰 질문을 가져옵니다.
1. 기본지식
1. Java 변수를 초기화해야 합니까?
불확실한. Java 배열 변수는 참조 데이터 유형 변수입니다. 배열 변수가 유효한 배열 개체를 가리키는 한 배열 변수를 사용할 수 있습니다. 배열을 초기화하는 것은 배열 변수를 초기화하는 것이 아니라 배열 객체를 초기화하는 것입니다. 즉, 배열 객체에 연속적인 메모리 공간을 할당하는 것이며, 이 연속적인 메모리 공간이 배열의 길이가 됩니다.
2. 모든 기본 유형 변수는 스택 메모리에 배치됩니까?
잘못된. 다음과 같이 말해야 합니다. 기본 유형 변수이든 참조 유형 변수이든 모든 지역 변수는 스택 메모리에 저장되며 해당 메소드 스택 영역에 저장되지만 참조 유형 변수(배열, 일반 포함)에 의해 참조됩니다. Java 객체)은 항상 힙 메모리에 저장됩니다.
3. 참조 변수는 언제 스택 메모리의 변수 자체가 되며, 언제 인스턴스를 참조하는 Java 객체가 됩니까?
참조 변수는 본질적으로 포인터일 뿐입니다. 프로그램이 참조 변수를 통해 속성에 액세스하거나 참조 변수를 통해 메서드를 호출하는 한 참조 변수는 참조하는 개체로 대체됩니다.
2. 예제 코드
배열 회전:
예를 들어 배열의 요소는 123456이고 뒤집은 후에는 561234입니다.
길이가 n인 배열이 주어지면 마지막 k개 요소를 앞으로 이동하고 처음 nk개 요소를 뒤로 이동해야 합니다.
//먼저 인터뷰 질문 1의 방법을 개선하고 처음부터 끝까지 뒤집기를 i에서 j로 뒤집도록 변경합니다. public int[]changeArray2(int[] array, int i, int j) { 정수 온도 = 0; 동안 (i < j) { 온도 = 배열[i]; 배열[i] = 배열[j]; 배열[j] = 온도; 나++; j--; } //배열 회전은 다음과 같은 방법으로 수행할 수 있습니다. //1. 전반부 뒤집기 2. 후반부 뒤집기 3. 전체 배열 뒤집기 public int[] swap(int[] array, int k) { int n = array.length - 1;// n=5 changeArray2(배열, 0, n - k); changeArray2(배열, n - k + 1, n); changeArray2(배열, 0, n); 반환 배열; } }
위는 Java 배열에 대한 면접 질문을 표시한 것입니다 . 배열을 검토할 때는 가장 기본적인 지식 구조를 명확하게 이해해야 하며 동시에 검토할 때 몇 가지 쉬운 테스트 포인트를 고려해야 합니다.