CS 목차
공부해야 할 CS 목차
✅ 운영체제
✓ process VS thread
js는 single thread
what is single thread?
그래서 js에서 되는 것이 있고, 안 되는 게 있다는 것을 알 수 있음.
✓ deadlock 상태(교착상태)
deadlock 상태가 일어나기 위한 조건
deadlock 상태가 일어났을 때 해결하는 방법
✓ 페이징과 세그멘테이션
js는 자동적으로 페이징, 세그멘테이션을 자동적으로 해주는데, 어떻게 자동적으로 해주는 것인지 알아야 한다.
메모리를 어떻게 나누고, 메모리를 컴퓨터가 어떻게 다루고 클렌징하는지 알 수 있음.
✓ 뮤택스, 세마포어의 사용, 둘 간의 차이점
공유될 수 있는 양, 자원에 접근할 수 있는 양을 조절, 제한
✅ 데이터베이스
✓ 정교화과정
DB를 설계할 때 꼭 필요한 과정
비용을 절감하는데 큰 역할
✓ 무결성 보장
✓ 크리거
이 결제창이 넘어가는 트리거는 어디에 숨겨져 있어요?
버튼 안에 숨겨져 있어요
✅ 네트워크
✓ OSI 7계층
OSI 국제적인 통신 표준
왜 7계층으로 나눴고, 완료까지 어떻게 흘러가는가
✓ socket
메세지 전달 서비스를 만들 때는 꼭 socket사용해야 함
카카오톡, 채널톡은 다 socket기반
✓ TCP/UDP 내부에 socket
둘의 차이점,
IP protocol
TCP는 어느 프로토콜 기반인가?
✓ HTTP와 HTTPS의 차이
HTTP + SSL = HTTPS
SSL이 무엇인지, 왜 사용하는지? 암호화 때문에, 보안을 높이기 위해
endpoint에 HTTPS가 없으면 사이트 막아버리기도 함.
API 통신, REST API의 메소드
✅ 웹
✓ 브라우저 동작
검색창에 www.google.com을 쳤을 때 무슨 일이 일어나는가?
어떤 과정을 거쳐 우리 눈에 보이는가?
✓ 웹 뷰
요즘은 앱 안 과정도 모두 웹으로 동작되어
이 과정을 크롬만 공부하는 것이 아니라 firefox, safari나눠서 공부해야(아이폰의 경우에는 safari임) 그 이유는 웹이 더 빨리빨리 버그 수정 가능하기 때문.
✓ 렌더링
우리가 검색어를 쳤을 때 어떻게 HTML, CSS, JS가 렌더링되어 눈 앞에 보이는가?
DOM을 기준으로 공부
✓ DOM
Document Object Model
DOMtree를 어떻게 배치하는가? 어떻게 parsing되고 DOM 트리 구축
✓ cookie, session, local storage
브라우저에서 데이터를 저장하는 방법
각 방법의 장단점
유저의 정보를 안전하게 저장하고, 페이지가 닫히면 없어지게 하려면 어디에 저장할까?
✓ FastAPI, REST
rest의 메소드 post, get, put, delete
CRUD REST의 상충되는 개념으로 GraphQL이 있다. GraphQL의 특장점 알아두기, REST와 비교했을 때 어떤 특징이 있는가
✓ JWT
어떤 유저인지 식별하기 위함
✓ accesstoken / refreshtoken
각각은 언제, 어디에서 사용되는지, 개인정보 유출이 왜 일어나는지
✓ CSR & SSR
jsp 언제 쓰는지, 어디에 쓰면 좋은지 CSR을 공부하다보면 SPA가 어디에서 사용되는지 react(CSR) / next(SSR)의 차이
✓ CSRF & XSS
보안 개념
CSRF Cross Site Request Forgery XSS Cross Site Scription
✅ 알고리즘
✅ 패턴
✅ 데이터 구조
https://github.com/Seongwon97/tech-interview
https://github.com/gyoogle/tech-interview-for-developer
https://github.com/Seogeurim/CS-study
https://yechan05.notion.site/ed08689897a7489284cd6330b9dd7d02?v=0fa0a648b76b41d4b3b0b8a8bf23da18&p=6b3ca29eaf9b415b93fc0baf3b1fa7be&pm=s