JavaRush /Java Blog /Random-KO /커피 브레이크 #49. 모든 개발자가 봐야 할 코드 예제입니다. 인터뷰 준비 방법

커피 브레이크 #49. 모든 개발자가 봐야 할 코드 예제입니다. 인터뷰 준비 방법

Random-KO 그룹에 게시되었습니다

모든 개발자가 봐야 할 코드 예제

출처: 중간 가끔 여가 시간에 GitHub 저장소를 돌아다닙니다. 나는 새로운 프로그램, 도구 또는 유틸리티를 배우기 시작할 때 실제로 작동하는 모습을 보려고 노력합니다. 이를 위해 나는 그들의 코드를 조사합니다. 모든 것이 어떻게 작동하는지, 어떤 모듈과 외부 종속성이 있는지 이해하는 데 도움이 됩니다. 기술에 몰입하면 놀라운 감각을 느끼고 새로운 지식을 얻을 수 있습니다. 커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  면접 준비 방법 - 1내 기사에서는 저장소를 돌아다니면서 발견한 가장 인상적인 코드 예제를 공유하고 싶습니다.

아폴로 11호 제어 프로그램

아폴로 11호는 사람을 달로 데려간 우주선이다. 탑재된 제어 컴퓨터(AGC)는 단 4KB의 물리적 메모리로 비행 작동을 제어했습니다. 어셈블리 언어로 작성된 AGC 소프트웨어는 특수한 읽기 전용 메모리(로프 메모리)에 저장되었습니다. 몇 년 전, 이 소스 코드의 스캔된 종이 사본이 인터넷에 게시되었습니다 . 그런 다음 누군가 여러 모듈을 텍스트 파일로 작성하여 GitHub 저장소 에 업로드했습니다 . 커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  면접 준비 방법 - 2Apollo 11 엔지니어링 팀은 이 놀라운 결과를 얻기 위해 열심히 노력했습니다. 1960년대에는 지금보다 프로그래밍이 훨씬 더 어려웠지만 그들은 어셈블리 언어로 많은 코드 라인을 작성했습니다. 당시 프로그래밍 언어의 추상화 수준은 낮았습니다. 또한 저전력 하드웨어로 인해 개발자는 고도로 최적화된 코드를 작성해야 했습니다.

퀘이크 III 아레나

Quake III Arena는 id Software가 제작한 1인칭 슈팅 비디오 게임입니다. 이 게임은 3D 게임 산업이 막 시작되던 1990년대에 등장했습니다. 개발에는 게임 엔진 ID Tech 3가 사용되었으며, 아폴로 11호 달 프로그램의 경우와 마찬가지로 하드웨어 리소스의 한계로 인해 그래픽 렌더링을 위한 코드가 대폭 최적화되었습니다. 많은 게임 프로그래밍 계산에는 벡터 정규화 개념이 필요하며, 이를 위해서는 역제곱근 계산이 필요합니다. 개발자는 컴퓨터 그래픽에 가장 효율적인 알고리즘을 선택해야 했기 때문에 Quake III Arena는 비트 수준 계산을 사용하여 역제곱근을 빠르게 계산하는 영리한 접근 방식을 취했습니다. 커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  면접 준비 방법 - 3여러분이 보시는 일부 코드와 실제로 1990년대에 게임을 만드는 데 사용된 모든 코드의 최적화 수준은 정말 놀랍습니다. 오늘날 비디오 게임 개발자는 많은 기능이 게임 엔진 수준에서 수행되기 때문에 일반적으로 이 수준에서 계산을 수행하지 않습니다.

GNU 컴파일러 컬렉션

C 프로그래밍 언어는 하드웨어에 매우 가깝지만 동시에 인간이 이해할 수 있는 높은 수준의 추상화를 제공하기 때문에 현대 프로그래밍의 아버지라고 불릴 수 있습니다. GNU C 컴파일러는 부트스트랩 컴파일러입니다. 즉, 컴파일러 풀기 개념을 사용하여 C로 작성되었습니다. GitHub의 GNU Compiler Collection 코드에서 제가 본 것 중 가장 긴 C 소스 파일을 찾았습니다(더 긴 파일이 있을 수 있지만 제가 찾은 파일은 이것이었습니다).커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  면접 준비 방법 - 4

크롬

Google Chrome, Microsoft Edge, Opera 등 널리 사용되는 브라우저는 오픈 소스 Chromium 프로젝트를 기반으로 합니다. 이 프로젝트에는 Blink 엔진(Webkit 팀의 WebCore 라이브러리 포크)과 Chromium 프로젝트 팀에서 개발한 V8 JavaScript 엔진이라는 두 가지 주요 종속성이 있습니다. 물론 Chromium의 코드는 매우 광범위하며 gRPCSkia 와 같은 많은 타사 모듈을 포함합니다 . 그러나 Chromium 개발자는 이러한 모든 구성 요소를 완벽하게 구성했습니다. 코드베이스는 내부 함수 로직을 사용자 인터페이스 로직과 교묘하게 분리합니다. 이는 전체 프로젝트에 대한 우수한 지원을 보장합니다. 커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  인터뷰 준비 방법 - 5또한 프로젝트 코드에는 Chromium Android 및 iOS 애플리케이션용 소스 코드가 포함되어 있습니다. 확장성이 뛰어난 크로스 플랫폼 애플리케이션을 구성하는 것은 어려울 수 있습니다. 그러나 Chromium은 Linux, Windows 및 Mac에서 정말 인상적인 코드 분리 기능을 제공합니다.

Gitk

요즘에는 모든 팀이 Git을 사용하여 코드 버전을 관리합니다. 이 버전 관리 시스템은 Linus Torvalds(GNU/Linux OS 커널 창시자)가 개발했습니다. Git 코드베이스에는 Gitk 소스 코드가 포함되어 있습니다. Gitk는 커밋을 통해 시각적 탐색을 제공하는 GUI 애플리케이션입니다. 두 커밋이 어떻게 다른지 확인하려면 다음 명령을 사용할 수 있습니다.
$ git diff <commit hash> <commit hash>
하지만 Gitk는 시각적 도구이기 때문에 차이점을 훨씬 더 빠르게 확인할 수 있습니다. 모든 Gitk 소스 코드는 하나커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  인터뷰 준비 방법 - 6 의 . 코드는 Tcl 확장인 Tk UI 툴킷을 사용하여 Tcl 스크립팅 언어로 작성되었습니다. 전체 GUI 애플리케이션을 하나의 파일로 압축하는 것은 어려운 작업입니다.

개발자는 인터뷰를 어떻게 준비할 수 있나요?

출처 : Hackernoon 첫 번째 인터뷰가 기억납니다. 나는 막 학위를 마치고 마드리드에 있는 금융회사에 인턴십을 지원하고 있었습니다. 면접이 어떻게 진행될지, 현재 소프트웨어 개발 동향을 잘 알지 못해서 매우 긴장했습니다. 부활절 이후였고, 나는 고작 21살이었고, 해변에서 친구들과 시간을 보내는 것이 더 즐거웠을 것입니다. 하지만 재미보다는 인터뷰를 준비해야 했어요. 커피 브레이크 #49.  모든 개발자가 봐야 할 코드 예제입니다.  인터뷰 준비 방법 - 7모든 인터뷰 전 첫 번째 단계는 서로를 알아가는 것입니다. 그들은 귀하의 이름, 주소, 전문 분야 등을 묻습니다. 이후에는 대면 인터뷰나 영상 링크를 통해 개별 인터뷰를 진행하게 됩니다. 어쨌든, 이 인터뷰는 귀하가 지원하는 직위에 대한 귀하의 경험, 지식 및 기술을 테스트합니다. 그런 다음 문제 해결 능력을 입증할 코드를 작성하라는 요청을 받을 가능성이 높습니다. 또한 프로젝트 관리자나 회사 이사와의 인터뷰를 기대할 수도 있습니다. 이는 귀하가 지원하는 직위에 따라 다릅니다. 인터뷰 과정은 오랜 시간이 걸릴 수 있습니다. 그러므로 인내심을 갖고 침착함을 유지해야 합니다. 이 문제에 관해 몇 가지 팁과 요령을 준비했습니다.

자신에게 잘 맞는지 조사해 보세요.

때때로 우리는 일자리를 찾을 때 그 직위에 대한 모든 정보를 살펴보지 않고 그냥 면접을 보러 가곤 합니다. 담당 업무 목록과 업무 일정을 미리 명확히 하는 것이 좋습니다. 또한 회사와 직위가 귀하의 요구 사항과 일치하는지 확인하십시오.

귀하의 경력 동향을 최신 상태로 유지하십시오.

큰 실수는 작업에서 트렌드와 신기술을 따르지 않는 것입니다. 당신은 아마도 개발자이거나 프로젝트 관리자일 것입니다. 당신은 현재 역할에서 자신만의 작업 방식을 갖고 있으며 모든 프로젝트에 동일한 기술을 사용합니다. 하지만 매일 조금씩 시간을 내어 새로운 기술을 배우도록 노력하세요. 이것은 우리 경력에서 매우 중요합니다. 새로운 프레임워크, 새로운 방법론 등을 지속적으로 업데이트해야 합니다. 이것이 면접에서 큰 변화를 가져올 것입니다.

대면 인터뷰나 화상 통화 중: 좋은 모습을 보이고 긴장을 풀어주세요.

귀하의 외모는 앱 디자인만큼 중요합니다. 완벽한 백엔드가 있을 수 있지만 앱의 프런트엔드가 열악하면 제품 판매에 어려움을 겪게 됩니다. 당신의 외모도 마찬가지입니다. 인터뷰에서 당신은 형식적이지 않더라도 최소한 괜찮은 모습을 보여야 합니다. 이는 회사 규칙을 따르려는 귀하의 의지를 보여줄 것입니다. 여기 계신 몇몇 분들은 “야, 나 천재인데 왜 외모에 신경 써야 하지?”라고 생각하는 분들도 계실 거라 압니다. 글쎄, 당신이 천재이고 외모가 좋다 면 당신은 확실히 인상을 남길 것입니다!

천천히하세요

인터뷰 전에는 준비, 주제 연구, 알고리즘 및 문제 해결 연습, 연설 준비가 필요합니다. 이러한 프로세스 중 일부는 시간이 오래 걸리고 시간이 걸립니다. 따라서 여기에 이점이 있는지 확인하십시오.

관행

경험에 따라 다르지만 여기서 제가 추천하는 것은 인터뷰에서 코드를 작성해야 한다면 올바르게 작성하라는 것입니다. 이렇게 하려면 코드를 정리하고 검토하는 방법을 배워야 합니다. 이렇게 하면 일부 기능을 재구성하거나 개선하는 데 도움이 됩니다.

대면 인터뷰나 코드를 통해 자신의 경험을 입증하세요.

경험을 보여주십시오. 면접은 회사가 당신을 채용해야 하는 이유를 면접관에게 설명하는 완벽한 장소입니다. 인터뷰에 앞서 기본 프로그래밍 개념, 방법론, 모범 사례를 숙지하세요 .

면접 전날 충분한 수면을 취하세요.

충분한 수면을 취하십시오. 이렇게 하면 다음날 집중력을 유지하는 데 도움이 됩니다. 인터뷰 질문에 대한 답을 모른다면 거짓말을 하지 마십시오 . 솔직하게 말하면 앞으로 많은 합병증을 피하는 데 도움이 될 것입니다. 그리고 이는 개선해야 할 약점을 파악하는 데 도움이 될 것입니다.

당신의 답변을 믿으세요

자신을 의심하지 마십시오. 절대.

인터뷰 중에는 모든 사람에게 안전과 자신감을 보여주어야 합니다.

이 기술이 없다면 아마도 노력해야 할 것입니다. 자신감은 “답은 모르지만 나중에 찾아보고 대답할 수 있어요”라고 대답하는 것입니다. 이 답변 옵션은 보안과 자신감을 보여줍니다.

인터뷰를 분석해 보세요

인터뷰마다 다르지만 모두 비슷한 특징을 공유합니다. 그러므로 인터뷰 후에는 자신에게 좋았던 점과 나빴던 점을 반성해 보아야 합니다. 인터뷰는 자신의 강점과 약점을 외부에서 살펴볼 수 있는 좋은 시간입니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION