Tech-Interview-Conquer는 개발자 기술 면접 준비를 위한 종합 자료 모음입니다.
기술 면접에서 자주 등장하는 주제들을 정리하여 기술 면접을 정복해 보세요
ex) Interpreted Language vs Compiled Language.md
ex) 2024-12-01 [Programming Language] Interpreted Language vs Compiled Language Add/Update/Delete
- 운영체제
- 프로그램, 프로세스, 스레드
- 사용자 모드, 커널 모드
- 동기, 비동기
- 멀티 프로세스, 멀티 스레드
- 교착 상태
- 뮤텍스, 세마포어
- CPU 스케줄링
- 컨텍스트 스위칭
- 가상 메모리, 페이지 교체 알고리즘
- OSI 7계층
- TCP, UDP
- HTTP, HTTPS
- HTTP 진화 과정
- CORS
- IP 주소
- 공인IP, 사설IP
- 도메인 검색 프로세스
- 대칭키, 비대칭키
- 세션 기반 인증, 토큰 기반 인증
- 패킷 스니핑
- RESTful API
- HTTP 메서드
- HTTP 상태 코드
- 웹소켓
- 쿠키 vs 로컬 스토리지 vs 세션 스토리지
- JWT
- XSS, CSRF
- OAuth
- 라이브러리, 프레임워크
- MSA
- CI/CD
- HTML, 시맨틱 태그
- CSS 박스 모델
- 브라우저 렌더링 과정
- CSR vs SSR
- SPA vs MPA
- MVC, MVP, MVVM
- Web Server, WAS
- Java의 변수
- Java의 접근제어자
- 추상클래스 vs 인터페이스
- ==, equals()
- String vs StringBuilder vs StringBuffer
- 객체지향프로그래밍 4원칙
- JDK, JRE, JVM
- Java 가비지 컬렉션
- Spring Boot vs Spring Framework
- Spring 핵심 철학
- Spring Bean 생명 주기
- Spring MVC 요청 흐름
- 운영체제 아주 쉬운 세가지 이야기(OSTEP) : https://pages.cs.wisc.edu/~remzi/OSTEP/Korean/
- 컴퓨터 네트워킹 하향식 접근
- 데이터베이스 시스템(Silberschatz)
- Java의 장단점
- JVM
- 가비지 컬렉션
- 객체지향
- 객체 지향 설계 5원칙(SOLID)
- 클래스, 객체, 인스턴스
- 추상클래스 vs 인터페이스
- 컬렉션 프레임워크
- Static
- Call by Value vs Call by Reference
- 오버로딩 vs 오버라이딩
- String vs StringBuffer vs StringBuilder
- 래퍼 클래스
- equals & Hashcode
- Checked Exception vs Unchecked Exception
- 동기 vs 비동기
- 프로세스
- 프로세스 시스템 콜
- 제한적 직접 실행
- CPU 스케줄링
- 멀티 레벨 피드백 큐
- 비례 배분 스케줄링
- 멀티 프로세서 스케줄링
- CPU 가상화
- 가상 메모리
- 주소 변환
- 세그멘테이션
- 메모리 빈 공간 관리
- 페이징
- TLB
- 더 작은 페이징 테이블
- 물리 메모리 크기 극복 - 메커니즘
- 물리 메모리 크기 극복 - 정책
- 스레드
- VAX&VMS
- 스레드 API & 락
- 스레드 락
- 자료구조에서의 락 사용
- 스레드 컨디션 변수
- 세마포어
- 스레드 오류
- 이벤트 기반 병행성
- 파일 장치
- 디스크 드라이브
- RAID
- 파일과 디렉터리
- 간단한 파일 시스템
- 지역성과 Fast File System
- 크래시 일관성
- LFS
- 데이터 무결성과 보호
- 분산 시스템
- 분산 파일 시스템
- AFS
- NFS
- 인터넷 & 프로토콜
- 네트워크 코어
- 패킷 교환 네트워크에서의 지연, 손실과 처리율
- 계층구조 & TCP/UDP 개요
- 네트워크 공격
- 애플리케이션 계층
- HTTP 메시지
- 비지속 연결과 지속 연결
- 쿠키
- 이메일
- IP&DNS
- P2P 파일 분배
- 비디오 스트리밍 & CDN
- UDP vs TCP
- 트랜스포트 계층 및 다중화와 역다중화
- UDP
- 파이프라이닝된 프로토콜
- 신뢰적인 데이터 전송 프로토콜
- 슬라이딩 윈도우 기반 ARQ 프로토콜
- TCP
- TCP의 지연 ACK
- TCP 연결 관리
- 혼잡 제어의 원리
- TCP 혼잡 제어
- QUIC & 네트워크 계층 개요
- 라우터 구조
- 패킷 스케줄링
- IPv4
- IPv4 vs IPv6
- SDN
- 라우팅 알고리즘
- OSPF
- BGP
- SDN 제어평면
- ICMP
- 링크 계층
- 오류 검출
- 다중접속프로토콜
- 링크 계층 주소와 ARP
- 이더넷
- 링크 계층 스위치
- VLAN
- 링크 가상화
- 데이터 센터 네트워킹
- 와이파이 무선랜
- 무선랜
- 셀룰러 네트워크
- 이동성 관리
- 실전에서의 이동성 관리
- 무선과 이동성
- 네트워크 보안
- 메시지 무결성, 전자서명
- 네트워크 계층의 보안
- 운영 보안
- 무선 네트워크 보안
- DBMS 종류
- 샤딩
- 관계형 모델
- SQL
- 중급 SQL
- 고급 SQL
- E-R모델 데이터베이스 설계
- 관계형 데이터베이스 설계
- 복합 데이터 타입
- 응용 프로그램의 개발
- 물리적 저장 장치 시스템
- 데이터 저장 장치 구조
- 인덱싱
- 질의 처리
- 질의 최적화
- 트랜잭션
- 동시성 제어
- 복구 시스템
- 데이터베이스 시스템 구조
- 병렬 및 분산 데이터 저장소
- 병렬 및 분산 질의 처리
- Web
- HTTP vs HTTPS
- HTTP 메서드
- HTTP 상태코드
- URI
- REST API
- Web Server
- 동기와 비동기
- Axios & Fetch
- 웹 브라우저 렌더링
- SPA vs CSR vs SSR
- SSG vs ISR
- 웹 표준 & 웹 접근성
- WEB 1.0/2.0/3.0
- 쿠키 vs 세션 vs 토큰
- OAuth
- 메세지 큐