- 모 회사 클라우드 플랫폼 팀 모의 면접에 대한 회고를 담은 글 입니다.
들어가며
좋은 기회로 클라우드 보안 솔루션을 운영하는 회사의 모의면접을 보게되었습니다.
클라우드 플랫폼, 백엔드, 코어 팀의 각 팀장님 께서 면접을 봐주셨습니다.
모의 면접 정보
일 대 다
면접 20분,
역질문 10분
모의 면접 회고
5F 회고
5F 회고는 Facts(사실), Feelings(느낌), Findings(발견), Future Actions(향후 행동), Feedback(피드백)의 다섯 가지 요소로 구성되어있습니다.
짚고 넘어가야할 각 경험마다 해당 양식을 따라 회고를 진행했습니다.
- 자기소개
- Facts(대답)
- 데이터 엔지니어링에 생긴 관심 -> 분산처리 프로젝트로 시작 -> 도커를 사용하다 인프라에 관심이 생김 -> AWS 사용 경험을 통해 클라우드 플랫폼에 관심 구체화 -> 지원
- Feelings(대답 중, 대답 직후의 감정)
- Findings(면접 도중 혹은 이후 면접 회고 중 깨달은 점)
- Future Actions(추후 대응책)
- Feedback(Future Actoins에 대한 사후 평가)
- Facts(대답)
- 지금까지 해 본 프로젝트 소개
- 분산처리 프레임워크를 왜 사용하였는가
- Facts
- Feelings
- 프로젝트 소개가 미흡해, 정말 지원자가 진행한 프로젝트인지 확인용 질문을 한 것 같다는 느낌이 들었습니다.
- Findings
- Future Actions
- Feedback
- 메모리 상에서 프로세스가 차지하는 스키마
- Facts
- code, data, heap, stack 설명했습니다.
- Feelings
- 알고있던 내용이라 무리없이 대답했습니다.
- Findings
- Future Actions
- Feedback
- Facts
- 프로세스와 스레드의 차이점
- Facts
- 프로세스들은 메모리 상에서 각각 독립된 code, data, heap, stack을 가지는 데 반해
스레드들은 code 및 data를 공유한다고 설명했다.
- 프로세스들은 메모리 상에서 각각 독립된 code, data, heap, stack을 가지는 데 반해
- Feelings
- Findings
- Future Actions
- Feedback
- Facts
- 프로세스랑 스레드랑 공유하지 않는 데이터
- Facts
- 바로 대답을 못했다. "질문을 조금 더 자세히 설명해 주실 수 있나요?"라고 반문한 후 힌트를 받았으나 그래도 명확한 답이 생각나지 않았다.
- Feelings
- 프로세스와 스레드 간 공유하지 않는 데이터에 대해 생각을 해본 적이 없었다..
- Findings
- 프로세스와, 그 프로세스에서 생성된 스레드 간에 공유하지 않는 데이터는 바로
스택 메모리 영역과 레지스터 상태이다.- 상위 프로세스에서 분기되었다 하더라도, 공유하는 건 code, data, heap 이지 stack을 공유하지는 않는다.
- heap은 공유하므로, heap 영역에 대한 접근 및 할당은 프로세스와 스레드가 공유한다.
- 더해서 메모리 상에서 실행중인 어떤 인스턴스의 상태는 해당 인스턴스가 유지하고 있는 레지스터 상태와 비슷한 것 같다. 따라서 레지스터 상태도 독립적이다.
- 상위 프로세스에서 분기되었다 하더라도, 공유하는 건 code, data, heap 이지 stack을 공유하지는 않는다.
- 항상 어떤 분야이던, 비슷한 챕터 속에 나오는 키워드들은 공통점, 차이점 비교도 알아둬야 한다.
- 프로세스와, 그 프로세스에서 생성된 스레드 간에 공유하지 않는 데이터는 바로
- Future Actions
- Feedback
- Facts
- 프로세스랑 스레드랑 공유하는 데이터
- Facts
- 환경변수, 스레드 분기 이전 생성한 변수, 전역변수 등을 공유한다고 설명했다.
- Feelings
- Findings
- code, data, heap 영역을 공유한다.
- Future Actions
- Feedback
- Facts
- 스레드 간 공유하는 데이터, 공유하지 않는 데이터
- Facts
- 스택 메모리는 공유하지 않을 것이다 라고 애매하게 대답했다.
- Feelings
- Findings
- 스택 메모리 영역 및 레지스터 상태를 공유하지 않는다.
- 각 스레드는 PC, SP 등 자체 레지스터들을 유지하고 있다.
- Future Actions
- Feedback
- Facts
- 서버에 지속적으로 쌓이는 로그를 주기적으로 가져오고 싶다. 어떻게 할 건가요?
- Facts
- 처음에는, "리눅스 시스템의 파일이면, tail 및 scp(혹은 여타 전송 명령어)를 사용한 스크립트를 작성한 후, crontab을 사용해 주기적으로 가져오도록 사용하겠다" 고 말했다.
- 반문) 그러면 한 번 읽고 나서, 로그가 추가되지 않았는데 다음 주기에 또 읽어들이면 똑같은 내용을 읽게되는 거 아닐까요?
- 대답) "아... 그러면 로그를 어디까지 읽어들였는지에 대한 위치를 유지해야 하니까, 파일 포인터? 커서?를 읽어들이는 시스템콜을 사용해서 구현하겠다" 고 했다.
- 처음에는, "리눅스 시스템의 파일이면, tail 및 scp(혹은 여타 전송 명령어)를 사용한 스크립트를 작성한 후, crontab을 사용해 주기적으로 가져오도록 사용하겠다" 고 말했다.
- Feelings
- 완벽한 대답은 아니었으나, 접근이 좋았다 하셨다. 80점 준다고 하셔서 기분이 좋았다.
- Findings
- 파일을 어디까지 읽었는 지 나타내는 키워드는, 커서나 포인터가 아니라 '파일 포지션'이었다. 그래서 파일 포지션이라는 내용이 들어간 답변이 100점짜리 답변이다.
- Future Actions
- Feedback
- Facts
- AWS sagemaker로 뭘 했냐
- Facts
- 팀원들이 만든 AI 분류 모델을 업로드, 학습은 로컬에서 한 후 추론용 endpoint만 배포했다.
- 클라우드 경험을 해보고 싶어서 진행한 첫 클라우드 서버리스 프로젝트라고 말했다.
- Feelings
- Findings
- Future Actions
- Feedback
- Facts
- Apache Storm으로 뭘 했냐
- Facts
- Feelings
- Findings
- Future Actions
- Feedback
면접 피드백
본 면접은 모의 면접이었기에 피드백을 받을 수 있었습니다.
크게 두 가지의 피드백을 받았습니다.
이력서
- 깔끔하고 좋은데 프로젝트가 너무 많아서 뭘 집중적으로 보면 좋을지를 모르겠다.
- 강조할 거는 5문장, 다른거는 1~2문장으로 쓰면 면접관 입장에서 보기 좋을 것 같다.
자기소개서
프로젝트 자체는 다 좋았다.
이제 면접에서, 이런 것들을 다 실제로 했는지 검증하는 과정을 거쳤다.
"어떤 프로젝트였는지"라는 질문은 지원자가 실제로 진행한 프로젝트였는가를 검증하는 질문이었습니다.
개인 피드백
이력서
자기소개서
면접관께는 좋은 평가를 받았으나,
개인적으로 아직은 빛 좋은 개살구라 생각합니다.
총평
개인 총평
CS 지식이 여전히 많이 날카롭지 않습니다.
이번엔 OS에서 많이 막혔습니다.
저번에는 네트워크였는데...
리눅스로 다 엮어서 이해하고, 지식 기반을 쌓는게 좋을 것 같습니다.
향후 계획
리눅스로 네트워크, OS 엮어서 이해
OS - PintOS
Network - 도서
마치며
면접관 중 한 분께서 저를 정말 마음에 들어하셨습니다.
모의면접이라 감정을 조금 더 사실적으로 드러내셨겠지만
어쨌든 제 입장에서는 굉장히 좋은 평가를 받았다 생각되어
기분이 매우 좋았습니다.
앞으로도 꾸준히 내 길을 걸어가면서 노력하자! 고 다짐하게됐던 하루였습니다.
언더독이 되겠습니다.
'회고' 카테고리의 다른 글
24년도 7월 해커톤 회고 (0) | 2024.08.23 |
---|---|
24년도 7월 SRE 팀 기술 면접 회고 (0) | 2024.08.16 |
[SQL] SQLD 합격 후기 및 공부법 (0) | 2021.12.22 |