Microsoft와 같은 가장 큰 기술 회사는 주로 데이터 구조에 중점을 둡니다. 마치 데이터 구조 만 졸업생에게 기대하는 것처럼 보입니다.
아니요, 더 있습니다. 예를 들어, 우리는 또한 당신이 짧은 시간 내에 새로운 프레임 워크의 API 또는 프로그래밍 언어를 배울 수있는 빠른 학습자가 될 것으로 기대합니다. 최소한의 바입니다. 새로운 프레임 워크, API 또는 언어를 배우는 데 오랜 시간이 걸리는 사람은 대부분의 Microsoft 팀에서 성공적인 개발자가 될 수 없습니다.
물론 데이터 구조에 대한 단순한 지식 이외의 인터뷰에서 우리가 집중해야 할 더 많은 측면이 있습니다. 예를 들어, 모호한 사양을 처리하는 기능 또는 안전하지 않은 코드를 생성하는 코딩 패턴을 인식하는 기능 또는 12 가지 이상의 기능. 그러나 데이터 구조를 확실히 이해하는 능력은 매우 큰 것입니다.
그것은이다 특히 인터뷰는 최근 CS 졸업생에 대한 데이터 구조의 시험 지식에 편중되어있는 경우. 실제 경험이 많지 않은 최근 졸업생들은 15 년의 업계 경험을 가진 사람이 좋아할만한 종류의 일을 잘하지 못할 것으로 예상됩니다.
데이터 구조가 그렇게 강하지 않다고 고백해야합니다
자신에 대해 아는 것이 좋습니다. 본인에 대한 정보를 변경할 수 없거나 변경하지 않으려는 경우 데이터 구조가있는 기능이 필요한 작업을 신청하지 않는 것이 좋습니다.
좋은 프로그래머는 반드시 데이터 구조에 대해 잘 알고 있어야한다는 일반적인 관점이 있습니다.
좋은 프로그래머는 구축해야 할 프로그램을 만드는 데 능숙한 프로그래머라는 것이 타당합니다. 많은 프로그래머가 데이터 구조에 대한 깊은 지식이 필요없는 작업을 수행합니다. 예를 들어, 일부는 사용자 인터페이스 디자인에 대한 깊은 지식이 필요한 작업을 수행합니다. 또는 데이터베이스 정규화. 또는 무엇이든. 그 사람들은 여전히 자신의 영역에서 "좋은 프로그래머"가 될 수 있습니다.
왜이 모든 것이 데이터 구조에 중점을 두는가?
팀에서는 매일 개발자들이 복잡한 데이터 구조를 설계, 구현 및 조작 하기 때문에 데이터 구조에 대한 인터뷰 질문을 합니다. 어제 우리는 4 시간 동안의 회의에서 6 명의 개발자가 특정 트리 노드에 단일 부울 필드를 추가하는 장단점을 주장했습니다. 데이터 구조를 심층적으로 이해하는 능력보다 팀에 더 중요한 기술은 없을 것입니다. 인터뷰를하지 않는 것은 어리석은 일입니다. 그것이 우리가하는 일이기 때문입니다.
데이터 구조에 대한 지식이 없어도 프로그래밍 경력에 실제로 영향을 미칩니 까?
확실히 그것은 당신이 내 팀에서 일자리를 얻지 못하게 막을 것입니다. 그러나 앞에서 말했듯이 프로그래밍은 큰 분야입니다. 데이터 구조에 대한 지식이 필요없는 많은 종류의 컴퓨터 프로그래밍이 있습니다.
이 주제에 대한 지식은 선과 악의 프로그래머를 차별화 할 수있는 충분한 근거입니까?
아니요. 그러나 Microsoft에서 성공하지 못할 가능성이있는 개발자를 감지하는 것만으로도 충분합니다. 그것이 내가 주로 감지하는 데 관심이 있기 때문에 데이터 구조에 대한 지식은 인터뷰에서 테스트하는 요소 중 하나입니다.