기금넷 공식사이트 - 복권 조회 - 컴퓨터 전문 면접

컴퓨터 전문 면접

면접에 대해 이야기할 이유가 없다. 그것의 일부 주제는 불합리하여 실제에서 벗어났다. 어떤 것은 종이에 쓴 것이고, 어떤 것은 면전에서 너를 시험한 것이고, 어떤 것은 전화로 물어본 것이다. IDE 에 대한 견적은 거의 없습니다 (그렇지 않으면 복권에 당첨될 수 있음). 그래서 만약 당신이 이 문장 을 다 본다면, IDE 가 이 문제들을 해결할 수 있다고 불평하지 마세요. 어떤 상황에서도, 너는 반드시 이 질문들에 정확하게 대답해야 한다. 면접에서 한두 가지 질문에 대한 대답이 정확하지 않다면, 너는 거절당할 가능성이 높다. 물론, 이것들은 모두 Java 의 기본적인 문제이다. 대부분의 면접자들은 Hibernate 가 얼마나 고급한지, Eclipse 의 세 가지 구성 요소, 또는 명령 디자인 패턴을 묻지 않는다. 모두 나이든 세대인데, 가장 즐겨 묻는 것이 바로 기초지식이다. 이런 기초들을 얕보지 마라. 내 친구는 수준이 일류여서, 결국 기초지식 문제에 걸려 고임금을 받을 기회가 없었다. 좋아, 쓸데없는 소리 그만하고 본론으로 돌아가자. 먼저 final 의 차이점에 대해 이야기하고, 마지막은 finalize 입니다. Final 은 속성, 메서드 및 클래스를 선언하는 데 사용되며 각각 속성이 불변, 메서드를 다시 쓸 수 없음 및 클래스를 상속할 수 없음을 나타냅니다. Finally 는 예외 처리 문 구조의 일부입니다. 즉, 항상 실행됩니다. Finalize 는 Object 클래스의 메서드입니다. 가비지 수집기가 실행되면 객체 재활용에 대한 이 메서드가 호출되어 가비지 수집이 제공될 때 파일 닫기와 같은 다른 가비지 수집을 다시 작성할 수 있습니다. 둘째, 익명 내부 클래스가 다른 클래스를 확장하고 인터페이스를 구현할 수 있습니까? 다른 클래스를 상속하거나 다른 인터페이스를 완료할 수 있습니다. 이는 swing 프로그래밍에 자주 사용됩니다. 셋째, 정적 중첩 클래스와 내부 클래스의 차이는 많이 말할수록 좋다 (일부 면접 문제는 매우 일반적이다). 정적 중첩 클래스는 정적으로 선언된 내부 클래스이며 외부 클래스 인스턴스와 독립적으로 인스턴스화될 수 있습니다. 그러나 일반적인 내부 클래스는 외부 클래스가 인스턴스화된 후 인스턴스화되어야 합니다. 넷째,&; && 와 다릅니다. & amp 는 비트 연산자입니다. 즉, 비트 AND 연산입니다. & amp 는 논리 and (및) 를 나타내는 논리 연산자입니다. 다섯째, HashMap 과 Hashtable 의 차이점. HashMap 은 Hashtable 의 경량 구현 (스레드 없는 보안 구현) 으로 모두 Map 인터페이스를 완성했습니다. 주요 차이점은 HashMap 가 Null 키를 허용한다는 것입니다. 이는 스레드 보안이 아니기 때문에 Hashtable 보다 더 효과적일 수 있습니다. 여섯째, 수집과 수집의 차이. 컬렉션은 컬렉션 클래스의 상위 인터페이스이며, 해당 인터페이스는 주로 컬렉션과 목록입니다. Collections 는 collection 클래스의 도움말 클래스로서 다양한 컬렉션의 검색, 정렬 및 스레드 보안과 같은 작업을 수행하는 일련의 정적 메서드를 제공합니다. 일곱째, assert 를 사용할 때. 1.4 키워드 (구문) 를 추가하여 프로그램을 디버깅하는 데 사용할 수 있는 부울 표현식의 상태를 테스트합니다. Assert 메서드를 사용하여 표현식이 true 이면 다음 문이 실행되고 그렇지 않으면 AssertionError 가 발생함을 나타냅니다. Assert 를 사용하는 또 다른 방법: & ltOther expression >, 즉 표현식이 true 이면 다음 표현식이 무시됩니다. 그렇지 않으면 다음 표현식의 값이 AssertionError 의 구성 매개 변수로 사용됩니다. 컴파일 시 -source 1.4 매개 변수를 늘리십시오. 그렇지 않으면 오류가 보고됩니다. ] 런타임에–ea 매개 변수를 추가합니다. 그렇지 않으면 어설 션 행이 무시됩니다. 여덟째, GC 란 무엇입니까? 왜 GC 가 있을까요? GC 는 Gabage Collection 을 의미하며 메모리 처리는 프로그래머가 문제가 발생하기 쉬운 곳이다. 잊어버리거나 부정확한 메모리 복구로 인해 프로그램이나 시스템이 불안정하거나 충돌할 수 있습니다. Java 에서 제공하는 GC 함수는 객체가 범위를 벗어났는지 자동으로 모니터링하여 메모리를 자동으로 재확보합니다. Java 언어는 할당된 메모리를 해제하는 표시 작업 방법을 제공하지 않습니다. 아홉 번째, 문자열 s = 새 문자열 ("XYZ"); 얼마나 많은 stringobjects 를 만들었습니까? 두 개의 10 의 수는 얼마입니까, Math.round( 1 1.5)? Math.round 는 얼마입니까 (-1 1.5)? Math.round (11.5) = =12 math.round (-/kloc-0-) S1= s1+1; 왜 그래요? 짧은 s1=1; S1+=1; 왜 그래요? 짧은 s1=1; S1= s1+1; (s 1+ 1 int 유형 계산 결과, 유형 강제 변환 필요) short s1=1; S1+=1; 열두 번째, sleep () 와 wait () 의 차이점은 무엇입니까? Sleep 은 이 스레드를 일정 기간 동안 일시 중지하고 실행 기회를 다른 스레드에게 양보하지만 모니터링 상태는 그대로 유지되며 자동으로 다시 시작됩니다. Sleep 을 호출해도 객체 잠금이 해제되지 않습니다. Wait 는 Object 클래스의 메서드입니다. 이 객체에서 wait 메서드를 호출하면 스레드가 객체 잠금을 포기하고 잠금 풀에 들어가 이 객체를 기다립니다. 이 스레드는 이 객체에 대해 notify 메소드 (또는 notifyAll) 가 실행된 후에만 객체 잠금 풀로 들어가 객체 잠금을 획득하고 실행 상태로 들어갑니다. 열세 번째, 자바는 고토가 있나요? 13 가지 문제는 없습니다. 만약 어느 면접관이 이 질문을 한다면, 나는 너에게 이 회사에 들어가지 말라고 충고한다. (완료) (job.sohu.com)

열네 번째 배열에 length () 메서드가 있습니까? String 에 length () 메서드가 있습니까?

배열에는 length () 메서드는 없지만 length 의 속성은 있습니다.

문자열의 메서드 길이는 () 입니다.

다섯째, 과부하와 월권의 차이. 오버로드 된 메서드가 반환 값의 유형을 변경할 수 있습니까?

메서드의 커버리지와 오버로드는 Java 다형성의 다른 표현이다. 다시 쓰기는 상위 클래스와 하위 클래스 간의 다형성의 표현이며, 다시 로드는 한 클래스에서 다형성의 표현입니다. 하위 클래스에 정의된 메서드의 이름과 매개 변수가 상위 클래스와 같으면 메서드가 다시 작성되었다고 합니다. 하위 클래스의 객체가 이 메서드를 사용하면 하위 클래스의 정의가 호출됩니다. 상위 클래스의 정의는 "차폐" 된 것처럼 보입니다. 한 클래스에 이름이 같은 여러 메서드가 정의되어 있는 경우 매개 변수 번호가 다르거나 매개 변수 유형이 다를 수 있습니다. 이를 메서드 오버로드라고 합니다. 오버로드 된 방법은 반환 값의 유형을 변경하는 것입니다.

열여섯 번째, 집합 안의 원소는 반복할 수 없다. 그렇다면 어떤 방법으로 반복할지 구분할 수 있을까? 예 = = 또는 같음 ()? 이 둘의 차이점은 무엇입니까?

컬렉션의 요소는 반복할 수 없으므로 iterator () 메서드를 사용하여 반복 여부를 구분합니다. Equals () 는 두 컬렉션이 같은지 여부를 결정하는 것입니다.

Equals () 및 = = 메서드는 참조 값이 동일한 객체를 가리키는지 여부를 결정합니다. Equals () 는 클래스에서 재정의되어 두 독립 객체의 내용과 유형이 일치할 때 true 값을 반환합니다.

열일곱 번째, 당신이 가장 자주 듣는 런타임 이상을 주세요.

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException CMMException, concurrentmodificationexception, DOMException, EmptyStackException, IllegalArgumentException, illegalargumentexception

ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, undeclaredtion

열여덟 번째, 실수와 이상 사이의 차이점은 무엇입니까?

오류는 복구가 불가능하지 않고 어려울 때 복구가 심각한 문제라는 것을 의미합니다. 예를 들어, 메모리 오버플로가 있습니다. 프로그램이 이런 상황을 처리할 것을 기대하는 것은 불가능하다.

예외는 설계 또는 구현 문제를 나타냅니다. 즉, 프로그램이 정상적으로 작동한다면 결코 일어나지 않을 것이다.

19 번째, 목록, 설정, 맵이 컬렉션 인터페이스에서 상속됩니까?

목록, 설정

지도는 그렇지 않다

스물, 추상 클래스와 인터페이스의 차이점은 무엇입니까?

메서드를 선언하고 구현하지 않는 클래스를 추상 클래스라고 합니다. 몇 가지 기본 동작을 반영하는 클래스를 만들고 이 클래스에 대한 메서드를 선언하고 싶지만 이 클래스에서 이 클래스를 구현할 수 없을 때 사용해야 합니다. 추상 클래스의 인스턴스를 만들 수 없습니다. 그러나 추상 클래스 유형의 변수를 만들어 특정 하위 클래스의 인스턴스를 가리킬 수 있습니다. 추상 생성자나 추상 정적 메서드는 가질 수 없습니다. 추상 클래스의 하위 클래스는 상위 클래스의 모든 추상 메서드에 대한 구현을 제공합니다. 그렇지 않으면 추상 클래스이기도 합니다. 대신 하위 클래스에서 이 메서드를 구현합니다. 그 동작을 아는 다른 클래스는 클래스에서 이러한 메서드를 구현할 수 있습니다.

인터페이스는 추상 클래스의 변형입니다. 인터페이스에서 모든 방법은 추상적입니다. 이러한 인터페이스를 구현하면 여러 상속을 얻을 수 있습니다. 인터페이스의 모든 방법은 추상적이며 프로그램 본문이 없습니다. 인터페이스에서는 정적 최종 멤버 변수만 정의할 수 있습니다. 인터페이스 구현은 하위 클래스 구현과 비슷하지만 구현 클래스는 인터페이스 정의에서 비헤이비어를 상속할 수 없습니다. 클래스가 특수 인터페이스를 구현할 때 이러한 모든 인터페이스의 메서드를 정의 (즉, 프로그램 본문) 합니다. 그런 다음 인터페이스를 구현하는 클래스의 모든 객체에서 인터페이스 메서드를 호출할 수 있습니다. 추상 클래스로 인해 인터페이스 이름을 참조 변수의 유형으로 사용할 수 있습니다. 일반적인 동적 바인딩이 적용됩니다. 참조는 인터페이스 유형과 상호 변환될 수 있으며 instanceof 연산자를 사용하여 객체의 클래스가 인터페이스를 구현하는지 여부를 결정할 수 있습니다.

스물 한 번째, 추상적인 방법은 정적이고, 기본적이고, 동기화될 수 있습니까?

모두 아닙니다.

스물 두 번째 인터페이스는 인터페이스를 상속할 수 있습니까? 추상 클래스가 인터페이스를 구현할 수 있습니까? 추상 클래스가 특정 클래스를 상속할 수 있습니까?

인터페이스는 인터페이스에서 상속할 수 있습니다. 추상 클래스는 추상 클래스가 엔티티 클래스를 상속할 수 있는지 여부에 관계없이 인터페이스를 구현할 수 있습니다. 단, 엔티티 클래스에 명시적 생성자가 있는 경우에만 인터페이스를 구현할 수 있습니다.

스물 세 번째, 당신은 run () 또는 start () 를 사용하여 스레드를 시작하십니까?

스레드를 시작하려면 start () 메서드를 호출하여 스레드가 나타내는 가상 프로세서를 실행 가능하게 만듭니다. 즉, JVM 일정에 의해 실행될 수 있습니다. 그렇다고 스레드가 즉시 실행된다는 의미는 아닙니다. Run () 메서드는 종료해야 하는 플래그를 생성하여 스레드를 중지할 수 있습니다.

스물 네 번째, 생성자를 다시 쓸 수 있나요?

생성자는 상속할 수 없으므로 다시 로드할 수는 없지만 다시 로드할 수 있습니다.

스물 다섯 번째 문자열 클래스를 상속할 수 있나요?

String 클래스는 final 클래스이므로 상속할 수 없습니다.

26 번째, 한 스레드가 한 개체의 동기화 방법에 들어갈 때 다른 스레드가 이 개체의 다른 방법에 들어갈 수 있습니까?

아니요, 객체의 동기화 메서드는 하나의 스레드에서만 액세스할 수 있습니다.

27 번째, try {} 에 return 문이 하나 있는데, 이 try 뒤의 finally {} 에 있는 코드는 즉시 실행됩니까, 언제 실행됩니까, return 이전 또는 이후?

돌아가기 전에 실행됩니다.

28 번, 프로그래밍 질문: 가장 효율적인 방법으로 2 곱하기 8 을 계산하면 얼마입니까?

C 배경을 가진 프로그래머들은 특히 이런 질문을 하는 것을 좋아한다.

2<& lt 3

29 번째, 두 객체는 같은 값 (x.equals(y) == true) 을 가지고 있지만 해시 코드는 다를 수 있습니다. 이게 맞습니까?

아니요, 동일한 해시 코드를 가지고 있습니다.

30 번째, 객체가 인수로 메서드에 전달될 때 이 메서드는 객체의 속성을 변경하고 변경된 결과를 반환합니다. 그렇다면 이것은 값 전달입니까, 아니면 참조 전달입니까?

가치 이전입니다. Java 프로그래밍 언어는 값을 통해서만 매개 변수를 전달합니다. 객체 인스턴스가 메서드에 매개 변수로 전달되는 경우 매개 변수 값은 객체에 대한 참조입니다. 객체의 내용은 호출된 메서드에서 변경할 수 있지만 객체에 대한 참조는 변경되지 않습니다.

서른한 번째, swtich 가 byte, long, String 에 작용할 수 있나요?

스위치 (expr 1) 에서 expr1은 정수 표현식입니다. 따라서 switch 및 case 문에 전달되는 인수는 int, short, char 또는 byte 여야 합니다. 밧줄은 길지도 짧지도 않다.

32 번, 프로그래밍 문제: 단량체를 쓰세요.

Singleton 스키마의 주요 기능은 Java 응용 프로그램에 클래스의 인스턴스가 하나만 있는지 확인하는 것입니다.

일반적인 단일 인스턴스 패턴은 일반적으로 여러 가지 형태가 있습니다.

첫 번째 형식: 생성자가 비공개인 클래스를 정의합니다. 이 클래스에는 정적 전용 변수가 있습니다. 클래스가 인스턴스화되면 공용 getInstance 메서드를 통해 해당 클래스에 대한 참조를 가져온 다음 해당 메서드를 호출합니다.

공용 클래스 Singleton {

개인 Singleton(){}

//자체 내부에 자신의 인스턴스를 정의하는 것이 이상하지 않습니까?

//이는 개인용이며 내부 호출에만 사용됩니다.

개인 정적 Singleton 인스턴스 = new singleton ();

//직접 액세스할 수 있는 외부 액세스 클래스의 정적 메서드가 있습니다.

공용 정적 Singleton getInstance() {

인스턴스를 반환합니다

}

}

두 번째 형식:

공용 클래스 Singleton {

개인 정적 단일 인스턴스 = null

공용 정적 동기화 단일 인스턴스 getInstance() {

//이 방법은 위의 방법보다 낫다. 매번 객체를 생성하지 않는 것은 이번이 처음입니다.

//사용 중 인스턴스를 생성하여 효율성을 높입니다!

If (instance==null)

Instance = new singleton ();

인스턴스를 반환합니다 }

}

기타 형식:

생성자가 비공개이고 모든 메서드가 정적인 클래스를 정의합니다.

일반적으로 첫 번째 형식이 더 안전하다고 생각합니다.