취업,면접 대비 31

HTTP에서 GET, POST의 차이점

여기가 설명 잘되어 있다. [https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/] 목적을 비교해 보면 GET은 서버로 부터 정보를 조회하기 위해 설계된 메소드라 그러고 POST는 리소스를 생성/변경하기 위해 설계됬다. 겟은 쿼리 스트링으로 필요한 데이터를 전송하고, 포스트는 바디에 담아 전송한다. 바디는 용량 제한이 없어 대용량 전송이 가능하다. 겟은 idempotent하고 포스트는 그렇지 않다. 즉 겟은 서버에 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아 온다. 포스트는 다를 수 있다.

<면접 대비> : 퀵소트vs힙소트, 스택 vs 힙

퀵소트 힙소트 차이 영상을 보니 , 비교 횟수는 퀵소트가 많은데 교환 횟수는 퀵소트가 현저히 적어서 효율적이다. heaptify 과정에서 swap 횟수가 너무 많아 힙소트가 성능이 현저히 떨어진다. 업로드 한 분이 머지소트 영상도 있는데, 왜 머지 소트가 퀵소트에 밀리는지 잘 알 수 있다. 머지 소트는 두 배열 사이에 이동하는 과정이 비효율적 ㅋㅋ 스택을 사용하는 이유, 부제 스택 vs 힙 ㅋㅋ 도대체 왜일까 ㅋㅋ? 리컬젼 사용하려고 그런거같다. 근데 고민 하면 할 수록 힙에서 사용하는 방식과 많이 다르 다는 것을 알 수 있다. 대표 적으로 힙은 일단 공간 할당 하고 사용하려는 거고 , 데이타 영역도 음 할당 해놓고 시작하고, 힙은 사용 중에 할당하면서 사용하려 하니까 스택이랑 섞여있다고 상상해보면 , ..

면접 대비 운영체제 공부 (abraham 4장 thread)

현대의 거의 모든 운영체제는 한 프로세스가 다중 스레드를 포함하는 특성을 제공한다. 목표 다중 스레드 컴퓨터 시스템의 기초를 이루는 CPU의 기본 단위인 스레드를 소개한다. Pthreads API 및 Windows와 Java 스레드 라이브러리에 대해 논의한다. 암시적 스레딩을 지원하는 몇 가지 전략을 탐구한다. 다중 스레드 프로그래밍과 관련된 여러 쟁점들을 검토한다. window, linux의 스레드 지원에 대해 알아본다. 4.1 개요 스레드는 CPU 이용의 기본 단위 이다. 스레드는 스레드 ID, 프로그램 카운터, 레지스터 집합, 그리고 스택으로 구성된다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션 그리고, 열린 파일이나 신호와 같은 운영체제 자원들을 공유한다. 지금 그림 4.1(..

면접 대비 운영체제 공부 (abraham 3장 Process)

초기 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행하도록 허용하였다. 그 프로그램은 시스템에 완전한 제어를 갖고 시스템의 모든 자원에 접근할 수 있었다. 오늘날의 컴퓨터 시스템들은 메모리에 다수의 프로그램들이 적재되어 병행 실행된다. 다양한 프로그램을 더 견고하게 제어하고 구획화 하기 위해서 실행 중인 프로그램을 말하는 프로세스의 개념이 생겼다. 프로세스는 현대의 시분할 시스템의 작업의 단위다. 운영체제는 커널에 포함시키지 않는편이 더 좋다고 판단된 다양한 시스템 작업들도 처리해야 한다. 그러므로 하나의 시스템은 프로세스들의 집합체이다. 즉, 운영체제 프로세스들은 시스템 코드를 실행하고, 사용자 프로세스들은 사용자 코드를 실행한다. 이런 모든 프로세스들은 잠재적으로 병행 실행이 가능하고, CPU는 이..

면접 대비 자료구조 공부 (abraham 2장 시스템 구조)

책의 맨 앞 서론은 꼭 읽는게 좋습니다 운영체제가 제공하는 서비스는 무엇이고 어떤 방식으로 서비스가 제공되는지 이 서비스들이 어떻게 디버깅 되며 시스템 설계를 위한 다양한 어떤 방법들을 사용되는지 고려한다. 마지막으로 운영체제가 어떻게 만들어지고 컴퓨터가 운영체제를 구동시크는 방법에 대해 설명한다. 이중에 1,2번만 제대로 이해했어도 내가 핀토스를 만드는 의미를 더 정확히 알 수 있었을 텐데 2.1 운영체제 서비스 사용자 인터페이스 프로그램 수행 입출력 연산 파일 시스템 조작 통신 오류 탐지 자원 할당 회계 보호와 보안 2.3 시스템 호출 (system call) 핀토스 2차 프로젝트이다. 이 부분은 나름 열심히 했었는데 당시에는 의미를 이해하지 못했다 2장이랑 연관성을 못찾은 내가 바보인듯... 시스템..

면접 대비 운영체제 공부 ( abraham 1장)

1. 컴퓨터 시스템의 구성 지금 까지 책을 쭉 본적도 없고 1장을 너무 개무시 한거 같다. 면접때 받은 질문이 1장에 있네 ㅋㅋㅋ 1.1.3 운영 체제의 정의 컴퓨터 시스템에서 자원을 제어하고 할당하는 수행하는 소프트웨어 보다 일반적인 정의의 운영체제는 컴퓨터에서 항상 수행되는 프로그램으로 커널이라 부른다. 프로 그램은 3개로 나뉘는듯 커널: 핀토스 하면서 어느 파일이 커널인지 구분을 못하겠던데... thread.c 이런거 그냥 다 커널인건가 커널을 호출한다는 말이 이해가 안된다 ㅠ 시스템 프로그램: 운영체제와 연관되어 있으며 커널의 일부분은 아니라함..? 응용 프로그램: 시스템 운영과 상관없는 모든 프로그램. 미들웨어?.. 데이터베이스,멀티미디어,그래픽스등을 제공한다함... 1.2.1 컴퓨터 시스템 연..

면접 대비 자료구조 공부 ( 호로비츠 6장 그래프)

6장 그래프 6.1.3 그래프 표현법 1. 인접 행렬 ??무슨말인지 모르겠다. 그래프 G에 있는 간선의 수를 알고자 하거나 그래프 G가 연결되어 있는가를 알고자 할 경우?? 그래프 G가 연결되어 있는가를 알고자 한다는게 무슨말이징 ㅠ 어쨋든 이경우 O(n^2) 희소 그래프의 경우 O(e+n) 시간 복잡도라한다. -> 이 부분 이해 잘 못했다. 알고리즘 문제 풀다가 인전 리스트로 구현한적은 많은데 인접 행렬로 구현한 적은 없는거 같다 언제 쓰는 놈일까 2.인접 리스트 이 놈은 구현을 c++ vector로 워낙 많이해 보아서 잘안다고 생각하는데.... 아닐수도... 아 모르는 용어 진입 차수 : 해당 노드로 부터 나간 간선의 숫자 진출 차수 : 해당 노드로 들어오는 간선의 숫자 3. 인접 다중 리스트 (ad..