티스토리 뷰

etc...

기술면접 주제 - CS 지식

jhk828 2020. 11. 3. 16:00

1. 프로세스와 쓰레드의 차이 (운영체제)

프로세스는 운영체제로부터 자원을 할당받아 실행하고, 스레드는 프로세스로부터 자원을 할당받아 실행한다.

# 하나의 프로세스 안에서 여러 스레드 생성이 가능하며

    - 보통 프로세스는 코드/데이터/스택/힙 메모리 영역을 기반으로 하며

    - 스레드는 프로세스 안에서, 개별적인 스택을 가지고, 코드/데이터/힙 영역을 공유하며 실행된다

 

2. 스크립트 언어와 컴파일 언어를 나열하고 차이점을 설명하세요

# - 스크립트 언어로는 python, ruby, PHP

 - 컴파일 언어는 C, C++, JAVA

# - 컴파일 언어는 컴파일러를 통해 사전에 컴파일 되어, 기계어 상태로 실행되므로 실행이 빠르다

  - 컴파일 단계에서 전체 코드를 기계어로 변환될 때, 최적화 작업을 진행하여, 실행 시간이 보다 빠르다

# - 스크립트 언어는 컴파일 단계 없이, 실행 단계에서 한 줄씩 기계어로 번역 후 실행되어 컴파일 언어보다 실행이 느림

 - 전체 코드에 대한 실행 코드 최적화가 어려움

 

3. 동기식과 비동기식 차이점, 장단점

: 실무에서 막대한 요청, 데이터를 처리하려면 동기식/비동기식을 고려해야 한다

# 차이점 (클라이언트 사이드에서 일어나는 일)

 - 동기식 일처리 요청에 대한 응답을 기다린 후, 응답이 오면 다음 요청을 하는 방식인 반해

 - 비동기식 일처리는 요청에 대한 응답을 기다리지 않고 다음 동작을 진행한다

 - 프로그램이 코드를 실행했을 때 다른 라이브러리나 서버에 요청을 해서, 실행하던걸 다 끝내고 실행하면 동기식 

# 장단점

 - 동기식은 구성이 단순하고, 순서대로 실행이 가능, 하지만 여러 일을 동시에 수행하는 멀티태스킹은 불가능

 - 비동기식은 동시에 여러 일을 수행할 수 있어 성능이 개선될 수 있지만, 

  - 일정 시간당 요청량이 많아질 경우, 데이터가 잘못 참조되는 등 부하가 발생할 수 있으며, 이를 위해 추가적인 처리가 필요하여 코드의 복잡도가 올라갈 수 있다는 단점

 

4. 데이터 베이스에서 인덱스를 사용하는 이유와 장단점

: 최근 실무는 데이터 양이 막대해져서 인덱스가 필수임

- 장) 인덱스는 데이터를 논리적으로 정렬해서 검색과 정렬 속도를 높이기 위해 사용

- 단) 데이터 삽입이나 변경이 수시로 일어나면 매번 인덱스를 변경해야 하므로, 성능 저하를 막기 위한 고려가 필요하다 

 

5. Redis와 mongodb에 대해 설명

: 최신 기술을 알고있는지에 대한 판단. 복불복 느낌

# 둘다 No SQL 방식을 사용한다.

# Mongodb document 형식으로 데이터를 저장하는데 반해, Redis는 key-value 형식으로 데이터를 저장한다

 # - Redis는 인메모리 DB로 데이터를 메모리에 저장하고 관리하기 때문에 성능이 좋지만

데이터를 유한하게 저장하기 때문에, 연속성있게 저장되는 것은 아니고, 캐쉬 등과 같이 데이터의 저장 기한이 있고, 세션 관리 회원 관리, 빠른 성능이 필요한 기능에 사용된다

- Mongodb는 연속적으롱 저장이 되고, mysql처럼 서버-클라이언트 방식으로 설치해서 사용한다.

 mysql과 같은 SQL 방식이 아니므로, 가변적 데이터 구조를 다루는데 유용하다

 

# Firebase는 

- SQL을 사용하지 않고  JSON  (JavaScript Object Notation)방식의 문서를 사용하여 저장한다.

- JSON을 Dictionary 형태 (Key-Value)를 사용하여 데이터를 주고 받도록 한다

 

5-1. NoSQL - Firebase도 NoSQL 문서 중심의 DB

 

6. TCP와 UDP의 차이점과 장단점

: 아무리 네트워크를 다 까적어도 이정도는 기억할 것, 흐름제어와 오류제어 알고리즘까지 물어보는 경우가

osi 7계층 중 네번째 전송 계층 프로토콜

- TCP 신뢰성 있는 데이터 전송

- UDP는 신뢰성 보다는 빠른

 

# - UDP는 비연결형 프로토콜, 흐름제어, 오류제어를 하지 않지만

 - TCP는 연결형 프로토콜로 흐름제어와 오류제어를 한다

# UDP는 TCP처럼 종단간 연결설정, 흐름제어, 오류제어를 하지 않기 때문에 송수신에 적은 데이터를 필요하는 반면, TCP는 데이터 송수신에 신뢰성을 가짐

 

# 운체, 데베, 네트워크 위주로 할 것

 - 데베는 좀 더 실무적으로, 실제 디비 다뤄보기

 

 

'etc...' 카테고리의 다른 글

메가박스 돌비 시네마 좌석 크롤링 중  (0) 2020.09.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
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
글 보관함