Interview Questions - Computer Science

이소라·2023년 4월 14일
0

Interview Questions

목록 보기
11/67

1. 프로세스와 스레드에 대해 설명해주세요.

  • 프로세스는 OS에 메모리를 할당 받아서 실행 중인 프로그램을 말합니다. 프로세스는 각각 독립된 메모리 영역으로 code, data, stack, heap을 할당받습니다. 프로세스는 각각 별도의 메모리 주소 공간에 할당되기 때문에 다른 프로세스의 자원에 접근할 수 없습니다.
  • 스레드는 프로세스가 할당된 자원을 이용한 실행 단위를 말합니다. 스레드는 프로세스 내에서 필요한 stack만 할당 받고, code, data, heap 영역은 공유합니다. 같은 프로세스 내 스레드들은 자원을 공유할 수 있습니다.



  • 브라우저 저장소에는 local storage, session storage ,Cookie 등이 있습니다.
    • local storage와 session storage

      • local storage와 session storage는 HTML5에 추가된 저장소로 키와 값의 형태로 데이터를 저장할 수 있습니다. 그리고 키를 통해서 데이터를 조회할 수 있습니다.
      • local storage와 session storage 데이터를 최대 5MB까지 저장할 수 있습니다. local storage는 브라우저 창을 닫아도 데이터가 유지되는 반면에, session storage는 브라우저 창이 닫히면 데이터가 삭제됩니다.
      • local storage와 session storage는 HTML5를 지원하지 않는 브라우저에서는 사용이 불가능합니다.
    • cookie

      • cookie는 서버가 브라우저에 전송하는 데이터 조각입니다. 브라우저는 쿠키를 저장하고, 같은 서버에 요청을 보낼 때 쿠키를 같이 전송합니다.
      • cookie는 데이터를 약 4KB까지 저장할 수 있습니다.
      • session cookie는 현재 세션이 종료될 때 삭제됩니다. permanent cookie는 expire나 max-age 속성에 명시된 날짜에 삭제됩니다.

  • local storage는 자동로그인의 로그인 정보와 같이 계속 갖고 있어야 하는 정보를 저장할 때 사용합니다.
  • session storage는 입력 폼 데이터와 같이 창이 열렸을 때 유지되어야 하는 정보를 저장할 때 사용합니다.
  • cookie는 refresh token과 같이 서버와의 통신에 필요한 정보를 저장할 때 사용합니다.



3. OOP(Object Oriented Programming)이 무엇인가요?

  • OOP는 Obect Oriented Programming의 약어로 객체 지향 프로그래밍을 말합니다.
  • 객체 지향 프로그래밍은 데이터를 추상화시켜서 상태와 행위를 가진 객체를 만들고 그 객체간의 상호작용을 통해 로직을 구성하는 방법을 말합니다.

3.1 OOP의 장단점에 대해 설명해주세요.

  • 먼저 장점을 말씀드리면, OOP는 클래스를 상속받아서 사용할 수 있으므로 코드의 재사용성이 증가합니다. 그리고 객체 단위로 코드가 나뉘어 지기 때문에 디버깅이 쉽고 유지 보수가 용이합니다.
  • 다음으로 단점을 말씀드리면, OOP는 객체가 많아질수록 코드의 용량이 늘어나고, 설계시 많은 노력과 시간이 필요합니다.

3.2 OOP 특징에 대해 얘기해주세요.

  • OOP의 특징으로는 캡슐화, 상속, 추상화, 다형성이 있습니다.
    • 캡슐화는 관련 있는 변수와 메서드를 하나의 클래스에 담고 외부에 공개될 필요 없는 정보를 숨기는 것을 말합니다.
    • 상속은 클래스로부터 속성과 메서드를 물려받는 것을 말합니다.
    • 추상화는 중요한 정보만 간추려서 표현함으로써 공통의 속성과 기능을 묶어 이름을 붙이는 것을 말합니다.
    • 다형성은 객체의 속성이나 메서드가 맥락에 따라 다른 역할을 수행할 수 있음을 말합니다.

3.3 JavaScript는 객체 지향 언어인가요?

  • JavaScript는 프로토타입 기반의 객체 지향 언어라고 할 수 있습니다. 프로토타입 체인 상에 객체가 존재한다면 객체의 속성과 메서드를 상속받아서 사용할 수 있습니다.



참고

0개의 댓글