영원히 흘러가는 강
신입 웹개발자 기술면접 (자바 ver. 1) 본문
JAVA
기본
- Java 접근 제어자에 대해서 각각 설명해 주세요.
ㄴ> 외부에서 접근하지 못하도록 제한하는 역활 (생략시 default)
public > protected > default > priavate (접근 범위)
public :같은 클래스
protected: 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서
default : 같은 패키지 내에서
private: 같은 클래스 내에서
- JVM의 구조에 대해서 설명해 주세요.
github.com/ryugaram/the-java/blob/main/ryu_gr/ch1.md
위는 나의 깃헙..
- Garbage Collector 에 대해서 설명해 주세요. 어떻게 동작하나요?
ㄴ> 동적 할당된 메모리를 회수해 가는 역활
stop the world를 통해 gc 실행
stop the world는 gc스레드 제외 나머지 스레드 작업 멈추게.
- GC의 종류에 대해서 말해보세요.
ㄴ> Serial Gc , Parallel Gc, CMS Collector , G1 Gc
참고사항 blog.voidmainvoid.net/190
- Java 버전 별 특성에 대해서 아는대로 말해주세요.
ㄴ> 표로 정리 잘된 사이트가 있어서 올려본다
- Java는 Call By Value일까요, Call By Reference 일까요?
ㄴ>Call By Value
- 리플렉션(Reflection)이란 무엇인가요?
ㄴ> 리플렉션은 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입,
변수들에 접근할 수 있도록 해주는 자바 API
라이브러리나, 프레임워크에서 사용 . 동적으로 해결해주기 위해
- Stream API란 무엇인가요?
ㄴ> 자바 8에서 추가된 API로 함수형 인터페이스(람다식)을 적용하여 컬렉션과 같은
저장요소를 반복적으로 처리 가능한 기능
재사용 불가능, 원본 데이터 변경x , 필요할때만 연산함으로 효율적 처리
- Lambda란 무엇인가요?
ㄴ> 자바8에 추가된 큰 기능중 하나로 메서드로 전달할 수 있는 익명클래스 표현식이다
( 파라미터 ) -> { 몸체 }
장점으로는 코드 라인수 감소, 병렬 프로그래밍,가독성 높다
단점으로는 재귀 람다 호출 까다롭다, 클로저 지원 안된다.
- 함수형 인터페이스란 무엇인가요?
ㄴ> 단 하나의 추상 메소드만 가지는 인터페이스
- foreach를 사용할 수 있는 자료구조는 어떤 인터페이스를 상속받고 있나요?
ㄴ> Iterable
- iterator와 iterable 차이는 무엇인가요?
ㄴ> Iterator 인터페이스는 Collection과는 별개로 존재하는 인터페이스이다.
hasNext(), next(), remove() 등이 메소드 이용
iterable은 컬렉션의 상위 인터페이스
iterable 인터페이스 안에는 iterator 메소드가 추상메소드로 선언되어있다.
collection 인터페이스 계층구조에서 list,set,queue
- synchronized 키워드에 대해 설명해 주세요.
ㄴ> 현재 데이터 사용하는 스레드 제외하고 나머지 스레드 데이터에 접근
못하도록 막는 개념.
- final 키워드에 대해서 설명해주세요. 각각의 쓰임에 따라 어떻게 동작하나요?
ㄴ> 상수를 표현하기 위한 예약어.
1.final 변수 - 상수라고도 불림 , 선언 동시에 초기화 이후 수정 불가,get만 가능
2. final 메소드 - 오버라이딩 불가능 ,상속 받은 그대로 사용해야함
3.final 클래스 - 상속 불가 ,subclass 불가
'기술면접' 카테고리의 다른 글
신입 웹개발자 기술면접 (spring) (0) | 2020.12.15 |
---|---|
신입 웹개발자 기술면접(자바 ver. 2) (0) | 2020.12.15 |
신입 웹개발자 기술면접(프로그래밍) (0) | 2020.12.14 |
신입 웹개발자 기술면접(자료구조) (1) | 2020.12.12 |
신입 웹개발자 기술면접(알고리즘) (0) | 2020.12.11 |