We are Architect

시스템 엔지니어 예상 질문 - 1 본문

면접/시스템 엔니지어 면접 예상 질문(신입)

시스템 엔지니어 예상 질문 - 1

the best infra 2024. 12. 16. 00:01

 

* 운영체제의 주요 역할 이란? 

  • 운영체제의 주요 역할은 사용자가 컴퓨팅 자원을 효율적으로 사용하게 돕는다.  
  • 컴퓨터의 하드웨어 및 소프트웨어를 관리하면서 사용자의 요구에 맞는 리소스를 제공한다.

 

 

* 그렇다 면 커널의 기능은? 

  • 커널은 소프트웨어와 하드웨어 간에 중간에서 조율하는 역할을 합니다.
  • 운영체제의 핵심 요소로 프로세스 관리, 메모리 관리, 파일 시스템 관리등을 합니다.
    • 프로세스 관리 : 프로세스 생성, 삭제, 실행 등을 할 수 있으며 여러 작업 별로 실행시간 부여하거나 중단을 시키는 등의 스케줄러 역할을 담당합니다.  
    • 메모리 관리 : 프로세스들이 메모리 사용 요청등을 하면 메모리 할당량을 정해주고 또 순서를 부여해줘서 프로세들간의 충돌을 방지하는 스케줄링 역할을 합니다.   
    • 파일 시스템 관리 : 파일을 생성, 삭제, 읽기/쓰기 등의 작업을 처리하며 데이터를 안정적으로 접근하게 끔 지원한다. 즉 SSD와 같은 저장 장치를 호출하여서 데이터의 접근을 돕습니다.

 

 

* 프로세스의 쓰레드의 차이를 알려주세요. 

  • 프로세스는 독립적으로 실행되는 프로그램의 단위를 이야기 하며 예를 들어 브라우저와 메모장은 각각의 프로세스 이며 실행하는 작업은 다르며 서로 영향을 받지 않습니다. 
  • 쓰레드는 프로세스 안에서 작동되는 작업의 단위이며 서로 영향을 주고 받고 같은 자원을 공유하며 프로세스가 잘 작동하도록 기능을 제공합니다. 

 

 

* 가상 메모리가 무엇이며 어떻게 동작하나요?

  • 가상 메모리는 물리적인 메모리의 한계를 극복하기 위해서 RAM과 HDD를 같이 사용하는 메모리 방식입니다. 
  • 프로그램이 물리적 메모리 보다 더 큰 메모리를 사용하는 것을 허용합니다.
  • 동작 방식은 필요한 만큼의 데이터를 RAM에 올리고 아직 사용하지 않은 데이터들은 HDD에 보관하고 있다가 필요할 때 불러온다.

 

 

* TCP와 UDP의 차이는 무엇인가요?

  • TCP는 연결지향형 프로토콜로 데이터의 신뢰성 검사를 하여 패킷의 안정성을 확인하지만 UDP는 비연결 지향성 프로토콜로 데이터의 안정성 검사를 하지 않고 오직 데이터의 송수신 속도가 효율적이어야만 하는 상황에서 사용한다. 

 

 

* 3-way handshake와 4-way handshake에 대해 설명해 주세요.

  • 3-way handshake은 클라이언트와 서버가 서로 데이터를 주고 받기 전에 사용하는 연결과정 프로세스이고 4-way handshake는 클라이언트와 와 서버간 세션을 종료 할 때 발생하는 프로세스 이다.

 

 

* DNS의 작동 원리에 대해 알려주세요.

  • 먼저 로컬 pc에서 hosts 파일을 확인하여 요청한 도메인의 레코드가 있는지 확인하고 없다면 인근 캐싱 dns서버에게 dns 질의요청을 보낸다. 요청을 받은 캐싱 dns서버는 자신의 zone파일에 있는 레코드를 확인하고 없으면 상위 DNS서버에게 질의를 하는데 이때  상위 DNS에게 계속 질의를 하게되는 순환 쿼리 질의 방식이 이루어지고 만약 요청받은 레코드 정보가 있다하면 역순으로 다시 질의 응답을 해줘서 로컬 pc에게 응답을 줍니다. 

 

 

* RAID의 종류와 각각의 장단점을 설명해주세요

  • Raid 0 : 여러 디스크에 데이터를 분할해서 저장하는 방식입니다.
    • 장점 : 데이터를 읽거나 저장할때 속도가 빠르고 모든 디스크를 골고루 사용 할 수 있습니다.
    • 단점 : 디스크가 하나라도 손상되면 데이터가 손상이 됩니다.
  • Raid 1 : 데이터들 복제해서 동일한 데이터를 여러 디스크에 넣어서 저장하는 방식입니다.
    • 장점 : 디스크가 손상되어도 복제된 데이터가 들어가 있는 디스크의 데이터는 문제가 없어서 사용이 가능합니다.
    • 단점 : 아무래도 동일한 데이터를 복제하고 디스크  마다 저장하다보니까 디스크의 낭비가 심합니다.
  • Raid 01 : 몆몆 디스크에 데이터를 복사해서 저장하고 복사된 저장된 디스크를 분할 저장해서 다른 디스크에 저장합니다.
    • 장점 : 읽기 속도가 매우 빠릅니다. 
    • 단점 : 디스크가 하나라도 손상되면 데이터가 손상됨니다.
  • Raid 10 : 데이터를 몆몆 디스크에 분할 저장하고 또 분할 저장된 디스크들을 복제해서 또 다른 디스크에 저장합니다.
    • 장점 : 어느 디스크가 손상되어도 복제된 디스크가 존재하여서 안정성이 높고 또 읽기/쓰기 처리 작업이 빠릅니다.
    • 단점 : 디스크의 낭비가 심해서 절반 밖에 저장을 하지 못합니다.

 

 

*시스템 리소스(CPU, 메모리, 디스크)가 과도하게 사용될 경우 어떻게 분석하고 해결할 건가요?

  • 우선 자원을 과도하게 사용하고 있는 프로세스가 있는지 확인합니다.
  • 있다면 해당 프로세스가 어떤 프로세스인지 파악하고 보고 합니다.
  • 해당 리소스가 과도하게 사용된 시점을 파악합니다.
  • 외부 트래픽 문제라면 해킹공격에 의한 의심이 가서 방화벽을 살펴 볼 것이고 내부 트래픽이라면 사내에서 의심이 갈만한 요인을 찾고 해당 구역의 담당자와 전화합니다. 혹은 직접 살펴 봅니다. 

 

 

 * VLAN Subnet의 차이를 설명해 주세요.

  • VLAN과 서브넷의 차이는 계층의 차이는 VLAN은 물리적으로 네트워크를 나눌수가 있고 서브넷은 ip주소로 네트워크를 나눌수가 있습니다.

 

 

*NAT(Network Address Translation)의 동작 원리와 종류를 설명해주세요.

  • NAT는 들어오거나 나가는 IP들에 대해서 변환을 해주는 기술입니다. 예를 들어 어떤 공인 IP가 라우터를 타고 내부로 들어올때 라우터에 NAT라는 기술이 적용 되어 있으면 들어있으면 해당 IP는 NAT 테이블에 출발지로 기록이되고 내부 IP를 달고 내부 네트워크에 요청을 하게 됩니다. 그리고 그 내부 내트워크 IP 또한 NAT 테이블에 목적지로 기록이 됩니다. 
  • NAT 의 종류는 1대1 맵핑을 하여 변환시켜주는 Static NAT가 존재하고 혹은 ip pool에서 맵핑을 시캬주는 Dynamic NAT가 존재합니다. \
  • PAT는 하나의 공인 IP와 포트 번호를 매핑해 다수의 요청을 처리.
    실무에서는 대규모 사용자 환경에서 PAT가 가장 많이 사용됩니다.

 

 

* SSH를 통해 서버에 접속이 되지 않을 때 점검해야 할 항목은 무엇인가요?

  • 우선 ping이나 telnet이나 nslookup으로 네트워크적으로 끊어진지 확인합니다.
  • 만약 된다면 방화벽에서 룰을 하용하는지 클라우드라면 보안그룹을 확인해 봅니다.
  • 우회해서 해당 문제 서버에 접속 할 수 있다면 로그를 확인해보고 sshd 파일을 확인해 봅니다.

 

 

* 데이터베이스 인덱스란 무엇이며, 어떤 상황에서 유용하게 사용할 수 있나요?

  • 인덱스란 데이터베이스에서 특정 컬럼에 대한 검색 속도를 향상 시키기 위해서 사용하는 데이터베이스 구조입니다.
  • 특히 특정 컬럼을 지속적으로 조회 할 때 유용합니다.
  • 혹은 데이터 정렬이 필요할 때 도 유용합니다.

 

* RDBMS NoSQL의 차이점과 장단점은 무엇인가요?

  • RDBMS는 관계형 데이터베이스 시스템이며 테이블 형태로 행과 열로 이루어져 있습니다. 데이터 끼리 연관되게 하여서 불필요한 데이터의 중복을 줄일수 있습니다.
  • NoSQL은 말 그대로 SQL로 이루어지지 않았으며 주로 Key과 값의 형태로 이루어져있고 종속되지 않아서 자유롭게사용이 가능합니다. 

 

* 하이퍼바이저(Hypervisor)가 무엇이며, 종류와 특징을 설명해주세요.

  • 하이버바이저란 가상화 프로그램을 사용하여서 하나의 서버에서 여러개의 가상머신 서버를 생성해서 운용 가능하게 하는 기술입니다. 
  •  bare metal 하이퍼바이져는 직접 하드웨어 위에서 실행되며 물리서버에서 운영체제의 간섭 없이 바로 실행되고 운영됩니다. 
  • hosts 하이퍼바이져는 기존의 운영체제 위해서 실행되는 형태로 호스트 운영체제와 호환하여서 실행이 됩니다. 

 

* 파일 시스템이 손상되었을 때 복구하는 방법은 무엇인가요?

  • 파일 시스템 손상 복구는 크게 원인 파악, 데이터 보호, 복구 도구 활용, 재발 방지로 나눌 수 있습니다. 저는 문제를 체계적으로 분석하고, 데이터를 최우선으로 보호하며 적절한 복구 도구를 활용해 문제를 해결합니다. 복구 후에는 예방 조치를 통해 동일한 문제가 반복되지 않도록 노력합니다."

 

* 디스크 공간 부족 문제를 해결하기 위해 어떤 단계를 수행하시겠습니까?

  • "디스크 공간 부족 문제가 발생했을 때는 다음과 같은 단계를 따릅니다:
    1. 문제 진단: 먼저 df -h와 du -sh를 사용해 디스크 사용량과 공간을 많이 차지하는 디렉터리를 분석합니다.
    2. 불필요한 파일 정리: 오래된 로그나 캐시 파일을 삭제하고, 대용량 파일은 외부 스토리지로 이동하거나 압축합니다.
    3. 디스크 확장: 필요하다면 LVM 볼륨을 확장하거나, 클라우드 환경에서는 디스크를 추가해 마운트합니다.
    4. 예방 조치: logrotate를 설정해 로그 파일을 자동 관리하고, 디스크 사용량을 모니터링하여 임계값 초과 시 알림을 받을 수 있도록 설정합니다.