1994년 마이크로소프트 인턴십 면접에서 출제된 4가지 코딩 질문 (2023)

이 기사는 IT 전문가 케이시 무라토리(Casey Muratori)가 1994년 마이크로소프트 하계 인턴십 면접에서 받았던 4가지 코딩 질문을 회고하는 내용입니다. 그중 첫 번째로 출제된 '직사각형 복사(Rectangle Copy)' 문제와 8비트 픽셀 시절의 C언어 기반 기술적 배경을 구체적인 구현 코드 예시와 함께 설명합니다.

AI 요약

IT 전문가 케이시 무라토리(Casey Muratori)는 1994년(혹은 1993년) 10대의 나이에 마이크로소프트 하계 인턴십 면접을 치렀으며, 당시 하루 동안 4명의 면접관으로부터 각각 하나씩 총 4개의 프로그래밍 질문을 받았습니다. 당시는 인터넷이 대중화되기 전이라 이러한 즉석 코딩 테스트가 낯설었지만, 저자는 이를 매우 흥미로운 경험으로 기억하고 있으며 이 중 최소 2개는 성능 최적화와 관련된 질문이었습니다. 면접의 첫 단추로 등장한 가장 쉬운 문제는 버퍼 간에 직사각형 영역을 복사하는 C언어 코드를 작성하는 'Rectangle Copy'였습니다. 이 문제는 픽셀 데이터가 주로 8비트였던 당시의 기술 환경을 반영하여 포인터와 버퍼 피치(Pitch)를 다루는 역량을 검증하고자 했습니다. 저자는 이 과거의 질문들을 통해 당시의 '올바른 정답'과 하드웨어가 극적으로 진화한 오늘날의 관점에서의 '올바른 정답'이 어떻게 달라졌는지를 연재 형식을 통해 비교 분석할 계획입니다.

핵심 인사이트

  • 1994년 마이크로소프트 면접: 저자 케이시 무라토리는 1994년(또는 1993년) 마이크로소프트 하계 인턴십 면접 당시 경험한 4가지 클래식 프로그래밍 질문을 소개합니다.
  • 성능 중심의 질문 구성: 출제된 4가지 코딩 테스트 질문 중 최소 2개 이상은 프로그램의 실행 성능(Performance) 최적화에 초점을 맞추고 있었습니다.
  • 첫 번째 질문 'Rectangle Copy': 한 버퍼에서 다른 버퍼로 직사각형 영역을 복사하는 C언어 함수 CopyRect를 구현하는 문제가 가장 먼저 출제되었습니다.
  • 과거와 현재의 대비: 1990년대 데스크톱 컴퓨팅 환경에서의 최적 솔루션과 현대 컴퓨팅 성능 발전이 반영된 현재 기준의 최적 정답을 비교하는 것이 이 글의 핵심 취지입니다.

주요 디테일

  • 점진적 난이도 설계: 당시 마이크로소프트의 면접 프로세스는 면접이 진행될수록 프로그래밍 질문의 난이도가 점점 더 높아지도록 설계되었습니다.
  • 구체적인 코드 원형 제공: 첫 번째 문제의 뼈대가 되는 함수 원형은 void CopyRect(char *BufferA, int PitchA, char *BufferB, int PitchB, int FromMinX, int FromMinY, int FromMaxX, int FromMaxY, int ToMinX, int ToMinY) 형식이었습니다.
  • 8비트 그래픽스 시대상 반영: 1994년 당시에는 그래픽 픽셀이 대개 8비트(1바이트) 크기였기 때문에 요소 복사를 처리하기 위해 char 타입 포인터를 매개변수로 사용했습니다.
  • 면접 방식에 대한 평가: 저자는 오늘날의 채용 면접에서는 이러한 즉석 코딩 테스트 방식을 추천하지 않지만, 당시 젊은 개발자 지원자 관점에서는 도전 정신을 자극하는 매우 재미있는 경험이었다고 회고합니다.

향후 전망

  • 연재 형태의 후속 분석: 저자는 이번 첫 번째 질문인 'Rectangle Copy'를 시작으로, 당시 면접관들이 요구했던 질문들과 오늘날 데스크톱 연산 구조의 변화에 따른 새로운 최적화 정답을 매일 하나씩 순차적으로 블로그에 포스팅할 예정입니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...