질문 프로세스와 쓰레드의 차이에 대해 설명해주세요. 멀티 프로세스와 멀티 쓰레드에 대해 설명해주세요. 답변 프로세스는 실행 중인 프로그램의 인스턴스를 말한다. 프로세스 별로 독립된 논리적인 메모리 영역을 가지며 다른 프로세스와 공유하지 않는다. 쓰레드는 프로세스 내 작업의 흐름을 나타내며 프로세스 내 최소 1개 이상의 쓰레드를 가질 수 있다. 각 쓰레드는 자기만의 stack 메모리 공간을 가지며 heap 이나 data, code 메모리 공간을 공유한다. 우리가 실행 파일(프로그램)을 실행하면 프로그램 내 코드가 메모리에 적재되어 인스턴스화가 일어나고 이후 OS 의 CPU 스케줄러를 통해 CPU 가 프로세스를 실행한다. 다음은 OpenAI 의 ChatGPT 의 답변이다. Why? 해당 질문은 기술면접을 받..
2023년 12월 31일 오후 8시에 2023년을 돌아보며 이렇게 글을 쓴다. 올해엔 22년에 이직한 후 1년차를 끝냈다. 회사에서 웹 백엔드 개발하며 나름 Kotlin 과 Spring Webflux 에 익숙해졌고 아무래도 스타트업이다보니 관리가 힘들었던 회사 내 개발 인프라도 어느 정도 만족스럽게 관리할 수 있을 정도로 다듬은 것 같아 기분이 좋다. 개인적으로는 올해 많은 일(좋은 소식, 안 좋은 소식)들이 있었다. 2023년 마지막에 이렇게 돌아보니 대부분의 일들을 잘 마무리한 것 같아서 다행이라는 생각이 든다. 2024년에는 취미도 갖고 공부도 하면서 새로운 준비를 할 예정이라 기대된다. 내 머릿속 생각대로 기대했던 모든 일들이 잘 되길 바라며 이 글을 마친다. 이 글을 보는 모든 분들도 2024년..
이 시리즈는 왜 하나요? 나는 현재 IT 회사에서 웹 백엔드 개발이나 인프라 구축 및 운영을 담당하고 있으며 이전에는 정적 코드 분석 관련 개발을 진행했었다. 나도 학생 시절에는 취직 준비를 위해 서적이나 인터넷에 존재하는 '개발자 기술면접 질문 정리' 를 검색해서 달달 외우곤 했었다. 그 시절에는 학생 때 배운 전공 지식을 테스트하기 위한 용도로 질문하는 것이라 생각하여 그냥 아무 생각 없이 달달 외었는데 지금 와서 생각해보니 꼭 그렇지만은 않다고 생각이 들었다. 잠깐 구글링 해봤는데 나와 같은 생각을 가진 글이 별로 없었고 과거로 돌아가서 아니 과거로 돌아가봤자 면접관에게 '이 질문을 하신 의도가 뭔가요?' 라고 질문할 수 있을까? 그래서 내가 다녔던 직장에서 기술 면접 때 받은 질문들에 대해 다시 ..