알고리즘2

페이스북은 구글, 마이크로소프트, AWS 와 함께 빅4 라고 불리울 수 있는 글로벌 IT 회사이다. IT 엔지니어라면 누구나 취업을 꿈꾸는 회사이다. 불가피하게 이직을 고민하던 시기에 페이스북의 엔지니어 포지션이 있는 것을 확인하고 일단 손을 들어 보았다. 사실 그동안 바쁘게 실무를 하며 기술과 사업의 영역을 오가고 있었기 때문에 엔지니어 포지션에서 약간 거리가 떨어진 면이 있었지만 바짝 준비하면 되리라는 생각으로 손을 들었는데 마침 싱가폴의 인사 담당자를 통해 온라인 코딩면접 제의 받게 되었다. 온라인을 지나면 온사이트에서 코딩을 하는 2개의 과정이 있다는 것도 이번에 처음 알게 되었다. 채용 사이트를 보니 동일 지원자에 대해서 3번의 도전 기회를 제공하는 것 같다. 여기도 삼세번의 개념을 신봉하는 것..

알고리즘과 시간 복잡도는 컴퓨터공학을 배우는 이들에게는 매우 익숙한 용어입니다. 학교에서 배우는 많은 이론들 중에 하나이지만 막상 한번 들어서 이해가 안되는 상황들이 발생합니다. 왜그럴까요? 아마도 이것이 나의 삶과 어떻게 연결이 되고 있는지 실감이 나지 않기 때문일 것입니다. 그러나 오늘 이글을 소개하는 것은 이러한 개념이 향후 알고리즘을 다루는 개발자로 성장할 때에 매우 중요한 기본개념이기 때문에 상식적으로 꼭 알아두기를 바랍니다. 시간 복잡도를 이해하기 위해서는 먼저 알고리즘이 무엇인지 생각해 보아야 합니다. 알고리즘이 뭔가요? 알고리즘은 결과물을 만들어 내기 위해 거쳐야 하는 일련의 과정들을 의미합니다. 이러한 표현은 영어로 알아두면 더 도움이 됩니다. Algorithm is a series of..