본인은 미국 박사 과정 학생이고 올 겨울 졸업 목표인데 마침 애플에서 연락와서 인터뷰 봤음.

첫 폰 스크리닝 날짜 스케쥴할때 인사과 직원한테 인터뷰 형식 물었는데 코딩이래서 2주 뒤로 잡음.

부랴부랴 릿코드 문제 풀면서 준비하다가 저번주 금요일에 첫 인터뷰봤음.

코딩 아예없고 박사때 연구랑 이것저것 전공지식 물어보더라. 제대로 답 못해서 떨어졌구나 했는데 바로 다음 월요일에 2차로 넘어가자고 연락왔음.

대충 블라인드 찾아보니깐 2차는 1차랑 비슷하다 해서 코딩 없겠구나 예상했음. 하지만 변수는 있으니 하루에 1,2문제 정도 감만 유지하는 식으로 복습했음.

2일전에 2차 폰스크리닝 쳤는데 ㅆㅂ 바로 코딩문제더라. 

참고로 본인은 c선호하는데 인터뷰어가 c++로 하라고 하더라. ㅆㅂ

문제는 MPMC (Multi-Producer Multi-Consumer) Circular Queue 구현해라고함. 

릿코드에서 풀었던 문제인데 어버버 까고 또 긴장해서 머리가 새하애짐.

어버버까니깐 인터뷰어가 힌트 하나씩 주고 그거 받아먹어서 어째어째 짰음. 코너케이스 몇개 놓치긴 했음.

암튼 시간이 다돼서 (45짜리였음), 이제 concurrent하게 만들어 보라고함.  대충 큰 락 몇개 박으면 되지만 그렇게 안하고 atomic variables쓰겠다고 했음.

그러니깐 인터뷰어가 producer-consumer 간의 동기화는 어케할꺼냐고 물어봄.

벙쪄서 또 말못하고 어버버하고 있으니깐 인터뷰어가 Arm is using weak memory model 이라고 힌트줌

이게 예전에 컴퓨터구조 수업때 배운거였는데 메모리 리오더링 관련한 메모리 모델 얘기였음

대충 알아듣고 아~ 그럼 메모리 베리어같은거 말하는거냐? 하니깐 맞다고함. 그리고 어케 해결하면되는지 설명해줌

대충 알아듣고 고개 끄덕이다가 시간다돼서 끝


하 ㅆㅂ 충분히 대답할만한 문제였는데 오랜만에 인터뷰라 긴장 너무 빨아서 진짜 두뇌 멈춤 ㅆㅂ

내일이면 결과나오는데 불합일꺼같다 ㅠㅠ