N사
N사 기술 면접 질문
경력
: 채용연계형 인턴
채용 프로세스
: 서류 전형 -> 코딩테스트 -> 기술 면접 -> 인턴십 및 인적성(8주) -> 최종 전환 면접 -> 입사
면접 인원
: 1:2 (지원자: 면접관)
Java
Java의 main문이 public static void 인 이유는 무엇인가요?
추상클래스와 인터페이스의 차이점은?
추상화란 무엇인가요?
- 추상화를 하는 이유는 무엇인가요?
객체지향 프로그래밍에는 5가지 특징이 있는데 (SOLID원칙 X), 이 각각의 특징에 대해 설명해보세요.
정답:
- 클래스 + 인스턴스
- 추상화
- 캡슐화
- 상속
- 다형성
public, protected, private의 각각의 특징과 차이점에 대해 설명해보세요
- 또한, 이 각각의 특징을 살려 프로그래밍을 해본 경험을 이야기 해주세요
자바의 Wrapper 클래스에 대해 설명해주세요
자바의 ==과 equals의 차이점은 무엇인가요?
Kotlin
- Java와 Kotlin의 차이점에 대해 아는대로 이야기 해주세요.
- Java에는 없지만 Kotlin에만 있는 변경자는 무엇인가요?
- open class
- internal class
- data class
- sealed class
- Sealed Class의 특징과, 어떤 상황에 사용하는지 말씀해주세요.
- Data class를 사용하는 이유 및 장점은?
- 자바의 "==" 와 코틀린의 "==" 의 차이점은 무엇인가요?
Android
현재 카카오톡을 이용하는 도중에 문자가 와서 SMS앱을 열었다고 가정해볼 때, 현재까지의 상황을 액티비티 생명주기로 설명해주세요
프레그먼트 끼리의 통신은 어떻게 하나요?
- Bundle이란 무엇인가요?
- ViewModel이란 무엇인가요?
Fragment를 생성할 때 생성자를 작성해본 경험이 있나요?
- Fragment 생성자 생성시 인자를 받지 않고 생성하는 이유는 무엇인가요?
Fragment의 생명주기에 대해 설명해주세요
Android의 4대 컴포넌트에 대해 설명해주세요
- 그 중 Service의 역할과 특징에 대해 설명해주세요
private으로 설정한 것들은 필요시 어떻게 얻을 수 있나요?
=> getter와 setter 이용
안드로이드의 UI Thread와 Worker Thread의 차이점에 대해 설명해보세요
CS
- 정렬 알고리즘 중에 2개를 선택하여 각각의 시간복잡도와 특징을 설명해보시오
- 스택 자료구조의 특징에 대해 설명하고 스택의 pop과 push를 구현해보시오
- 프로세스와 스레드에 대해 설명해보세요
- 프로세스와 스레드의 차이점은 무엇인가요?
- 프로세스에 존재하는 각각의 영역에 대해 설명해보세요 (Code, Data, Stack, Heap)
- 교착상태(데드락)에 대해 설명하고, 어떤 상황에 이 현상이 발생할 수 있는지 예시를 들어보세요
- 그리고 이 현상을 방지할 수 있는 방법을 설명해보세요
- 비동기 프로그래밍을 구현해본 경험에 대해 말씀해주세요
- 데이터베이스의 트랜잭션이란 무엇인가요?
+손코딩 문제
면접질문의 답변은 추후에 하나씩 달아드리도록 하겠습니다.
직접 문제의 답변을 찾아서 스스로 답변해보시는 것도 정말 많은 도움이 된다고 생각합니다.
제작자 블로그 : https://hongcoding.tistory.com/
제작자 깃 : https://github.com/HongEunho
감사합니다.