🚌 2024년 11월 25일~ 2024년 12월 1일까지의 주제는 자바다.
💡 공통으로 준비한 질문
1️⃣ 첫번째 접은 글은 내 말로 풀어쓴 정답
2️⃣ 두번째 접은 글은 해석 또는 공부한 내용 또는 추가적으로 궁금한 내용
1. Java의 장단점에 대해 설명해주세요.
더보기
- 장점
- 운영체제에 독립적입니다.
- JVM에서 동작하기 때문에
- 객체지향 언어입니다.
- 객체지향적으로 프로그래밍 하기 위해 캡슐화, 상속, 추상화, 다형성 등을 지원합니다.
- 자동으로 메모리 관리를 해줍니다.
- GC가 일어나기 때문에 비즈니스 로직에 집중할 수 있습니다.
- 오픈 소스입니다.
- 멀티 스레드를 쉽게 구현할 수 있습니다.
- 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하고 있기 때문에 실행되는 운영체제에 상관없이 멀티 스레드를 쉽게 구현할 수 있습니다.
- 동적 로딩을 지원합니다.
- 유지 보수 시 해당 클래스만 수정할 수 있습니다.
- 운영체제에 독립적입니다.
- 단점
- 비교적 속도가 느립니다.
- 한 번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 기계어로 번역되고 실행과정을 거치기 때문에 속도가 느립니다.
- 예외처리가 불편합니다.
- 비교적 속도가 느립니다.
2. Java에서, ==와 equals의 차이는 무엇인지 알고 계시나요?
더보기
- ==이란?
- 항등 연산자입니다.
- 참조 비교(같은 메모리 공간을 가리키는가)를 합니다.
- 변환 형태가 boolean type입니다.
- 모든 기본 유형(Primitive Type : byte, short, char 등)에 대해 적용할 수 있습니다.
- equals()란?
- 객체 비교 메서드입니다.
- 내용 비교(값 비교, 데이터 or 내용)를 합니다.
- 반환 형태도 boolean type 입니다.
- 기본 유형에 대해 적용할 수 없습니다.
3. try-catch-finally의 단점과, 이로 인해 나온 구문에 대해 알고 계신다면 설명해주세요.
더보기
- finally 키워드가 나온 이유는 try-catch 블록이 종료될 때 항상 실행될 코드 블록을 정의하기 위해 사용하기 시작했습니다. finally는 선택적으로 try 혹은 catch 블록 뒤에 정의할 때 사용합니다.
- finally 블록은 예외가 발생하더라도 항상 실행합니다. 단, JVM이 try 블록 실행 중에 종료되는 경우는 제외됩니다.
- finally 블록은 종종 뒷마무리 코드를 작성하는 데 사용하며, try와 catch 블록 다음과 통제권 이전으로 다시 돌아가기 전 사이에 실행됩니다.
4. stream API에 대해 설명해주세요.
더보기
- Stream API란?
- Java 8에서 추가된 API입니다.
- 데이터를 다루는데 자주 사용되는 메소드를 정의합니다.
- 컬렉션 타입의 데이터를 Stream 메소드에서 내부 반복을 통해 정렬, 필터링 등이 가능합니다.
- 특징
- 병렬 처리를 위해 사용하는 common fork join pool을 사용하는 parallel() 메소드를 제공합니다.
- common fork join pool이란?
- 각 스레드가 개별 큐를 가지고 있으며, 놀고 있는 스레드가 있으면 일하는 스레드의 작업을 가져와 수행하여 최적의 성능 도출
- 배열, ArrayList 사용시 유리
- common fork join pool이란?
- Immutable 함
- Lazy 함
- 중간 연산을 여러 개 작성 시 모두 합쳐서 진행하고, 합쳐진 연산을 최종 연산에서 한 번에 처리
- 재사용 불가능
- 병렬 처리를 위해 사용하는 common fork join pool을 사용하는 parallel() 메소드를 제공합니다.
- 장점
- 내부 반복을 사용하기 때문에 불필요한 코딩 과정을 줄일 수 있고, 코드 가독성을 향상 시킨다.
❔ 개인으로 준비한 질문
1. 고유 락에 대해 설명해 주세요
2. Primitive Type과 Reference Type에 대해 설명해 주세요.
3. Call by value와 Call by reference에 대해 설명해 주세요.
4. static과 non-static에 대해 설명해 주세요.
'개인 공부 > TIL' 카테고리의 다른 글
[ TIL - CS ] 면접을 위한 CS 공부 11편 - 스프링 - (0) | 2024.11.29 |
---|---|
[ TIL - CS ] 면접을 위한 CS 공부 9편 - 자바 - (0) | 2024.11.25 |
[ TIL - CS ] 면접을 위한 CS 공부 8편 - 네트워크 - (0) | 2024.11.22 |
[ TIL - 면접 ] 자소서 질문 대비 공부 4편 - JWT 편 - (0) | 2024.11.20 |
[ TIL - CS ] 면접을 위한 CS 공부 7편 - 네트워크 - (0) | 2024.11.18 |