24.08.21 면접카타 #1

Dyaoss·2024년 8월 21일
0

내배캠 면접카타

목록 보기
1/5

[CS] Q1. OS(운영체제) 란 무엇인가요?

  • 운영체제란 컴퓨터를 효과적으로 사용하기 위해 제공하는 프로그램
    종류로는 Windows, Mac, Linux등이 있다.

👉 운영체제란, Operating System의 약자로 컴퓨터 시스템의 자원들을 효율적으로 관리하고 사용자가
컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램들의 모임
운영체제는 하드웨어를 관리하기 위한 소프트웨어이며 컴퓨터 하드웨어 바로 윗단에 설치된다.
종류로는 Windows, UNIX, LINUX, MS-DOS등이 있으며 MS-DOS는 단일 작업 처리 시스템 , Windows, UNIX, LINUX는 다중 작업 처리 시스템 이다.

운영체제의 사용목적은 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환시간 단축등이 있다. 이는 운영체제의 성능을 평가하는 기준이 된다.

운영체제의 역할은 크게 사용자를 위한 역할, 하드웨어를 위한 역할로 나눌 수 있다.

- 사용자를 위한 역할 : 컴퓨터 시스템을 편리하게 관리 할 수 있는 인터페이스를 제공
- 하드웨어를 위한 역할 : 컴퓨터의 프로세스 / 메모리 / 하드웨어를 관리하는 역할


[Android] Q1. Android 4대 컴포넌트는 무엇인가?

  • 안드로이드의 4대 컴포넌트는 액티비티, ....

👉 안드로이드의 4대 컴포넌트는 액티비티(Activity), 서비스(Service), 방송 수신자(Brodcast Reciever), 콘텐트 제공자(Content Provider)가 있다.
이는 Android앱의 필수적인 구성요소로, 각각 시스템이나 앱에 들어올 수 있는 진입점이다.

특징으로는

  • 각각 컴포넌트는 독립적으로 존재
  • 각각 컴포넌트는 고유의 기능을 수행
  • 각각 컴포넌트끼리는 인텐트 (Intent )를 통해 서로 상호작용

1. 액티비티(Activity)

  • 사용자가 앱과 상호작용을 하는 인터페이스 → 실제로 보이는 화면
  • 앱을 실행할때 전체를 호출하는게 아닌 앱의 액티비티를 호출
  • 생명주기(Life Cycle)관련 메서드들을 재정의(override)하여 기능들을 구현
  • Intent를 통해 다른 앱의 액티비티 호출 가능
  • 1개 이상 View또는 ViewGroup을 포함
  • 앱에는 반드시 1개 이상의 액티비티가 있어야 하며 2개 이상의 액티비티를 동시에 띄울 수 없음
  • Fragment를 사용하여 화면 분할 가능

2. 서비스(Service)

  • 사용자와 직접 상호작용하진 않지만 백그라운드에서 작업처리를 하기 위해 사용
  • 앱이 종료되더라도 백그라운드에서 동작하는 컴포넌트
  • 액티비티와 서비스는 UI스레드라고 하는 동일한 애플리케이션 스레드로 실행
  • 네트워크와 연동이 가능
  • 포그라운드 서비스와 백그라운드 서비스가 있음
    - 포그라운드 서비스 : 사용자에게 보이는 작업, 반드시 알림을 표시해야하며 사용자가
    앱과 상호작용하지 않을 때에도 계속 실행
    - 백그라운드 서비스 : 사용자에게 보이지 않는 작업
  • 바인드 서비스 → 추후 공부

3. 방송수신자(BroadCast Receiver)

  • 안드로이드 OS로부터 발생하는 각종 이벤트, 정보를 받아 핸들링하는 컴포넌트
  • 특수한 상황에 대응하기 위해 사용
  • 거의 UI를 가지지 않으며 디바이스 상황을 감시하다 이벤트 발생시 그에 맞게 정의한 작업들을 수행
  • 대부분 브로드캐스트는 시스템에서 시작

4. 콘텐트 제공자(Content Provider)

  • 데이터 관리, 다른 애플리케이션의 데이터를 제공하는데 사용
  • 애플리케이션간의 데이터 공유를 위해 표준화된 인터페이스를 제공
  • SQLite DB / Web / 파일 입출력 등을 통해 데이터 관리
  • 외부 애플리케이션이 현재 실행중이 애플리케이션내 데이터베이스에 함부로 접근하지 못하게 가능, 공개하고 싶은 데이터만 공유가능
  • Intent로 공유하는 작은데이터보다는 음악, 사진 같이 용량이 큰 데이터를 공유하는데 적합
  • 데이터의 읽기, 쓰기에 대한 허용이 있어야 접근 가능
  • CRUD원칙을 준수
    - CRUD원칙 : 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리기능인
    Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 말한다.
profile
안드로이드 앱개발자를 향해 가는 노루

0개의 댓글