for Robot Artificial Inteligence

Microsoft Coding Test Round 1 후기

|

2020년 목표가 하나 있다. 4월에 인턴쉽을 찾는것! 11월부터 1월까지 Semantic SLAM Based on ORB-SLAM2 시스템 데이터를 Sensor Fusion Data에 관하여 연구를 하고 2월부터 3월초까지 IEEE/AIM 2020 Boston Conference Contribution paper을 준비하였다. 전염병으로 인하여 학교는 개방하지 않고 5월에 있을 ICIRA 2020 논문을 준비하는데 차질이 생겼는데, 뭐 방법이 있으려나, 3월 중 후반에, 어쩃든 뭐 아직 실험 결과는 없지만 시뮬레이션 결과를 바탕으로 논문 베이스를 쓰고 대략적인 것을 쓰는 도중, 마이크로소프트 캠퍼스 리쿠르팅을 보아 신청하게 되었다.

나의 연구 방향하고 완전 다른 직종이지만 신청할 수 있는 기회가 생겨 신청을 하였는데 몇 칠 후 아래와 같은 Invitation을 받게 되었다.

기억으로는 나에게 3일에 시간이 주어져있었다. 부랴부랴 코딩테스트 준비를하는데 왠걸…. 인터넷에 널려 있는 문제도 너무 어려웠다. Leetcode사이트에서 문제를 푸는데 Easy로 분류되어있는 문제도 제대로 못풀고 답안지 없이는 잘못풀었다. 알고리즘 문제를 푸는 것은, 옛날 대학시절 인적성 문제를 푸는 듯한 많은 노력이 필요하다는 것을 깨닫게 되었다. 하지만 어쩌겠는가 나에게 주어진 시간은 얼마 없으니, 우선 Microsoft Internship Coding Test 기출 되었던 문제들을 인터넷에 검색하여 차근차근 하나씩 풀어보았다.

가장 많이 출제된 15문제를 뽑아서, 문제 이해 및 해답 없이 풀이까지 반복적으로 풀어서 준비를 했다. 주로 기출문제는 Listed 데이터 구조로 Binary Search와 Loop Detection 이 주였던거 같다. 열심히 풀고 이제 자신감이 업 되었다.

드디어 시험의 시간이 도달하였다. 시험은 총 2시간에 3문제였다. 그래 이태까지 연습했던 대로 하면 되겠지라는 자신감으로 시험에 임하였는데.. 내가 생각했던 문제들하고 달랐다. 긴 Story를 주고 스토리 안에 문제를 푸는 방식이였던 것이다.(연습했을때는 그냥 알고리즘만 구현해봤는데) 문제도 제대로 이해 안되었지만 예를 들어 맥주병이 3개가 있는데, 어떻게 어떻게 해서 총을 가지고 맥주병을 맞추는 문제였다. 당황은 하였지만 침착하게 문장을 읽어 내려갔다. 그리고 문제를 풀어보는데, 문제가 제대로 풀리지 않았다. 그래서 문제 1번을 먼저 보고 풀다가, 2번으로 넘어가서 2번문제로 풀고, 막히면 3번 문제를 넘어가서 풀고를 반복을 하였다. C++로 문제를 풀었는데 잘 풀리지 않으면 python으로도 도전을 해보았다. 그렇게 1시간을 해매고, 한문제도 제대로 푼 문제가 없어, 한문제라도 제대로 풀자는 결심을 하여 문제를 풀었다. 그렇게 2시간을 보내고 한문제를 풀긴 하였지만 debug중에 점수를 못 맞은것도 있었다. 그런데 어쩌겠는가. 그냥 내야지.

긴 시간을 보내고 정말 코딩 테스트 합격하는 사람은 대단하다고 느꼈다. 그러면서 내 자신에 대해 자신감이 낮아지면서 컴퓨터 사이언스 지식과 알고리즘 문제를 다시 공부시작하였다.

하지만 나는 비전공자이기에 코딩 공부가 꼭 필요한 것인지 무엇부터 공부해야될지 몰라 유투브의 코드없는 프로그래밍님의 유투브를 보다 뜬금없이 메일을 보내어 고민을 풀었는데, 바로 답장이 왔다.

노코프님의 조언을 받아 바로 Udemy에 Fundamental of Computer science 코스와 Modern C++, 그리고 Data structure & algorithm의 강의를 바로 구매하였고, 추가적으로 심심할때 공부하려고 Cuda 강좌도 샀다.

기초를 튼튼히 쌓아서 코딩 시험에 합격할 것이다.

Comments