공부할 것들

시스템 엔지니어 면접 예상 질문 정리해둔거

swmad 2025. 3. 24. 12:25

feat. ChatGPT

틀린 부분 있다면 댓글에 작성해주세용

리눅스 질문
질문 답변
ls' 명령어는 무엇인가요? 디렉토리의 내용을 나열합니다.
cd' 명령어는 무엇인가요? 현재 디렉토리를 변경합니다.
pwd' 명령어는 무엇인가요? 현재 작업 중인 디렉토리를 출력합니다.
mkdir' 명령어는 무엇인가요? 새 디렉토리를 생성합니다.
rmdir' 명령어는 무엇인가요? 비어 있는 디렉토리를 삭제합니다.
rm' 명령어는 무엇인가요? 파일이나 디렉토리를 삭제합니다.
cp' 명령어는 무엇인가요? 파일 및 디렉토리를 복사합니다.
mv' 명령어는 무엇인가요? 파일이나 디렉토리를 이동하거나 이름을 변경합니다.
touch' 명령어는 무엇인가요? 빈 파일을 생성하거나 파일의 타임스탬프를 갱신합니다.
cat' 명령어는 무엇인가요? 파일의 내용을 출력합니다.
more' 명령어는 무엇인가요? 한 번에 한 화면씩 출력을 표시합니다.
less' 명령어는 무엇인가요? 뒤로 탐색을 사용하여 파일 콘텐츠를 표시합니다.
head' 명령어는 무엇인가요? 파일의 처음 몇 줄을 표시합니다.
tail' 명령어는 무엇인가요? 파일의 마지막 몇 줄을 표시합니다.
echo' 명령어는 무엇인가요? 텍스트 또는 변수 값 줄을 표시합니다.
man' 명령어는 무엇인가요? 명령에 대한 매뉴얼을 표시합니다.
chmod' 명령어는 무엇인가요? 파일 권한을 변경합니다.
chown' 명령어는 무엇인가요? 파일 소유자 및 그룹을 변경합니다.
df' 명령어는 무엇인가요? 디스크 공간 사용량을 보고합니다.
du' 명령어는 무엇인가요? 파일 공간 사용량을 추정합니다.
ps' 명령어는 무엇인가요? 현재 실행 중인 프로세스를 표시합니다.
top' 명령어는 무엇인가요? 실시간 시스템 프로세스 정보를 표시합니다.
htop' 명령어는 무엇인가요? 대화형 프로세스 뷰어.
kill' 명령어는 무엇인가요? PID로 프로세스를 종료합니다.
killall' 명령어는 무엇인가요? 이름으로 프로세스를 종료합니다.
nice' 명령어는 무엇인가요? 지정된 우선순위로 프로세스를 시작합니다.
renice' 명령어는 무엇인가요? 실행 중인 프로세스의 우선순위를 변경합니다.
tar' 명령어는 무엇인가요? 파일을 보관합니다.
gzip' 명령어는 무엇인가요? 파일을 압축합니다.
gunzip' 명령어는 무엇인가요? .gz 파일의 압축을 풉니다.
zip' 명령어는 무엇인가요? 파일을 .zip 형식으로 압축합니다.
unzip' 명령어는 무엇인가요? .zip 아카이브에서 파일을 추출합니다.
find' 명령어는 무엇인가요? 디렉터리 계층 구조에서 파일을 검색합니다.
locate' 명령어는 무엇인가요? 데이터베이스를 사용하여 이름으로 파일을 찾습니다.
grep' 명령어는 무엇인가요? 파일에서 패턴을 검색합니다.
sed' 명령어는 무엇인가요? 텍스트 필터링 및 변환을 위한 스트림 편집기입니다.
awk' 명령어는 무엇인가요? 패턴 스캐닝 및 처리 언어.
cron' 명령어는 무엇인가요? 반복되는 작업을 위한 작업 스케줄러입니다.
crontab' 명령어는 무엇인가요? 크론 작업을 관리합니다.
systemctl' 명령어는 무엇인가요? systemd 시스템과 서비스 관리자를 제어합니다.
service' 명령어는 무엇인가요? 서비스(이전 시스템)를 관리합니다.
journalctl' 명령어는 무엇인가요? systemd에서 로그를 쿼리하고 표시합니다.
dmesg' 명령어는 무엇인가요? 커널 링 버퍼 메시지를 표시합니다.
uname' 명령어는 무엇인가요? 시스템 정보를 표시합니다.
uptime' 명령어는 무엇인가요? 시스템 가동 시간을 표시합니다.
whoami' 명령어는 무엇인가요? 현재 사용자를 표시합니다.
id' 명령어는 무엇인가요? 사용자 ID와 그룹 ID를 표시합니다.
groups' 명령어는 무엇인가요? 사용자가 속한 그룹을 표시합니다.
passwd' 명령어는 무엇인가요? 사용자 비밀번호를 변경합니다.
useradd' 명령어는 무엇인가요? 새로운 사용자를 생성합니다.
usermod' 명령어는 무엇인가요? 사용자 계정을 수정합니다.
userdel' 명령어는 무엇인가요? 사용자 계정을 삭제합니다.
groupadd' 명령어는 무엇인가요? 새 그룹을 만듭니다.
groupdel' 명령어는 무엇인가요? 그룹을 삭제합니다.
mount' 명령어는 무엇인가요? 파일 시스템을 마운트합니다.
umount' 명령어는 무엇인가요? 파일 시스템을 마운트 해제합니다.
blkid' 명령어는 무엇인가요? 블록 장치 속성을 표시합니다.
lsblk' 명령어는 무엇인가요? 블록 장치에 대한 정보를 나열합니다.
fdisk' 명령어는 무엇인가요? 디스크 파티션 테이블을 조작합니다.
parted' 명령어는 무엇인가요? 디스크 파티션을 관리합니다.
mkfs' 명령어는 무엇인가요? 파일 시스템을 생성합니다.
fsck' 명령어는 무엇인가요? 파일 시스템을 확인하고 복구합니다.
sync' 명령어는 무엇인가요? 파일 시스템 버퍼를 플러시합니다.
hostname' 명령어는 무엇인가요? 시스템의 호스트 이름을 표시하거나 설정합니다.
ping' 명령어는 무엇인가요? 연결을 테스트하기 위해 ICMP 에코 요청을 보냅니다.
traceroute' 명령어는 무엇인가요? 호스트에 대한 경로를 추적합니다.
netstat' 명령어는 무엇인가요? 네트워크 연결 및 라우팅 테이블을 표시합니다.
ss' 명령어는 무엇인가요? 소켓 통계를 표시합니다.
ifconfig' 명령어는 무엇인가요? 네트워크 인터페이스를 표시하거나 구성합니다(더 이상 사용되지 않음).
ip' 명령어는 무엇인가요? IP 주소 및 라우팅을 표시/관리합니다.
nmcli' 명령어는 무엇인가요? NetworkManager용 명령줄 도구입니다.
curl' 명령어는 무엇인가요? 서버에서 또는 서버로 데이터를 전송합니다.
wget' 명령어는 무엇인가요? 웹에서 파일을 다운로드합니다.
scp' 명령어는 무엇인가요? 호스트 간에 파일을 안전하게 복사합니다.
rsync' 명령어는 무엇인가요? 파일을 효율적으로 전송하고 동기화합니다.
ssh' 명령어는 무엇인가요? SSH를 통해 원격 호스트에 연결합니다.
telnet' 명령어는 무엇인가요? 원격 서버에 연결합니다(보안을 위해 더 이상 사용되지 않음).
ftp' 명령어는 무엇인가요? FTP를 통해 파일을 전송합니다.
nmap' 명령어는 무엇인가요? 네트워크에서 호스트 및 서비스를 검색합니다.
tcpdump' 명령어는 무엇인가요? 네트워크 패킷을 캡처합니다.
strace' 명령어는 무엇인가요? 시스템 호출 및 신호를 추적합니다.
lsof' 명령어는 무엇인가요? 열린 파일을 나열합니다.
file' 명령어는 무엇인가요? 파일 형식을 결정합니다.
stat' 명령어는 무엇인가요? 자세한 파일 정보를 표시합니다.
alias' 명령어는 무엇인가요? 명령 바로가기를 만듭니다.
unalias' 명령어는 무엇인가요? 별칭을 제거합니다.
history' 명령어는 무엇인가요? 명령 기록을 표시합니다.
env' 명령어는 무엇인가요? 환경 변수를 표시합니다.
export' 명령어는 무엇인가요? 환경 변수를 설정합니다.
printenv' 명령어는 무엇인가요? 환경 변수를 인쇄합니다.
source' 명령어는 무엇인가요? 현재 셸의 파일에서 명령을 실행합니다.
bash' 명령어는 무엇인가요? 새로운 bash 쉘을 시작합니다.
exit' 명령어는 무엇인가요? 현재 쉘 세션을 종료합니다.
reboot' 명령어는 무엇인가요? 시스템을 재부팅합니다.
shutdown' 명령어는 무엇인가요? 시스템을 종료합니다.
uptime' 명령어는 무엇인가요? 시스템이 실행된 시간을 표시합니다.
date' 명령어는 무엇인가요? 시스템 날짜와 시간을 표시하거나 설정합니다.
cal' 명령어는 무엇인가요? 달력을 표시합니다.
bc' 명령어는 무엇인가요? 수학 연산을 위한 계산기 도구입니다.
watch' 명령어는 무엇인가요? 주기적으로 명령을 실행합니다.
time' 명령어는 무엇인가요? 명령의 실행 시간을 측정합니다.
네트워크 심화 질문
질문 답변
OSI 7계층에 대해 설명해주세요. OSI 7계층은 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 구성되어 있으며, 각 계층은 네트워크 통신에서 특정한 역할을 담당합니다.
TCP 3-way handshake 과정에 대해 설명해주세요. 클라이언트가 SYN 패킷을 보내고, 서버가 SYN-ACK으로 응답하며, 클라이언트가 ACK를 보내면 연결이 설정됩니다.
TCP와 UDP의 차이점은 무엇인가요? TCP는 연결 지향적이며 신뢰성 있는 통신을 제공하고, UDP는 비연결형으로 속도가 빠르지만 신뢰성은 보장하지 않습니다.
서브넷 마스크란 무엇인가요? 서브넷 마스크는 IP 주소를 네트워크 주소와 호스트 주소로 구분하는 데 사용됩니다.
CIDR이란 무엇이며 왜 사용하나요? CIDR(Classless Inter-Domain Routing)은 IP 주소를 효율적으로 할당하고 라우팅 테이블을 축소하기 위해 사용됩니다.
IPv4와 IPv6의 주요 차이점은 무엇인가요? IPv4는 32비트 주소를 사용하고 IPv6는 128비트 주소를 사용하며, 주소 공간이 훨씬 넓고 보안과 자동 설정 기능이 향상되었습니다.
NAT(Network Address Translation)이란 무엇인가요? NAT는 내부 IP 주소를 외부 네트워크와 통신할 수 있도록 공인 IP 주소로 변환해주는 기술입니다.
DHCP 서버의 역할은 무엇인가요? DHCP 서버는 네트워크 상의 장치에 IP 주소를 자동으로 할당해주는 역할을 합니다.
DNS 작동 방식에 대해 설명해주세요. DNS는 도메인 이름을 IP 주소로 변환해주는 시스템으로, 루트 DNS → TLD DNS → 권한 DNS 서버를 거쳐 최종 IP를 반환합니다.
라우터와 스위치의 차이점은 무엇인가요? 스위치는 LAN 내 장치를 연결하고, 라우터는 서로 다른 네트워크 간의 트래픽을 전달합니다.
포트 번호란 무엇이며, 일반적으로 사용되는 포트를 예시로 들어주세요. 포트 번호는 네트워크 서비스나 프로세스를 식별하는 숫자입니다. 예: HTTP는 80, HTTPS는 443, SSH는 22번 포트를 사용합니다.
방화벽(Firewall)의 역할은 무엇인가요? 방화벽은 네트워크 트래픽을 필터링하여 불법 접근을 차단하고, 네트워크 보안을 강화하는 장치입니다.
VPN의 원리와 장점에 대해 설명해주세요. VPN은 암호화된 터널을 통해 인터넷 트래픽을 전송하여 원격지에서도 내부망처럼 안전하게 접근할 수 있게 해줍니다.
패킷 스니핑(Packet Sniffing)이란 무엇인가요? 패킷 스니핑은 네트워크 상의 패킷을 가로채고 분석하는 것으로, 보안 점검이나 해킹 시도에도 사용될 수 있습니다.
TCP에서 흐름 제어(Flow Control)는 어떻게 작동하나요? TCP는 윈도우 크기를 조절하여 송신자가 수신자의 처리 속도에 맞춰 데이터를 보내도록 조절합니다.
TCP에서 혼잡 제어(Congestion Control)는 무엇인가요? 혼잡 제어는 네트워크 혼잡을 방지하기 위해 패킷 손실을 기반으로 송신 속도를 동적으로 조절하는 기술입니다.
MAC 주소와 IP 주소의 차이점은 무엇인가요? MAC 주소는 물리적인 네트워크 인터페이스 식별자이고, IP 주소는 네트워크 상에서 위치를 식별하는 논리적 주소입니다.
ICMP란 무엇이며 어떤 용도로 사용되나요? ICMP는 네트워크 오류 메시지를 전달하거나 ping 같은 테스트 명령을 수행하는 데 사용되는 프로토콜입니다.
MTU(Maximum Transmission Unit)란 무엇인가요? MTU는 한 번에 전송할 수 있는 최대 패킷 크기를 의미하며, 이를 초과할 경우 패킷이 분할(Fragmentation)됩니다.
ARP(Address Resolution Protocol)의 역할은 무엇인가요? ARP는 IP 주소에 해당하는 MAC 주소를 찾기 위해 사용되며, 같은 네트워크 내 통신에 필수적입니다.
라우팅 테이블(Routing Table)이란 무엇인가요? 라우팅 테이블은 목적지 IP 주소에 따라 데이터를 어떤 경로로 보낼지 결정하는 정보를 저장한 테이블입니다.
정적 라우팅과 동적 라우팅의 차이점은 무엇인가요? 정적 라우팅은 수동으로 경로를 설정하고, 동적 라우팅은 프로토콜이 네트워크 상태를 기반으로 경로를 자동으로 조정합니다.
라우팅 프로토콜에는 어떤 것들이 있나요? 대표적으로 RIP, OSPF, BGP 등이 있으며, 각각 거리 벡터, 링크 상태, 경로 벡터 방식의 프로토콜입니다.
OSPF(Open Shortest Path First)의 특징은 무엇인가요? OSPF는 링크 상태 기반의 내부 라우팅 프로토콜로, 빠르고 정확한 라우팅 경로를 제공합니다.
BGP(Border Gateway Protocol)의 역할은 무엇인가요? BGP는 AS(자율 시스템) 간의 경로를 결정하는 외부 라우팅 프로토콜로, 인터넷 백본에서 핵심적인 역할을 합니다.
게이트웨이(Gateway)란 무엇인가요? 게이트웨이는 서로 다른 네트워크 간의 통신을 중계하는 장치로, 일반적으로 외부 네트워크 접속 출입구 역할을 합니다.
프록시 서버(Proxy Server)의 역할은 무엇인가요? 프록시 서버는 클라이언트와 서버 사이에서 요청을 중계하며, 캐싱, 보안, IP 차단 우회 등의 기능을 수행할 수 있습니다.
네트워크에서 TTL(Time to Live)이란 무엇인가요? TTL은 패킷이 네트워크를 통해 이동할 수 있는 최대 홉 수를 의미하며, 무한 루프를 방지하는 역할을 합니다.
도메인 네임을 입력했을 때 발생하는 과정은? 브라우저는 DNS 질의를 통해 IP를 찾고, TCP 연결을 맺은 후, HTTP 또는 HTTPS 요청을 서버에 전송하여 데이터를 수신합니다.
스푸핑(Spoofing)이란 무엇인가요? 스푸핑은 다른 장치나 사용자로 위장해 신원을 속이는 공격 기법입니다. 예: IP 스푸핑, ARP 스푸핑 등.
멀티캐스트(Multicast)와 브로드캐스트(Broadcast)의 차이점은 무엇인가요? 브로드캐스트는 동일 네트워크 내 모든 호스트에 전송하고, 멀티캐스트는 특정 그룹에만 데이터를 전송합니다.
네트워크에서 QoS(Quality of Service)는 왜 필요한가요? QoS는 트래픽 우선순위를 지정하여 음성, 영상 등 지연에 민감한 데이터를 우선 처리할 수 있게 합니다.
VLAN(Virtual LAN)의 개념과 장점은 무엇인가요? VLAN은 논리적으로 네트워크를 분리하여 보안성과 트래픽 제어를 향상시키는 기술입니다.
패킷 필터링(Packet Filtering) 방식은 어떻게 동작하나요? 패킷 필터링은 IP 주소, 포트 번호, 프로토콜을 기준으로 트래픽을 허용하거나 차단합니다.
상태 기반 방화벽(Stateful Firewall)은 무엇인가요? 상태 기반 방화벽은 연결 상태를 추적하며, 유효한 연결에서 발생한 트래픽만 허용합니다.
DMZ(비무장지대, Demilitarized Zone)는 어떤 용도로 사용되나요? DMZ는 외부 접근이 필요한 서버를 내부망과 격리하여 보안을 강화하기 위한 구간입니다.
네트워크에서 스위칭 허브와 허브의 차이는 무엇인가요? 허브는 수신한 데이터를 모든 포트에 전송하고, 스위칭 허브는 목적지 포트에만 데이터를 전달합니다.
SSL과 TLS의 차이점은 무엇인가요? TLS는 SSL의 보완 버전으로, 데이터 암호화와 무결성, 인증 기능을 제공하며 보안성이 더 뛰어납니다.
HTTP와 HTTPS의 차이는 무엇인가요? HTTPS는 HTTP에 SSL/TLS 암호화를 적용한 프로토콜로, 보안성이 뛰어나 웹사이트에서 널리 사용됩니다.
CDN(Content Delivery Network)의 역할은 무엇인가요? CDN은 콘텐츠를 전 세계의 분산 서버에 저장하여 사용자에게 더 빠르게 콘텐츠를 제공하는 시스템입니다.
프로토콜이란 무엇이며 왜 필요한가요? 프로토콜은 네트워크 통신을 위한 규칙의 집합으로, 서로 다른 장비 간에도 통신이 가능하도록 합니다.
데이터링크 계층의 주요 역할은 무엇인가요? 데이터링크 계층은 물리 계층과 네트워크 계층 사이에서 프레임 단위의 전송, 오류 감지, 흐름 제어를 담당합니다.
TCP 헤더에 포함된 주요 필드는 무엇인가요? 포트 번호, 시퀀스 번호, 확인 응답 번호, 플래그(SYN, ACK 등), 윈도우 크기, 체크섬 등이 있습니다.
라우팅 루프(Routing Loop)는 무엇이며 어떻게 방지하나요? 라우팅 루프는 패킷이 무한 반복되는 상황으로, TTL 설정, 스플릿 호라이즌, 홀드다운 등을 통해 방지합니다.
L2 스위치와 L3 스위치의 차이점은 무엇인가요? L2 스위치는 MAC 기반의 프레임 전송을 하고, L3 스위치는 IP 기반의 라우팅 기능까지 수행합니다.
세션(Session) 계층의 역할은 무엇인가요? 세션 계층은 통신 세션을 설정, 유지, 종료하며, 데이터의 동기화와 오류 복구 기능도 수행합니다.
TCP의 연결 해제 과정(FIN, FIN-ACK, ACK)을 설명해주세요. 통신 종료는 FIN 요청, 응답으로 FIN-ACK, 마지막 ACK 전송으로 연결을 정상 종료합니다.
보통 ping 명령으로 테스트할 수 없는 포트 통신 확인 방법은? telnet 또는 netcat(nc) 명령어로 특정 포트의 연결 가능 여부를 테스트할 수 있습니다.
보안상의 이유로 ICMP 요청을 막아두는 경우가 있는데, 그 이유는? ICMP를 이용한 ping flood, traceroute 탐지 우회 등 공격에 악용될 수 있기 때문입니다.
네트워크 트래픽을 실시간 분석하고자 할 때 사용하는 대표적인 도구는? Wireshark가 대표적이며, 실시간 패킷 캡처 및 분석이 가능합니다.
운영체제 질문
질문 답변
프로세스와 스레드의 차이는 무엇인가요? 프로세스는 독립된 실행 단위이고, 스레드는 프로세스 내에서 자원을 공유하며 실행되는 단위입니다.
멀티태스킹과 멀티스레딩의 차이는 무엇인가요? 멀티태스킹은 여러 프로세스를 동시에 실행하는 것이고, 멀티스레딩은 하나의 프로세스 내 여러 스레드를 동시에 실행하는 것입니다.
컨텍스트 스위칭(Context Switching)이란 무엇인가요? CPU가 실행 중인 프로세스를 중단하고 다른 프로세스로 전환할 때 상태 정보를 저장하고 불러오는 과정을 말합니다.
스케줄링 알고리즘에는 어떤 것들이 있나요? FCFS, SJF, Priority, Round Robin, Multilevel Queue 등이 있습니다.
Round Robin 스케줄링은 어떻게 동작하나요? 각 프로세스에 동일한 시간 할당량을 주고 순차적으로 CPU를 분배합니다.
세마포어(Semaphore)란 무엇인가요? 세마포어는 프로세스 간 동기화를 위한 변수로, 자원의 접근을 제어합니다.
뮤텍스(Mutex)와 세마포어의 차이는 무엇인가요? 뮤텍스는 한 스레드만 자원을 소유할 수 있고, 세마포어는 카운터 기반으로 여러 개의 접근을 제한할 수 있습니다.
데드락(교착 상태)이란 무엇이며 어떻게 방지하나요? 서로 자원을 점유한 채 상대방의 자원을 기다리는 상황이며, 자원 순서 지정, 타임아웃, 은행원 알고리즘 등으로 방지합니다.
가상 메모리(Virtual Memory)란 무엇인가요? 가상 메모리는 실제 물리 메모리보다 더 큰 주소 공간을 제공하기 위한 메모리 관리 기법입니다.
페이징(Paging)이란 무엇인가요? 메모리를 동일한 크기의 페이지로 나누고, 논리 주소를 물리 주소로 변환하는 방식입니다.
페이지 폴트(Page Fault)란 무엇인가요? 프로세스가 접근하려는 페이지가 메모리에 없을 때 발생하며, 디스크에서 해당 페이지를 불러오는 과정이 필요합니다.
스와핑(Swapping)이란 무엇인가요? 메모리 부족 시 프로세스를 디스크로 내보내고 다시 가져오는 방식으로, 성능에 영향을 줄 수 있습니다.
LRU(Least Recently Used) 페이지 교체 알고리즘은 어떻게 동작하나요? 가장 오랫동안 사용되지 않은 페이지를 교체 대상으로 선택하는 알고리즘입니다.
캐시 메모리(Cache Memory)의 역할은 무엇인가요? CPU와 메인 메모리 간 속도 차이를 줄이기 위해 자주 사용하는 데이터를 임시 저장하는 고속 메모리입니다.
TLB(Translation Lookaside Buffer)란 무엇인가요? 페이지 테이블의 자주 참조되는 항목을 저장하여 주소 변환 속도를 향상시키는 캐시입니다.
MMU(Memory Management Unit)의 역할은 무엇인가요? MMU는 논리 주소를 물리 주소로 변환하는 하드웨어 장치입니다.
프로세스 상태 전이에는 어떤 것들이 있나요? 준비(ready), 실행(running), 대기(waiting), 종료(terminated), 생성(new) 등이 있습니다.
커널(Kernel)은 무엇이며 어떤 역할을 하나요? 운영체제의 핵심으로, 하드웨어와 소프트웨어 간 자원 관리와 시스템 호출을 담당합니다.
시스템 콜(System Call)이란 무엇인가요? 프로세스가 커널의 기능을 요청할 때 사용하는 인터페이스입니다.
스레드 간의 동기화는 왜 필요한가요? 자원을 공유하는 스레드 간 충돌을 방지하고 데이터 무결성을 유지하기 위해 필요합니다.
스레드(Thread) 생성 비용이 낮다고 하는 이유는 무엇인가요? 스레드는 같은 프로세스 자원을 공유하므로 메모리 할당이나 컨텍스트 스위치 비용이 낮기 때문입니다.
User-Level Thread와 Kernel-Level Thread의 차이는 무엇인가요? User-Level Thread는 사용자 공간에서 관리되며, Kernel-Level Thread는 커널에서 직접 스케줄링합니다.
비선점형(Non-preemptive)과 선점형(Preemptive) 스케줄링의 차이는? 비선점형은 프로세스가 자발적으로 CPU를 양보하고, 선점형은 커널이 강제로 CPU를 회수할 수 있습니다.
우선순위 역전(Priority Inversion)이란 무엇인가요? 낮은 우선순위의 프로세스가 자원을 점유하여 높은 우선순위 프로세스가 대기하게 되는 현상입니다.
Fork() 시스템 콜은 어떤 역할을 하나요? 현재 프로세스를 복제하여 자식 프로세스를 생성합니다.
exec() 계열 함수는 어떤 동작을 하나요? 기존 프로세스를 새로운 프로그램으로 덮어씌워 실행합니다.
좀비 프로세스(Zombie Process)란 무엇인가요? 종료되었지만 부모 프로세스가 아직 종료 상태를 회수하지 않아 프로세스 테이블에 남아있는 상태입니다.
고아 프로세스(Orphan Process)란 무엇인가요? 부모 프로세스가 종료되었지만 자식 프로세스가 계속 실행 중인 상태입니다.
동기(Synchronous)와 비동기(Asynchronous) 처리의 차이는? 동기는 작업이 완료될 때까지 기다리며, 비동기는 기다리지 않고 동시에 다른 작업을 수행할 수 있습니다.
인터럽트(Interrupt)의 역할은 무엇인가요? CPU가 현재 작업을 중단하고 긴급한 작업을 처리할 수 있도록 제어를 넘겨주는 메커니즘입니다.
AWS 질문
질문 답변
AWS에서 EC2(Elastic Compute Cloud)는 무엇인가요? EC2는 클라우드에서 가상 서버를 제공하는 서비스로, 사용자가 원하는 컴퓨팅 환경을 자유롭게 구성할 수 있습니다.
EC2 인스턴스 상태 중 'stopped'와 'terminated'의 차이는 무엇인가요? stopped'는 인스턴스가 일시 정지된 상태이고, 'terminated'는 완전히 삭제된 상태로 복구가 불가능합니다.
AWS에서 S3(Simple Storage Service)는 어떤 용도로 사용하나요? S3는 객체 기반 스토리지로, 파일 백업, 정적 웹 호스팅, 로그 저장 등에 사용됩니다.
S3의 저장 유형(Storage Class)에는 어떤 것들이 있나요? 표준(Standard), IA(Infrequent Access), Glacier, Deep Glacier 등 다양한 비용/접근성 옵션이 있습니다.
AWS IAM(Identity and Access Management)은 무엇인가요? IAM은 AWS 리소스에 대한 접근 권한을 제어하는 서비스로, 사용자와 역할을 생성하고 권한을 설정할 수 있습니다.
IAM Role과 IAM User의 차이는 무엇인가요? User는 사람이나 시스템에 고정된 자격 증명을 부여하고, Role은 일시적 권한을 다른 AWS 서비스에 부여할 수 있습니다.
Auto Scaling이란 무엇인가요? 트래픽 변화에 따라 EC2 인스턴스를 자동으로 늘리거나 줄이는 기능으로, 가용성과 비용 효율성을 높여줍니다.
Elastic Load Balancer(ELB)의 기능은 무엇인가요? ELB는 여러 EC2 인스턴스 간에 트래픽을 분산시켜 부하를 나누고 장애를 방지합니다.
AWS VPC(Virtual Private Cloud)의 역할은 무엇인가요? VPC는 AWS 리소스를 논리적으로 격리된 네트워크에 배치할 수 있게 해주는 가상 네트워크 환경입니다.
AWS CloudWatch는 어떤 기능을 하나요? CloudWatch는 리소스의 로그, 지표, 경보 등을 수집/모니터링하는 도구입니다.
AWS CloudFormation이란 무엇인가요? CloudFormation은 인프라를 코드로 관리할 수 있도록 도와주는 서비스로, 템플릿을 통해 자원을 자동으로 생성 및 구성할 수 있습니다.
AWS에서 보안 그룹(Security Group)과 네트워크 ACL의 차이는 무엇인가요? 보안 그룹은 인스턴스 수준에서 트래픽을 제어하고, 네트워크 ACL은 서브넷 수준에서 동작하는 필터링 규칙입니다.
Amazon RDS(Relational Database Service)는 어떤 서비스인가요? RDS는 관리형 관계형 데이터베이스 서비스로, 백업, 패치, 스케일링 등을 자동으로 처리해줍니다.
Amazon Aurora와 RDS의 차이는 무엇인가요? Aurora는 RDS 기반의 고성능 DB 엔진으로, MySQL 또는 PostgreSQL과 호환되며 최대 5배 빠른 성능을 제공합니다.
AWS Lambda의 주요 특징은 무엇인가요? 서버를 직접 관리하지 않고 코드만 업로드하면 이벤트에 따라 실행되는 서버리스 컴퓨팅 서비스입니다.
Lambda 함수 실행 시간 제한은 얼마나 되나요? 기본적으로 최대 15분까지 실행할 수 있습니다.
AWS에서 서버리스 아키텍처란 무엇인가요? 서버를 직접 프로비저닝하지 않고, 이벤트 기반으로 실행되는 서비스로 구성된 아키텍처입니다.
S3 버킷 정책(Bucket Policy)과 IAM 정책의 차이는 무엇인가요? 버킷 정책은 특정 S3 버킷에 대한 접근을 제어하고, IAM 정책은 사용자 또는 역할에 대한 AWS 리소스 접근을 제어합니다.
AWS에서 고가용성(High Availability)을 보장하기 위한 구성 방식은? 여러 가용 영역(AZ)에 리소스를 분산하고, Auto Scaling 및 Load Balancer를 활용하여 장애를 최소화합니다.
AWS에서 리전과 가용 영역(AZ)의 차이는 무엇인가요? 리전은 지리적 위치 기반의 데이터 센터 집합이고, 가용 영역은 해당 리전 내 독립된 데이터 센터입니다.
Amazon CloudFront는 어떤 서비스이며, 어떤 이점이 있나요? CloudFront는 콘텐츠 전송 네트워크(CDN) 서비스로, 전 세계 엣지 로케이션을 통해 빠른 콘텐츠 제공이 가능합니다.
AWS Route 53의 주요 기능은 무엇인가요? Route 53은 도메인 등록, DNS 라우팅, 상태 기반 트래픽 분산 기능을 제공합니다.
AWS에서 EBS(Elastic Block Store)는 어떤 용도로 사용되나요? EBS는 EC2에 연결하는 블록 스토리지로, 데이터베이스 저장소나 운영체제 디스크로 사용됩니다.
EBS와 S3의 차이점은 무엇인가요? EBS는 EC2 전용 블록 스토리지이고, S3는 네트워크 기반 객체 스토리지입니다.
AWS Config는 어떤 역할을 하나요? AWS 리소스의 설정 변경 사항을 기록하고, 규정 준수 여부를 평가하는 서비스입니다.
AWS의 기본적인 비용 절감 전략은 무엇인가요? 스팟 인스턴스 사용, 예약 인스턴스 구매, Auto Scaling 구성, 리전/클래스 최적화 등을 통해 비용을 절감할 수 있습니다.
AWS에서 서버 측 암호화(Server-Side Encryption)란 무엇인가요? 데이터를 저장하기 전에 AWS에서 자동으로 암호화하고, 읽을 때 자동으로 복호화해주는 기능입니다.
CloudTrail은 어떤 용도로 사용되나요? AWS 계정의 API 호출 기록을 로깅 및 모니터링하여 보안 및 감사 목적으로 활용됩니다.
AWS Trusted Advisor란 무엇인가요? AWS 리소스에 대한 보안, 비용, 성능, 가용성 등을 진단하고 개선점을 제안해주는 도구입니다.
AWS Organizations의 기능은 무엇인가요? 다수의 AWS 계정을 통합 관리하고, 정책을 통해 조직 단위로 보안 및 비용을 통제할 수 있게 합니다.
AZURE 질문
질문 답변
Azure에서 Virtual Machine(VM)은 어떤 역할을 하나요? Azure VM은 클라우드 기반의 가상 서버로, 사용자가 원하는 운영체제와 소프트웨어를 설치해 사용할 수 있습니다.
Azure Resource Group이란 무엇인가요? 리소스 그룹은 Azure 리소스를 논리적으로 묶어서 관리하고, 권한 및 정책을 적용하는 단위입니다.
Azure Storage에는 어떤 유형이 있나요? Blob, File, Queue, Table 저장소가 있으며, 각각 객체 저장, 파일 공유, 메시지 큐, NoSQL 저장용으로 사용됩니다.
Azure Blob Storage의 주요 사용 사례는? 이미지, 동영상, 백업 데이터, 로그 파일 등 대용량 비정형 데이터를 저장하는 데 적합합니다.
Azure에서 Virtual Network(VNet)의 역할은 무엇인가요? VNet은 Azure 리소스 간 통신을 위한 논리적 네트워크이며, 온프레미스와의 연결도 지원합니다.
Azure Load Balancer는 어떤 기능을 하나요? 트래픽을 여러 VM으로 분산하여 고가용성과 안정적인 서비스를 지원합니다.
Azure Functions는 어떤 서비스인가요? Azure Functions는 이벤트 기반으로 실행되는 서버리스 컴퓨팅 서비스입니다.
Azure에서 Role-Based Access Control(RBAC)은 어떤 역할을 하나요? 사용자나 그룹에 특정 Azure 리소스에 대한 권한을 세분화하여 할당할 수 있는 권한 관리 시스템입니다.
Azure Monitor는 어떤 용도로 사용되나요? 애플리케이션 및 인프라의 성능, 로그, 메트릭을 수집하고 시각화하여 모니터링할 수 있습니다.
Azure에서 가용성 영역(Availability Zone)은 무엇인가요? 같은 지역 내 독립된 데이터 센터로 구성되어 장애로부터 서비스를 보호하는 고가용성 기능입니다.
GCP 질문
질문 답변
GCP에서 Compute Engine은 어떤 서비스인가요? Compute Engine은 GCP의 가상 머신 서비스로, 유연하고 확장 가능한 컴퓨팅 리소스를 제공합니다.
GCP의 Cloud Storage는 어떤 특징이 있나요? Cloud Storage는 객체 기반 스토리지로, 높은 내구성과 가용성을 제공하며 이미지, 백업 등 정적 파일 저장에 적합합니다.
Cloud Functions는 어떤 용도로 사용되나요? Cloud Functions는 이벤트 기반 서버리스 컴퓨팅 서비스로, 코드만 작성하면 자동으로 실행됩니다.
GCP에서 VPC(Virtual Private Cloud)의 역할은? VPC는 네트워크 격리, 서브넷 구성, 방화벽 설정 등을 통해 GCP 리소스 간 안전한 통신을 제공합니다.
GCP IAM(Identity and Access Management)은 무엇을 제어하나요? IAM은 사용자나 서비스 계정의 리소스 접근 권한을 관리합니다.
Cloud Pub/Sub는 어떤 서비스인가요? 비동기 메시징 서비스로, 생산자와 소비자 간 실시간 메시지 전달을 지원합니다.
GKE(Google Kubernetes Engine)의 주요 기능은? GKE는 쿠버네티스 클러스터를 관리하는 서비스로, 컨테이너화된 앱의 배포, 확장, 운영을 자동화합니다.
Cloud Monitoring은 어떤 용도로 사용되나요? 리소스와 애플리케이션의 상태를 실시간으로 모니터링하고, 지표와 로그를 수집 및 시각화합니다.
GCP의 리전과 존(Zone)의 개념은 무엇인가요? 리전은 물리적 위치를 의미하고, 리전 내 여러 개의 존은 독립된 데이터 센터 역할을 합니다.
GCP에서 Cloud Armor는 어떤 보안 기능을 제공하나요? Cloud Armor는 DDoS 방어 및 IP 기반 접근 제어 정책을 통해 애플리케이션을 보호합니다.

추가 질문

질문 답변
TCP TIME_WAIT 상태란? 연결 종료 후 지연 패킷 처리를 위해 일정 시간(기본 60초~120초) 동안 포트를 점유하는 상태입니다. 데이터 무결성을 위해 필요하며, 커널 튜닝을 통해 최적화할 수 있습니다.
3-way Handshake란? TCP 연결을 설정할 때 클라이언트가 SYN을 보내고, 서버가 SYN-ACK, 클라이언트가 ACK를 보내는 3단계 과정입니다.
유저 모드와 커널 모드의 차이? 유저 모드는 일반 프로그램 실행 모드이고, 커널 모드는 시스템 리소스에 직접 접근 가능한 OS 핵심 실행 모드입니다.
32비트와 64비트 시스템의 차이점은? 64비트는 32비트보다 주소 공간이 훨씬 크며(2^64), 레지스터 크기와 메모리 접근 범위가 다릅니다.
nginx와 apache의 차이? Apache는 요청마다 프로세스/스레드 생성 방식이고, Nginx는 이벤트 기반 비동기 처리 방식으로 고성능 처리에 유리합니다.
세션 클러스터란? 여러 WAS 인스턴스 간 세션 정보를 공유해 사용자 요청을 분산 처리하고 장애 시 세션 유지를 가능하게 하는 기술입니다.
Connection Pool 확인 방법? DB 커넥션 수를 모니터링하거나 애플리케이션 로그, 설정 파일, SQL 쿼리를 통해 커넥션 사용 현황을 확인합니다.
리눅스에서 네트워크 부하 확인 방법은? `netstat`, `ss`, `iftop`, `sar`, `top`, `nload` 등의 명령어를 통해 확인할 수 있습니다.
Process, Thread, Application 차이? Process는 자원을 할당받는 실행 단위, Thread는 Process 내 실행 흐름, Application은 하나의 실행 중인 프로그램입니다.
Docker에서 ADD와 COPY 차이? ADD는 압축 해제 및 URL 다운로드가 가능하며, COPY는 단순한 파일 복사에 사용됩니다.
Docker run과 start 차이? run은 새 컨테이너 생성+시작, start는 중지된 기존 컨테이너를 다시 시작합니다.
Paging과 Swapping 차이? Paging은 메모리를 페이지 단위로 분할해 디스크와 교체, Swapping은 전체 프로세스를 디스크로 이동시킵니다.
커널이란? 하드웨어와 사용자 프로그램 사이에서 자원을 관리하고 인터페이스를 제공하는 운영체제의 핵심입니다.
커널 튜닝은 어떻게 하나요? `/etc/sysctl.conf` 파일에서 네트워크, 메모리 등의 파라미터를 설정하고 sysctl -p로 적용합니다.
L4 로드밸런서에서 스티키 세션 설정은? 클라이언트의 IP, 쿠키 등을 기준으로 요청을 특정 서버에 고정시키는 설정입니다.
WAS에서 스티키 세션 유지 확인 방법은? 세션 ID 유지 여부, 쿠키 값 확인, 응답 서버 로그를 통해 확인할 수 있습니다.
HA 구성 시 IDC와 Cloud의 차이? IDC는 물리 장비 기반이고, Cloud는 가상 인프라 기반으로 구성 유연성과 API 자동화가 장점입니다.
Region과 Availability Zone의 개념은? Region은 물리적 지역 단위, AZ는 동일 Region 내 격리된 데이터 센터로 고가용성을 위한 구성 단위입니다.
CI/CD란? CI는 지속적 통합, CD는 지속적 배포로 개발부터 운영까지 자동화된 파이프라인을 의미합니다.
IaaS, PaaS, SaaS의 차이? IaaS는 인프라만 제공, PaaS는 플랫폼(미들웨어 포함), SaaS는 완성된 소프트웨어 제공입니다.
4-way Handshake란? TCP 연결 종료 시 사용되는 절차로, FIN → ACK → FIN → ACK 순으로 통신을 마무리합니다.
HTTP와 HTTPS의 차이? HTTP는 암호화되지 않은 평문 통신이며, HTTPS는 SSL/TLS를 통한 암호화로 보안성을 갖춘 프로토콜입니다.
GET vs POST의 차이? GET은 데이터를 URL에 담아 전송하고 주로 조회에 사용되며, POST는 본문에 담아 전송하고 데이터 생성/수정에 사용됩니다.
L2, L3, L4, L7 스위칭 차이? L2는 MAC 기반, L3는 IP 기반, L4는 포트 기반, L7은 애플리케이션 레벨 헤더까지 파악하여 분산 처리합니다.
Bonding이란? 여러 NIC(Network Interface Card)를 하나로 묶어 대역폭 증가나 이중화를 위한 구성 방법입니다.
Redis의 주요 특징은? In-memory 기반의 고속 Key-Value 저장소로, pub/sub, 세션 저장, 다양한 자료구조(sset 등)를 지원합니다.
Pub/Sub에서 Kafka vs Redis? Kafka는 메시지를 저장 후 처리(우체통), Redis는 저장 없이 실시간 전달(TV 채널 개념)입니다.
커널에서 Tuning 가능한 주요 항목은? `/etc/sysctl.conf`에서 TCP 포트, 커넥션 수, PID, 방화벽, ICMP 등 다양한 항목을 설정할 수 있습니다.
Cloud에서 Auto Scaling이란? 사용량에 따라 인스턴스를 자동으로 확장/축소하여 가용성과 비용 효율을 동시에 확보하는 기능입니다.
Cloud 환경에서 오토스케일링 싱크 맞추는 방법? 스케일 인/아웃 시 상태 확인(헬스체크), 최소 인스턴스 유지 설정, 프로비저닝 타이밍 조정 등으로 조정합니다.
AWS에서 사용해본 서비스? EC2, CloudWatch, VPC
Cloud에서 Region과 AZ 활용 이유? 장애 시 고가용성을 위해 AZ를 분산 사용하고, 글로벌 배포 시 Region을 선택해 지연 최소화
WAS 세션 클러스터링 방식은? In-memory 기반 세션 복제, Redis 등 외부 세션 저장소 활용, Sticky Session 기반 분산처리 등이 있습니다.
Sticky Session을 사용할 때 유의사항은? 세션 유지가 로드밸런서에 의존하므로 서버 장애 시 세션 손실 가능성이 있어 별도 세션 공유 대안이 필요합니다.
netstat 명령어로 확인할 수 있는 정보는? 현재 연결 상태, 포트 사용, 연결 수, TIME_WAIT 수 등 TCP/IP 상태를 확인할 수 있습니다.
ss 명령어란? netstat보다 빠르고 정확하게 소켓 정보를 출력하는 명령어로, 연결 상태 및 큐 정보 등을 제공합니다.
iftop 명령어란? 실시간 네트워크 트래픽 모니터링 도구로, 송수신 IP 및 트래픽 사용량을 실시간으로 시각화합니다.
top 명령어로 확인 가능한 정보? CPU 사용률, 메모리 사용량, 실행 중인 프로세스 상태 등을 확인할 수 있습니다.
Cloud 환경에서 장애 대응 방식은? Auto Recovery, Load Balancer failover, Multi-AZ 배포, 알람 기반 대응 등이 있습니다.
CI/CD 파이프라인 구성 도구? Jenkins, GitLab CI, Github Actions, ArgoCD, Spinnaker, AWS CodePipeline 등이 있습니다.
Cloud 환경에서 장애 복구 시 RTO와 RPO란? RTO는 서비스 복구까지의 목표 시간, RPO는 데이터 손실 허용 범위로 백업 주기와 연관됩니다.
MySQL vs PostgreSQL 주요 차이점? MySQL은 경량, 속도 중심이고, PostgreSQL은 기능 중심(트랜잭션, JSON, 확장성 등)입니다.
DB 인덱스를 왜 사용하나요? 데이터 조회 성능을 높이기 위해 사용하지만, 저장 공간 증가 및 INSERT/UPDATE 성능 저하도 발생할 수 있습니다.
트랜잭션의 4가지 특성(ACID)이란? 원자성, 일관성, 고립성, 지속성으로 데이터 무결성을 보장하는 DB의 핵심 속성입니다.
Dockerfile에서 CMD vs ENTRYPOINT 차이? CMD는 기본 실행 명령이고, ENTRYPOINT는 컨테이너 실행 시 무조건 실행되는 명령입니다.
도커 컨테이너 간 통신은 어떻게 하나요? 같은 Docker 네트워크에 연결해 컨테이너 이름을 호스트네임처럼 사용하면 통신이 가능합니다.
Docker Compose란? 여러 개의 컨테이너 서비스를 하나의 YAML 파일로 정의하고 함께 관리할 수 있는 도구입니다.
Kubernetes에서 Pod란? K8s에서 컨테이너의 최소 배포 단위로, 하나 이상의 컨테이너와 네트워크/IP, 볼륨을 공유합니다.
K8s에서 Deployment와 ReplicaSet의 차이? ReplicaSet은 파드 복제 관리, Deployment는 이를 포함해 업데이트/롤백 등을 관리합니다.
K8s ConfigMap과 Secret 차이? ConfigMap은 설정값 저장, Secret은 암호화된 민감 정보 저장용 리소스입니다.
Ingress란? K8s에서 외부 트래픽을 서비스로 라우팅하는 리소스로, URL 경로 기반 라우팅, TLS 지원 등을 제공합니다.
Kubernetes에서 HPA(Horizontal Pod Autoscaler)란? CPU, 메모리 사용량 등을 기준으로 파드 수를 자동으로 조절하는 기능입니다.
Liveness Probe vs Readiness Probe? Liveness는 애플리케이션이 살아 있는지, Readiness는 요청을 받을 준비가 되었는지를 판단합니다.
쿠버네티스에서 Volume이란? 파드 간 또는 파드 재시작 시에도 데이터를 유지하기 위한 저장소입니다.
Container vs Virtual Machine의 차이? VM은 전체 OS 가상화, 컨테이너는 커널 공유 기반 경량 가상화로 속도와 리소스 효율이 높습니다.
쿠버네티스에서 Service 종류? ClusterIP, NodePort, LoadBalancer, ExternalName 등이 있으며 접근 방식에 따라 사용됩니다.
컨테이너 이미지 빌드 최적화 방법은? 멀티스테이지 빌드, 캐시 활용, 필요 파일만 COPY, 불필요한 레이어 최소화 등을 통해 이미지 크기를 줄입니다.
Git Rebase와 Merge의 차이? Merge는 브랜치 통합 흔적 유지, Rebase는 히스토리 정리 깔끔하나 위험할 수 있음
Git에서 fast-forward란? 브랜치 병합 시 중간 커밋이 없어 커밋을 단순히 이동시키는 병합 방식입니다.
git stash는 언제 사용하나요? 작업 중이던 변경사항을 임시 저장하고 브랜치를 전환하거나 다른 작업을 진행할 때 사용합니다.
프로세스 상태 전이란? 프로세스는 생성(New) → 준비(Ready) → 실행(Running) → 대기(Waiting) → 종료(Terminated)의 상태를 순환합니다.
컨텍스트 스위칭이란? CPU가 현재 작업 중인 프로세스를 중단하고 다른 프로세스로 전환하기 위해 상태 정보를 저장/복원하는 과정입니다.
세마포어란? 멀티스레드 환경에서 자원 접근을 동기화하기 위한 카운터 기반의 동기화 도구입니다.
뮤텍스 vs 세마포어 차이? 뮤텍스는 하나의 스레드만 자원 접근 가능, 세마포어는 카운터로 여러 접근 제한이 가능합니다.
데드락(Deadlock)이란? 프로세스들이 서로 자원을 점유하고 상대 자원을 기다리며 무한 대기 상태에 빠지는 현상입니다.
데드락 방지 방법은? 자원 할당 순서 지정, 타임아웃 설정, 교착 상태 회피 알고리즘(Banker’s Algorithm) 사용 등이 있습니다.
가상 메모리란? 물리 메모리보다 큰 논리 주소 공간을 제공하여 메모리를 유연하게 관리할 수 있는 OS 기능입니다.
TLB란? Translation Lookaside Buffer는 자주 사용하는 페이지 테이블 정보를 캐싱하여 주소 변환 속도를 높입니다.
MMU란? Memory Management Unit은 논리 주소를 물리 주소로 변환해주는 하드웨어 장치입니다.
CPU 스케줄링 알고리즘 종류는? FCFS, SJF, Priority, Round Robin, Multilevel Queue 등이 있습니다.
Round Robin 방식이란? 각 프로세스에 일정 시간(Time Quantum)을 할당해 순환 방식으로 CPU를 할당하는 알고리즘입니다.
우선순위 역전이란? 낮은 우선순위 프로세스가 자원을 점유해 높은 우선순위 프로세스가 대기하게 되는 문제입니다.
스레드 풀(Thread Pool)이란? 미리 생성된 스레드 묶음으로, 작업 요청 시 스레드를 재사용해 성능을 향상시킵니다.
멀티프로세싱 vs 멀티스레딩? 멀티프로세싱은 독립된 프로세스 간 병렬 수행, 멀티스레딩은 하나의 프로세스 내 스레드 간 병렬 처리입니다.
JVM 구조는? Class Loader, Execution Engine, Runtime Data Area, Native Method Interface, Native Libraries로 구성됩니다.
JVM의 힙과 스택 차이? 힙은 객체 저장 공간, 스택은 메서드 호출 시 생성되는 지역 변수와 호출 정보 저장 영역입니다.
GC(Garbage Collection)이란? 사용하지 않는 메모리를 자동으로 회수하는 기능으로, JVM의 성능에 큰 영향을 줍니다.
GC 알고리즘 종류는? Mark and Sweep, Generational GC, G1 GC, CMS 등이 있습니다.
JVM에서 PermGen vs Metaspace? PermGen은 고정된 영역으로 클래스 메타정보 저장, Metaspace는 JDK8부터 도입된 동적 메모리 영역입니다.
Java의 final 키워드 역할은? 변수: 값 변경 불가, 메서드: 오버라이딩 금지, 클래스: 상속 금지 역할을 합니다.
로그 레벨 종류와 의미는? TRACE < DEBUG < INFO < WARN < ERROR < FATAL 순으로, 상세도 및 심각도에 따라 나뉘며 필터링 기준으로 사용됩니다.
로그 파일 순환 방식은? 시간 또는 크기 기준으로 로그를 분할(rotating)하며, logrotate 등을 사용해 자동 순환 관리합니다.
로그 분석 도구에는 어떤 것들이 있나요? ELK(Elasticsearch, Logstash, Kibana), Graylog, Splunk 등이 있으며 시각화와 실시간 분석이 가능합니다.
보안 포트란? SSH(22), HTTPS(443), SFTP 등 암호화된 통신을 위한 포트이며, 방화벽 정책에서 별도 관리됩니다.
방화벽에서 포트 오픈 시 주의사항은? 최소 권한 원칙에 따라 필요한 포트만 열고, IP 제한과 로깅 설정을 병행해야 합니다.
SSL 인증서 종류는? DV(Domain Validation), OV(Organization Validation), EV(Extended Validation)로 보안 수준에 따라 구분됩니다.
XSS와 CSRF 차이? XSS는 스크립트를 주입해 공격, CSRF는 사용자의 인증 정보를 이용한 요청 위조입니다.
리버스 프록시란? 클라이언트의 요청을 내부 서버에 전달하고 응답을 대신 반환하는 서버로, 로드밸런싱, 보안, 캐싱 기능에 사용됩니다.
로드밸런싱 방식 종류는? 라운드로빈, Least Connection, IP Hash, URL Path 기반 등이 있으며 환경에 따라 선택합니다.
SSL Termination이란? 로드밸런서나 프록시에서 SSL을 복호화한 뒤 내부 통신은 평문 HTTP로 전달하는 방식입니다.
모놀리식 vs 마이크로서비스 차이? 모놀리식은 모든 기능이 하나의 애플리케이션에 포함되고, 마이크로서비스는 독립된 서비스로 분리되어 배포/스케일링이 유연합니다.
컨피규레이션 관리란? 환경별 설정 파일 및 시스템 구성을 버전 관리하며 일관성 있게 유지하는 작업입니다.
인프라스트럭처 코드화(IaC)란? 인프라 구성을 코드(YAML, JSON 등)로 정의해 자동화 및 버전 관리를 가능하게 하는 접근 방식입니다.
대표적인 IaC 도구는? Terraform, AWS CloudFormation, Ansible, Pulumi 등이 있습니다.
제로 다운타임 배포란? 서비스 중단 없이 점진적 배포(Blue-Green, Canary 등)를 통해 안정적으로 릴리즈하는 방식입니다.
Blue-Green 배포란? 기존 버전(Blue)과 새 버전(Green)을 병렬 운영하고, 트래픽을 전환해 배포 시 장애를 줄이는 방식입니다.
Canary 배포란? 일부 사용자에게만 새 버전을 배포하고 점진적으로 전체 트래픽을 전환하는 방식입니다.
A/B 테스트란? 두 가지 이상의 버전을 사용자에게 나눠 제공해 성능/반응을 비교하여 더 나은 결과를 선택하는 실험 방식입니다.
API Gateway 역할은? 클라이언트와 백엔드 서비스 사이의 요청을 라우팅/인증/속도 제한/로그 처리 등을 수행하는 중간 계층입니다.
캐시 전략 종류는? Write-through, Write-back, LRU, TTL 설정 기반 캐시가 있으며 성능과 정합성 요구에 따라 결정됩니다.

 

'공부할 것들' 카테고리의 다른 글

네트워크 엔지니어 면접 기술 예상 질문  (7) 2025.04.22