학교에서 쓰는 프로그래밍 수업은 C ++이지만 지난 몇 년간 C #을하는 일을 끝냈습니다. C ++에서 1 년 또는 2 년의 경험이 필요하다고 생각되는 입장이 있다면 C #에 대한 나의 경험을 고려할 가치가 있습니까? 그런 입장에서 얼마나 효과적 일 수 있습니까? 필요한 경험을 얻으려면 엔트리 레벨 C ++ 프로그래머로 시작해야합니까?
학교에서 쓰는 프로그래밍 수업은 C ++이지만 지난 몇 년간 C #을하는 일을 끝냈습니다. C ++에서 1 년 또는 2 년의 경험이 필요하다고 생각되는 입장이 있다면 C #에 대한 나의 경험을 고려할 가치가 있습니까? 그런 입장에서 얼마나 효과적 일 수 있습니까? 필요한 경험을 얻으려면 엔트리 레벨 C ++ 프로그래머로 시작해야합니까?
답변:
나는 약 2 년 전에 같은 배에있었습니다. c #이 ac # 작업을위한 것만 큼 c # 작업에 대한 가치는 아마 C ++ 작업에 적합하지 않을 것입니다. 즉, C #이 실제로 어떻게 작동하는지 알고 (아주 적은 C # 프로그래머가 실제로하는 일) C ++을 잘 배웠다면 C ++은 문제가되지 않습니다. 문제는 C ++에 비해 너무 높은 특정 디자인 패턴에 익숙해 져있는 방식입니다.
예를 들어 멋진 ADO.NET 데이터 액세스 모델에서 mysql 액세스를 위해 cppcon을 사용하고 System.Collections.Generic을 stl, 다중 상속, 가비지 수집을 사용하여 소멸자에서 메모리를 정리하는 등 힘든 전환이 될 수 있습니다. C ++는 문제가되지 않습니다. libs를 배우고, 디자인 패턴을 사용하는 방법은 도전 과제입니다. 대부분의 채용 담당자는 이것을 인식하지 못합니다. 기본 디자인을 할 수 있고 실제로 사용되는 c ++ 기능을 사용할 수 있다면 인터뷰에서 괜찮을 것입니다.
그러나 직업 준비는 다른 이야기입니다. 재미있는 도전이지만 모든 것이 잘되기를 바랍니다.
당신은 내가 4 년 전과 똑같은 상황에 처해 있습니다.
공부하는 동안 C ++을했지만 싫어했습니다. 나는 여가 시간에 많은 분야의 웹 개발을했고 그 분야에서 일자리를 얻었습니다.
이사했을 때 2 년 동안 C ++ 경력을 가진 C ++ 직업을 신청했습니다. 글쎄, 나는 인터뷰 전에 C ++ 기억을 새로 고쳤고 테스트를위한 시간이 왔을 때 나는 내가 잘하고 있는지 잘 모르겠다.
그러나 대부분의 인터뷰는 문제 해결 및 창의적인 솔루션에 관한 것이 었으며 C ++은 그저 사소한 요소였습니다.
따라서 기회는 실제로 고용주와 직위에 달려 있습니다.
채용 대행사를 거치는 경우 프로필이 일치하지 않는다고 "아마도"알려줍니다. 그러나 실제 고용주가 있으면 필요한 것을 실제로 알면 기회가 더 좋아집니다.
그것은 당신이 적용하는 사업의 본질에 달려 있습니다. 좋은 OO 기반 프로그래밍 및 아키텍처 기술을 가진 사람을 찾고 있다면 C #은 다음 것만 큼 좋습니다.
그들이 소프트웨어의 속도 / 응답성에 자부심을 가지고 있다면, 마이크로 최적화보다 중요한 알고리즘 인 알고리즘을 알아야 할 것입니다-해시 테이블 대 선형 조회 등. 예를 들어, ngen.exe에 대해 모든 사람이 아는 것은 아닙니다.
이들이 임베디드 / 모바일 및 / 또는 비가 비지 수집 환경에 있다면 메모리를 효과적으로 관리하는 방법에 대해 알아야합니다. @DeadMG가 지적했듯이 스마트 포인터가 핵심이지만 메모리 할당 프로파일을 이해하는 것입니다. 게임 프로그래머는 종종 메모리 요구 사항을 미리 알고 프레임 당 미지수를 줄이기 위해 큰 객체 배열을 미리 할당하고 재활용합니다. 이것은 iOS의 스크롤 TableView에서 사용되는 기술이기도합니다.
통합 작업이있는 경우 언어 간 데이터 마샬링 (P / Invoke 등)과 관련하여 C 수준의 전문 지식이 필요하지만 이러한 데이터 구조가 어떻게 사용되는지에 대한 바이트 수준의 이해도 필요합니다. 내 경험에 C #.