일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- baekjoon
- linux
- 실기
- Backjoon
- hdl
- 정처기
- amba
- chip2chip
- 백준
- FPGA
- vitis
- 자격증
- HDLBits
- Xilinx
- axi
- Vivado
- boj
- SQL
- 리눅스
- AMBA BUS
- verilog HDL
- C++
- Beakjoon
- UNIX
- 정보처리기사
- verilog
- java
- Zynq
- Bus
- 코딩테스트
- Today
- Total
Hueestory
면접준비 본문
skills & tools
- C, C++ : Visual Studio
- Java : Intellij
- Python : Jupyter Notebook
- VerilogHDL : Vivado, Vitis
- HTML, CSS : Visual Code(web)
CS
- 네트워크
- OSI
- 반도체 설계
- Python 기반 머신러닝
기억에 남는 C++ 함수 : 구조체
- C 구조체 내부에는 함수를 멤버로 가질 수 없지만 C++에서는 함수를 선언할 수 있어서 C++ 처음 배울 때 헷갈렸음
포인터
- 데이터가 저장된 메모리의 주소값을 저장하는 변수
- 주소 연산자(&) : 해당 변수의 주소값을 반환
- 참조 연산자(*) : 포인터가 가리키는 주소에 저장된 값을 반환
스택
- LIFO, DFS
- 삽입(push)과 삭제(pop)이 top에서만 일어남
큐
- FIFO, BFS
- 가장 먼저 들어온 데이터는 front, 가장 늦게 들어온 데이터는 back
- 삽입(push)은 back에서, 삭제(pop)는 front에서 일어남
버블 정렬
1. 두 인접 데이터의 크기를 비교해 정렬(swap)
2. 개수가 N개 일 때 정렬된 영역 설정을 위해 j < N-1-i
for(int i = 0; i < N-1; i++){
for(int j = 0; j < N-1-i; j++){
}
}
선택 정렬
1. 최솟값 또는 최댓값을 찾아 가장 앞 데이터와 swap
2. index++, index가 전체 데이터 크기 이상이 되면 종료
삽입 정렬
1. 데이터 값을 선택하여, 정렬된 데이터 범위에 삽입될 위치를 탐색
2. 삽입 위치부터 index까지 shift
3. 데이터를 삽입하고 index++, index가 전체 데이터 크기 이상이 되면 종료
퀵 정렬
1. pivot을 설정
2. start와 end를 설정하고 pivot과 비교하며 이동
3. start와 end가 만난 지점의 데이터가 pivot보다 크면 pivot을 좌측에, 작으면 pivot을 우측에 삽입
4. 두 부분으로 분리하여 1~3 과정을 반복하고, 분리 집합이 1개 이하가 될 때 까지 반복
병합 정렬
- 나눠진 그룹을 병합하는 과정에서 데이터를 비교하여 병합
DFS
- 인접 리스트, 스택(LIFO)
1. 시작 노드를 설정 후 스택에 삽입
2. 스택에서 노드를 꺼낸 후 인접 노드를 다시 스택에 삽입
3. 모든 노드를 탐색할 때까지 반복
BFS
- 인접 리스트, 큐(FIFO)
1. 시작 노드를 설정 후 큐에 삽입
2. 큐에서 노드를 꺼낸 후 인접 노드를 다시 큐에 삽입
3. 모든 노드를 탐색할 때까지 반복
이진 탐색
1. 중앙값을 설정
2-1. 중앙값>타깃 데이터면 좌측 데이터셋을 선택
2-2. 중앙값<타깃 데이터면 우측 데이터셋을 선택
3. 중앙값==타깃 데이터일 때까지 반복
TCP; transmission control protocol
1. 연결형
2. 가상 회선
3. 흐름/혼잡 제어
4. 신뢰성(3-way handshake), 느림
5. full-duplex, point-to-point
UDP; user datagram protocol
1. 비연결형, 데이터그램 통신
2. 신뢰성 X, 빠름
3. 오류 제어 X
4. broadcasting
MAC(L2)
- 네트워크 인터페이스에 할당된 고유 식별자, 변경 불가
IP(L3)
- 컴퓨터 네트워크에 연결된 각 장치에 할당된 고유 주소, 변경 가능
- IPv4 : 8bit * 4
- IPv6 : 16bit * 8
Routing(L3)
- 정적 : 사람이 수동으로 미리 경로를 지정
- 동적 : 라우터끼리 네트워크 정보를 상호 교환하여 경로를 선정 / RIP, OSPF, BGP
- routing table, routing algorithm, default route
ARP
- IP주소를 MAC주소로 bind
- 단말 간 통신을 하기 위해서 bind 시켜야 목적지 IP의 단말이 소유한 MAC주소로 찾아감
'etc' 카테고리의 다른 글
근황 (3) | 2024.11.09 |
---|---|
모니터랩 코테 후기 (0) | 2024.10.18 |
tcp vs udp (0) | 2024.10.14 |