Skip to content

Java EE 개발자를 고용시 물어볼만한 몇가지 면접 질문

2월 8, 2012

1. Java5/6 EE의 표준에 대해 비교할때 나아진점이 뭐가 있다고 생각하시나요?

새로운 기능을 중점적으로 말해보자면 XML의 설정없이 그를 대신할수있는 Annotation의 등장이라고 볼수 있을거같군요.

XML을 대신해서 POJO를 정의하고 대체할수있게 되었죠.

그리고 POJO의 대해 엔터프라이즈 하게 사용할수 있게 DI를 EJB에서 단순하게 사용할수 있게 되었죠.(CDI)

마지막으로 persistence계층은 완전 JPA로 대체 되었습니다.

2. 두 엔터프라이즈 시스템에 다른 플랫폼으로 개발시 그 두 시스템간의 데이터 교환시 제공 할만한게 뭐가 있을까요?

시나리오에 따라 메시징 큐나 웹서비스를 언제라도 제공할수 있게 하는것이 관건이다. 예를 들어 시스템이 데이터를 전송시 가능한 빨리 해당 시스템으로 그것을 사용할때든  다른 시스템이 전송할때든 여러시스템에 전송할때든  여러 시스템이 데이터를 만들고 있을때든 빨리 전송할수있는 메시지 큐잉(mq) 시스템을 추천합니다.

3.  Java EE에서 비동기화 코드를  구현시 제안할만한게 뭐가 있을까요?

몇개의 옵션을 들어 보자면

1) MDB로 하나의 큐가 소비되는 대기열에 메시지를 게시할수 있습니다.

2) annotation 메소드중 @Timer를 정의하여 일정시간 마다 코드가 실행되도록 할수 있습니다.

3) @Scheduler를 정의하여 시간을 선언해놓고 그때마다 코드가 실행되도록 할수 있습니다.

4. 무상태 빈과 상태빈 그리고 싱글톤 세션 빈에 대해서 설명해보세요.

1. 무상태 빈

무상태 빈은 비지니스 트랜잭션간에 개체 상태의 유지가 필요없을때 사용된다.

모든 트랜잭션은 자체 인스턴스를 가지고 있고, Component의 인스턴스는 객체의 풀을 조회 할수있다.

그것은 여러 작업이 데이터베이스의 일관성을 유지하기 위해 트랜잭션내에서 수행되는 경우 대부분에 해당된다.

2. 상태빈

상태 빈은 비지니스 트랜잭션 간에 객체 상태의 유지가 필요할때 사용된다.

모든 Component의 인스턴스는 자기자신의 객체를 가지고 있다. 이러한 객체들은 다른 트랜잭션에서 수정이 가능하다. 그리고 활동이 없을 경우 일정 시간에 도달하면 자동으로 삭제된다.

그것들은 데이터베이스와 IO 작업의 볼륨을 줄이기 위해 이러한 매김에 대한 참조 데이터 및 긴 레코드 집합과 같은 집약적인 이용과 그 데이터를 캐시하는 데 사용할 수 있습니다.

3. 싱글톤 세션 빈

싱글통 세션 빈은  하나의 어플리케이션에 하나씩 순간적으로 생성되는 생명주기를 가진다.

싱글톤 세션 빈은 싱글톤 세션 빈은 단일 엔터 프라이즈 빈 인스턴스가 클라이언트에 공유되고 동시에 액세스되는 환경을 위해 설계되었습니다.

동시에 액세스할 때 충돌을 피하기 위해 구현에 주의를 필요로 클라이언트 호출들 간에 자신의 상태를 유지합니다.

5. 메시징 큐잉 시스템에서 Queue와 topic의 다른점이 뭐가 있을까요?

Queue는 한 customer에서 하나의 producer messages를 보낼수있고(1-1)

topic은 여러 subscriber들에게 pulisher message를 보낼수있다.(1-N)

6. XML컨텐츠를 import하거나 export시 당신이 고려하는 전략들은 뭐가 있나요?

만약 xml문서의 스키마가 정의 되있다면 직렬화와 객체 JAXB를 이용해 스키마에 따라 XML에서/으로 객체를 직렬화/역직렬화를 할수있을것이다.

만약 스키마가 존재하지 않은다면 두가지 측면에서 모색해볼수가 있다.

첫번째로 전체 XML내용을 고려해야할때

전체 문서를 접근할때는 SAX

무작위로 접근할때는 DOM을 이용한다.

두번째로 전체 XML내용을 고려하지 않을때

XPath를 이용하거나

문서에서 원하는 부분을 각각 찾은후 즉시 수행하는 StAX를 사용할수가 있다.

7. 관계형 모델 과 객체형 모델의 다른점이 뭐가 있을까요?

객체 모델은 관계형 모델로 연결됩니다. 그러나 고려해야할 몇몇 차이점이 존재합니다.

관계형 모델의 구성에는 외래키와 같은 타입의 목표의 기본키를 가지고 있다. 그러나 개체 모델 및 전체 관련된 개체의 특성 포인트는 다르다.

관계형 모델에서 중개 요소가 필요한 반면 중개요소 없이 객체 모델은 N-N 관계가 가능합니다.

거기에는 상속이나 인터페이스, 관계형 모델의 다형성이 제공되지 않는다.

8. XML스키마 중 XSLT,WSDL,SOAP의 다른점이 뭐가 있을까요?

XML스키마에는 XML문서 구조 구조가 정의되있다. 그리고 그것은 문서의 유효성 검증에도 이용됩니다.

WSDL는 SOAP기반의 웹서비스 인터페이스가 정의 되있다.

그것은 매개 변수로 전달되는 기존의 복잡한 형식을 정의하는 XML 스키마를 참조하거나 호출자에게 반환할수있다.

SOAP는 웹서비스 호출로부터 데이터를 교환할수 있는 포맷을 가지고 있다.

XSLT는 XML문서의 다른 문서의 포맷으로 변환하는데 사용될수있다.

9. 팀의 생산성을 향상 시키는 방법에는 뭐가 있을까요?

– 이것은 각자 생각하는 바가 틀릴듯

만약 여기에 살을 보태서 질문을 하고 싶다면 unit 테스트 라든가 DI라든가

version control 이라든가를 추가적으로 물어볼수 있을거같다.

http://www.hildeberto.com/2011/09/some-interview-questions-to-hire-java.html 를 번역했습니다.

Advertisements

From → Java, Uncategorized

댓글 남기기

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: