-
Notifications
You must be signed in to change notification settings - Fork 3
ADD: 대훈님 피드백 작성 #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
ADD: 대훈님 피드백 작성 #53
Conversation
| A) 둘의 가장 큰 차이로는 Stack 영역을 공유하는 지입니다. | ||
| 프로세스는 Heap, Stack, Data, Code 영역을 공유하지만 | ||
| Thread같은 경우는 하나의 작업을 처리하는 단위로 하나의 프로세스 내에서 Code/Data/Heap 영역이 생성이 됩니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
스타일 차이 일 수 있으나,
- 프로세스에 대한 설명
- 스레드에 대한 설명
- 그래서 뭐가 다른데?
로 가는 방향이 더 좋을 것 같습니다!
| - ### Q) 그렇다면 Thread의 문제점은 무엇이 있을까요? | ||
|
|
||
| A) 데이터의 일관성 문제가 생길 수 있습니다. | ||
| 어떤 프로세스가 작업을 처리할 때, 여러 스레드가 작업을 처리하게 되는데, | ||
| 그때 공유되는 자원이 있기 때문에 데이터의 일관성문제가 생길 수 있습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
면접자의 의도대로 답을 진행해야합니다.
첫번째 질문이 스레드와 프로세스의 차이를 물어봤으니, 프로세스는 거기에서 무슨 문제가 있는지 파악해야합니다.
스레드의 문제가 아닌데, 프로세스의 문제를 설명하는 것이 더 좋아보입니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
따라서 여기에서는 Context Switch 비용이 크다.가 더 적절한 답변이 될 것 같습니다.
|
|
||
| A) 한 프로세스에서 다른 프로세스로 넘어갈때, 이 전 프로세스에 대한 정보를 저장하고, 다음 프로세스에 대한 내용을 불러오는 과정에서 생기는 개념이다. | ||
|
|
||
| 컨텍스트 스위칭은 작업을 할 때 불필요한 비용이 생길 수 있어서 최소한의 비용을 산정해야한다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이거 답변이 조금 모호한 것 같습니다.
최소한의 비용을 산정해야한다.
어떤 의미로 답변하신건가요?
| - ### Q) 프로세스의 이동간에 정보를 저장한다고 하셨는데 정보를 어디에 저장할까요? | ||
|
|
||
| A) PCB에 저장하며 PCB에는 프로세스의 전반적인 메타데이터, | ||
|
|
||
| 즉 프로세스의 상태나 프로그램 카운터 주소, 프로세스 스케줄링에 대한 정보들이 포함됩니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이렇게 답변하면 좋은 답변 인 것 같습니다👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
근데 저는 Process Control Block이라고 답변할 것 같아요. 이게 면접이다보니,
내가 해당 내용에 잘 알고 있다라는 인상을 주기 위해서요!
| - ### Q) 동시성과 병렬성의 차이에 대해서 설명해주세요 | ||
|
|
||
| A) 잘 모르겠습니다 | ||
|
|
||
| #### 정균 | ||
| > 동시성은 하나의 자원을 사용해서 여러 작업을 번갈아가며 처리하는것이고 | ||
| 병렬성은 여러개의 자원을 사용해서 여러 작업을 동시에 처리하는 능력입니다! | ||
|
|
||
| 제가 이 파트에서 질문을 드린 이유는 동시성을 구현하기 위해서 잦은 ContextSwitching이 발생해서 여기서 질문을 드려봤습니다!! | ||
|
|
||
| 최근에 친구가 면접에서 이런 질문을 받았다고 해서 알아두시면 좋을 것 같습니다! | ||
|
|
||
| <br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요새 동시성, 병렬성이 면접 필수 문항입니다!
어떤 곳에서는 동시성인지, 어떤 곳에서는 병렬성이 사용되는지 비교하시면서 공부하시면 더 좋을 것 같습니다.
| - ### Q) 멀티스레드 프로그래밍에 대해서 설명해주세요 | ||
|
|
||
| A) 멀티스레드 프로그래밍은 여러개의 스레드가 작업을 동시에 처리하는 기법입니다. | ||
|
|
||
| 멀티프로세스는 코드, 데이터, 힙 영역을 공유하기 때문에 IPC 같은 기법 없이 멀티프로세스보다 빠르게 작업을 처리할 수 있습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
점점 답변 스킬이 늘어가네요 ㅎㅎ
| - ### Q) 프로세스 동기화에 대해서 설명해주세요 | ||
|
|
||
| A) 잘 모르겠습니다. | ||
|
|
||
|
|
||
| - ### Q) Race Condition 에 대해서 설명해주세요 | ||
|
|
||
| A) 여러 개의 프로세스들이 하나의 자원에 동시에 접근을 할 때 발생하는 것이 Race Condition 입니다. | ||
|
|
||
| Race Condition의 발생 조건으로는 점유와 대기, 비선점 등이 있습니다. | ||
|
|
||
|
|
||
| #### 정균 | ||
| > 정의는 맞는데 발생 조건에서 말씀해주신 점유와 대기, 비선점 등은 Deadlock의 발생 조건 입니다!! 개념이 헷갈려서 그런 것 같아요!<br><br> | ||
| 잘 짚고 넘어갈 수 있도록 합시당 | ||
|
|
||
| <br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분은 그냥 넘어가면 안됩니다..!
이번 기회에 확실히 정리하고 가면 좋을 것 같습니다.
|
|
||
| - ### Q) Deadlock과 Starvation에 대해서 설명해주세요 | ||
|
|
||
| A) Deadlock은 여러개의 프로세스가 본인이 점유하고 있는 내놓지 않고 다른 프로세스의 자원을 얻으려고 시도를 할 때, 순환을 이루면서 영원히 서로의 자원을 요구하는 상황이 되면서 다음 상태로 진행하지 못하는 상태입니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전반적으로 말씀 잘해주시긴 했지만 순환이라는 단어가 모호합니다
예를들어
P1 -> R1 필요, R2 점유
P2 -> R2 필요, R1 점유
도 데드락이니까요
No description provided.