Skip to main content

N사

N사 기술 면접 질문

경력: 채용연계형 인턴

채용 프로세스: 서류 전형 -> 코딩테스트 -> 기술 면접 -> 인턴십 및 인적성(8주) -> 최종 전환 면접 -> 입사

면접 인원: 1:2 (지원자: 면접관)


Java

  • Java의 main문이 public static void 인 이유는 무엇인가요?

  • 추상클래스와 인터페이스의 차이점은?

  • 추상화란 무엇인가요?

    • 추상화를 하는 이유는 무엇인가요?
  • 객체지향 프로그래밍에는 5가지 특징이 있는데 (SOLID원칙 X), 이 각각의 특징에 대해 설명해보세요.

    정답:

    1. 클래스 + 인스턴스
    2. 추상화
    3. 캡슐화
    4. 상속
    5. 다형성
  • 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

감사합니다.