728x90
반응형
모의면접 스터디 첫 날 ⭐️
- KEEP
- 자신감 없어 보이는 “~인 것 같다.”와 같은 표현을 사용하지 않아 답변에 확신이 있어보인다.
- PROBLEM
- 음… 어… 하는 filler word가 많다.
- 눈을 잘 마주치지 않고 눈알을 굴린다.
- TRY
- ‘대답’이라는 단어보다는 ‘답변’이라고 말하기
- 음… 어 하면서 생각하지 말고 눈을 마주치며 답변 내용 고민하기
알고리즘 공부
- 완전 탐색 : 가능한 모든 경우의 수를 탐색하는 방법
- Brute-Force search : 사실상 그냥 for문으로 단순하지만 시간 초과 나기가 쉽다.
- Bitmask : 경우의 수를 이진수로 표현해, 이진수 하나로 배열을 사용하는 것 같은 효과를 준다.
- 재귀 함수
- 반드시 종료 조건을 포함해야 한다.
- 문제 풀이 과정에서 비슷한 논리가 반복되어 풀이 과정의 일부가 전체 과정과 유사한 문제에 사용한다.
- 순열 (Permutation)
- 서로 다른 N개에서 r개를 뽑아 나열한다.
- 파이썬은 itertools의 permutatons 사용
- 만약 순서와 관계없이 N개에서 r개의 배열을 나타낸다면 조합(combinations)을 사용한다.
- 백트래킹 : 모든 경우의 수 중 확실히 아닌 것을 제외하고 살펴보는 방법으로, 완전 탐색 + 예외를 추가한 if문
- BFS & DFS : 자료에서 데이터를 탐색할 때 수평 방향으로(BFS)/위에서 아래로(DFS) 찾는 방법
기술 면접 준비
마찬가지로 최대한 1분에 맞춰 작성하려 했으나 쪼매 힘듦.
- 쿠키와 세션
- 둘 다 http 프로토콜로 데이터를 저장하는 건데, 쿠키는 클라이언트에 데이터를 저장하고 세션은 서버에 데이터를 저장한다.
- 세션 ID가 쿠키에 저장되어 사용자의 정보를 저장하고 정보 조회의 역할을 하기 때문에, 세션도 엄밀히 따지자면 쿠키를 이용하긴 한다.
- 보안 면에서 쿠키는 브라우저 단에 보관되고, 암호화를 안 하기 때문에 보안에 취약하다.
- 세션은 서버 측에 저장되기 때문에 암호화가 되고 좀 더 안전하게 정보가 저장된다. 따라서 개인정보나 비밀번호 같은 건 쿠키보단 세션에 저장하는 게 좋다.
- 쿠키는 보통 브라우저 자동완성이나 쇼핑몰 장바구니에 활용한다.
- 세션은 서버에 저장되는 정보기 때문에 트래픽이 몰릴 경우 서버 다운의 위험성이 존재하고, 따로 처리가 요구 되어 리소스 사용 면에서 불리하기 때문에 쿠키에 비해 속도가 느릴 수 있다.
- 쿠키는 쿠키 하나당 4kb의 데이터를 저장할 수 있는 데 반해 세션은 저장 데이터에 제한이 없다.
- 서버 증설 시 세션 데이터가 서버마다 다를 수 있다는 이슈가 존재한다.
- 쿠키의 경우 만료시간 설정에 따라 브라우저 종료 이후에도 계속 남아있을 수 있지만, 세션은 브라우저 종료 시 만료시간과 관계 없이 삭제된다.
- 이처럼 세션과 쿠키 각각 장단점이 존재하기 때문에 적절히 혼합해 사용하는 것이 좋다.
- OSI 7계층🔥 물데네전세표응 → 공식처럼 외우기
- 통신 과정 중 문제가 발생할 경우 해당 부분에서만 해결하기 위해 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 OSI 7계층이라고 한다.
- 1계층은 물리 계층으로, NIC와 같은 물리적 장치를 통해 전기 신호를 컴퓨터가 이해할 수 있는 디지털 신호로 받아들이는 부분이다.
- 2계층은 데이터 링크 계층으로, 1계층에서 받아들인 전기 신호를 바탕으로 데이터를 컴퓨터로 안전하게 전달하는 부분이다.
- 2계층에서는 맥주소를 알아야 한다. 컴퓨터의 주소에는 물리 주소와 논리 주소가 있다. 맥주소는 이중에서 물리 주소에 해당한다. IP는 논리 주소에 해당한다.
- 2계층에서 활용되는 장비에는 스위치와 브리지 등이 있다.
- IP는 바뀔 수 있는 반면, 맥주소는 각 기기에 할당되어 있는 고유한 주소다.
- 2계층은 이 맥주소를 바탕으로 어딘가에 존재하는 컴퓨터를 찾아가는 역할을 한다.
- 3계층은 네트워크 계층으로, 여기서부터 IP 주소가 활용되기 시작한다. 다른 네트워크로 데이터를 보내기 위한 경로 배정, 즉 라우팅을 담당한다. 그리고 그걸 수행하는 장비가 라우터.
- 4계층은 전송 계층으로, 신뢰성 있는 전송을 위해 TCP 프로토콜이, 효율적인 전송을 위해 UDP 프로토콜이 활용된다. 방화벽으로 특정 포트를 제한하는 기능이 4계층에서 수행된다.
- 5계층은 세션 계층으로, 동기화를 이용해 통신을 관리한다.
- 6계층은 표현 계층으로, 인코딩이나 암호화를 이용해 데이터를 표현하는 등 언어 지원 부분을 담당한다.
- 7계층은 응용 프로그램 계층으로 최상위 계층에 해당한다.
- 7계층에서 브라우저가 실행되고, HTTP 요청을 보내는 등 응용 서비스를 수행함으로써 사용자와 직접적으로 접촉한다.
- 7계층과 관련해 포트 개념 알아두기
- 7계층을 따라가다 보면 특정 컴퓨터에 접근하게 되는데, 같은 컴퓨터라 하더라도 실행하는 프로그램이 다르다.
- 이때 찾아가야 하는 프로그램이 어디에 있는지, 어떤 프로그램에 데이터를 갖고와야 하는지를 나타내주는 게 포트! 즉 다시 말해 컴퓨터에서 실행중인 응용 계층으로 가기 위한 길을 표시해준다.
- 가령 HTTP 응용 계층에 있는 프로그램에 데이터를 전송하려면 80번 포트로 가면 되는 것.
- 🔥 각 계층에서 활용되는 포로토콜과 장비를 같이 알아두면 좋다.
- 🔥 해당 레이어에 대해 각각 설명하고 → tcp/ip 4계층이 실무에서 활용되더라 → 계층이 올라갈수록 하드웨어에서 소프트웨어로 가까워지는 경향이 있다.
반응형
'Programming > TIL and WIL' 카테고리의 다른 글
| TIL : 프로그래머스 타겟 넘버 문제 (0) | 2023.01.19 |
|---|---|
| TIL : DFS & BFS, 완전탐색 활용 알고리즘 문제 (0) | 2023.01.18 |
| TIL : CS 면접 준비 → 기본키와 외래키 / 트랜잭션과 ACID / Deadlock과 해결법 / inner join과 outer join (0) | 2023.01.16 |
| 220104 TIL : ChatGPT 추가 조사 (0) | 2023.01.05 |
| TIL Today I Learned : Dall-E2와 ChatGPT (0) | 2023.01.03 |