[면접스터디] 5주차 10/27 목

Hyeseong Kim·2022년 10월 27일
0

스터디

목록 보기
5/8

1. 사설 IP와 공인 IP에 대해 설명하시오.

사설 IP는 일반 가정이나 회사 내에 할당된 네트워크의 IP주소이며 로컬IP, 가상IP라고도 합니다. IPv4의 주소 부족으로 인해 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크 상의 PC나 장치에 할당됩니다. 공인 IP는 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP가 제공하는 IP 주소입니다. 공용 IP 주소라고도 불리며 외부에 공개되어 있는 IP주소입니다.

  • 공인 IP는 전세계에서 유일한 IP 주소를 갖는다.

  • 공인 IP 주소가 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다. 따라서 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램을 설치할 필요가 있다.

2. Blocking, Non-blocking vs synchronous, asynchronous

blocking(블로킹)은 A함수가 B함수를 호출할 때, B함수가 자신의 작업이 종료되기 전까지 A함수에게 제어권을 돌려주지 않는 것이고 non-blocking(논블로킹)은 A함수가 B함수를 호출할 때, B함수가 제어권을 바로 A함수에게 넘겨주면서 A함수가 다른 일을 할 수 있도록 하는 것입니다. synchronous(동기)는 A함수가 B함수를 호출할 때, B함수의 결과를 A함수가 처리하는 것이고, asynchronous(비동기)는 A함수가 B함수를 호출할 때, B함수의 결과를 B함수가 처리하는 것입니다.

3. Thread와 Process는 무엇이며 그 특징들에 대해 설명하시오.

프로세스는 OS 관점에서 하나의 작업 단위입니다. OS가 프로그램을 메모리에 올리고 CPU를 위한 PCB를 할당한 상태를 말합니다. 스레드는 CPU 관점에서의 실행 단위입니다. 프로세스가 생성되면 CPU 스케줄러는 프로세스가 해야할 일들을 CPU에 전달하는데 이때의 단위가 스레드입니다.
메모리 측면에서는 프로세스는 독립적으로 각각 메모리를 차지하고 스레드는 프로세스 내의 메모리를 공유해서 사용할 수 있습니다.

4. SQL Injection이 무엇인지, 그리고 SQL Injection을 방어 및 방지하기 위한 방법에 대해 설명하시오.

SQL Injection이란 공격자가 악의적인 의도를 갖는 SQL구문을 삽입하여 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 기법입니다. 이를 방지하기 위해서는 입력값을 검증하여 사용자의 입력이 쿼리에 동적으로 영향을 주는 경우 입력값이 유효값인지를 검증합니다. 또한 저장 프로시저를 사용할 수 있습니다. 사용하고자 하는 Query에 미리 형식을 지정하여 지정된 형식의 데이터가 아니면 Query가 실행되지 않기 때문에 보안성이 크게 향상됩니다.

0개의 댓글