기금넷 공식사이트 - 금 선물 - 인터뷰 경험: 프로그래머가 인터뷰하는 가장 중요한 것은 무엇입니까?

인터뷰 경험: 프로그래머가 인터뷰하는 가장 중요한 것은 무엇입니까?

프로그래머 인터뷰는 항상 지역 사회에서 뜨거운 주제였습니다. 2006 년 인턴십부터 지금까지 저는 4 개의 소프트웨어 회사를 경험했습니다. 모두 외국 기업입니다. 세계 500 대 통신회사, 옵션 선물 거래에 종사하는 유럽 중형금융회사, 대형 자동차 제조업체를 위한 안드로이드 스마트 자동차를 개발하는 신흥회사입니다. IT 업계에 입사한 이후 일자리를 구하는 과정에서 많은 면접을 겪었고, 최근 2 년 동안 다른 사람과의 면접을 많이 겪었다. 나는 지금이 내가 이 문제에 대한 견해를 표현할 때라고 생각한다. 이 글은 면접관의 관점에서 진행된 단계적 반성과 경험 총결산이다.

목표

나는 많은 친구들과 마찬가지로 몇 년간의 업무 경험을 통해 다른 사람을 면접하기 시작했다고 믿는다. 이 초기 단계에서는 "기초적인 프로그래머 찾기", "알고리즘 능력이 뛰어난 프로그래머 찾기", "안드로이드 개발 경험이 있는 프로그래머 찾기" 를 면접 목표로 삼았을 뿐이다. 하지만 실제 경험에 따르면, 특히' 기초가 좋다',' 알고리즘이 좋다' 는 목표에 따라 모집한 사람들은 결국 좋은 결과를 얻지 못할 것이라고 한다. 예를 들어, 일부 면접관들은 기초지식과 알고리즘을 잘 알고 있으며, 프로세스, 스레드, 메모리 등의 개념은 분명하고 해시, 다이트리, 빠른 정렬 등의 기본 데이터 구조와 알고리즘에 익숙하지만 회사에 입사한 후 실제 업무에서는 실적이 좋지 않다. 나중에 나의 면접 목표에 문제가 있다는 것을 알게 되었다. 나의 당초 면접 방식은 대학 알고리즘이나 운영 체제의 기말고사와 더 비슷했다. 이런 식으로, 적합하지 않은 많은 사람들이 면접을 통과했고, 동시에 적임자를 많이 놓칠 수도 있다.

나중에 내 반성은 회사의 관점에서 면접의 근본 목적은 일을 잘 할 수 있는 사람을 찾는 것이었고,' 학력이 높다',' 알고리즘이 좋다',' 기초가 좋다',' 경험이 풍부하다' 는 것은 기본면이 아니라 표상이며' 일이 좋다' 는 것이다.

방법

목표는 분명하지만, 다음 질문은 면접관이 블랙박스 시스템이라고 가정하고,' 좋은 일' 은 직접 관찰할 수 있는 변수가 아니라는 것이다. 직접 관찰할 수 있는 변수는 기초, 알고리즘, 경험, 학력, 성격, 말, 나이 등이다. 따라서 실제로 "좋은 기초", "좋은 알고리즘" 등 직접 관찰 가능한 양으로부터 "좋은 일" 의 확률을 추론 할 수 있습니다. 이것은 "좋은 X" 조건 하에서 "좋은 일" 의 조건부 확률 문제입니다: P (좋은 일 | 좋은 X).

이 모델에 따르면 면접에서 어떤 방면을 고찰해야 하는지, 즉 가장 특색 있는 방면을 선택하여 고찰해야 한다. 예를 들어 면접관의 신체적 특징을 조사하는 것은 큰 의미가 없다. P (좋은 일 | 높음), P (좋은 일 | 짧은 일), P (좋은 일 | 지방), P (좋은 일 | 날씬함) 의 확률이 비슷하기 때문이다. 그래서 외모의 특징은 구분할 수 없다. 면접에서 주의해야 할 것이 아니다.

면접관은 직위의 요구에 따라 어떤 요소가 더 잘 구분되는지 분명히 해야 한다. 예를 들어, 기술 문턱이 비교적 높은 3D 게임 엔진 개발 엔지니어를 채용해야 하는데, 면접관 A 는 3D 게임 엔진 개발 경험이 있지만, 기초지식과 알고리즘 면접에서는 일반적으로 나타난다. 면접관 B 는 반대로 기초지식과 알고리즘 면접은 잘하지만 게임 개발 경험이 없어 그 중 하나만 선택할 수 있다. 당신은 누구를 선택했습니까? 사실 이것은 두 가지 조건 확률 문제 P (좋은 일 | 좋은 경험, 기초 일반, 알고리즘 일반) 와 P (좋은 일 | 경험 없음, 기초가 좋다, 알고리즘이 좋다) 입니다. 이 문제는 면접관에게 스스로 판단하도록 남겨졌다. 개인적으로 기술 문턱이 높고 기술 축적이 필요한 일자리, 경험이 문제를 더 잘 설명할 수 있다고 생각하기 때문에 면접관 A 를 선호한다.

다음으로, 나는 내 경험과 결합해서 면접의 일반적인 몇 가지 측면에 대해 이야기할 것이다.

알고리즘

알고리즘은 구글, 마이크로소프트 등 대기업 면접의 중점이다 .. 저는 개인적으로 알고리즘을 좋아합니다. ACM/ICPC, 베이징 경기 13 에 참가한 적이 있습니다. 하지만 내 개인적인 경험으로 볼 때, 내가 접촉한 대부분의 개발직에는 알고리즘이 면접관의 우열을 조사하는 주요 요인으로 적합하지 않다. 일반 비알고리즘 개발직의 경우 면접관의 알고리즘을 조사하는 것은 그가 탁구를 잘 치는지,' 잘 한다' 는 목표와의 연관성이 너무 낮다는 것을 조사하는 것과 같다. 제 개인적인 경험으로 볼 때, 거의 P (좋은 일 | 좋은 알고리즘) =50% 는 알고리즘 면접에 큰 차별이 없다는 뜻입니다.

심지어 매우 나쁜 상황도 있는데, 특히 알고리즘이 좋은 면접관에게 일어난다. 나는 그것을 "칼을 갈아도 나무꾼을 잘못 자르지 않는다" 고 부른다. " 무슨 뜻이에요? 어떤 사람들은 A* 알고리즘, 비동기 프로그래밍, JVM 클래스 로딩 메커니즘과 같은 순수 기술 문제에만 관심이 있으며 사용자 요구 사항 달성에는 관심이 없습니다. 이런 사람은 어느 정도 기술적인 능력을 가지고 있는 것 같지만 회사에 대한 공헌은 매우 제한적이다. 심지어 기술처럼 진지하지만 책임감이 있는 사람보다도 못하다. (윌리엄 셰익스피어, 햄릿, 기술명언) 그래서 면접관이 좋은 알고리즘을 갖게 되면, 나는 이렇게' 칼만 갈아도 장작을 자르지 않는다' 는 사람이 될 수 있는지 각별히 주의를 기울일 것이다.

또한 저는 구글과 MS 를 개인적으로 이해하지 못하지만, 알고리즘 능력에 특히 신경을 쓰는 면접 전략에 대해서는 회의적입니다. 이러한 세계적 수준의 회사에서도 알고리즘이 중요하지만, 프로젝트 구현 과정에서 발생하는 여러 가지 문제 중에서 알고리즘 문제는 대부분 주요 병목 현상이 아니며 모든 사람이 알고리즘 전문가가 되어야 하는 경우는 없습니다. 사실, 대부분의 하위 항목의 진정한 어려움은 하나 또는 두 개의 알고리즘 병목 현상, 심지어 단일 기술 병목 현상이 아니라 시스템의 구성, 조정, 설계 및 개발 문제입니다. 그렇게 기술적이지 않은 것처럼 보이는 더러운 일이 많은데, 많은 문제들은 정보가 부족해서 강력한 기술능력을 극복할 수 없기 때문이다. (윌리엄 셰익스피어, 햄릿, 기술명언) 한 팀은 장점을 보완하는 것이 가장 좋다. 어떤 사람은 알고리즘이 강하고, 상업 분석 능력이 강하며, 어떤 사람은 백엔드 서비스에 능하고, 어떤 사람은 프런트 엔드 인터페이스에 능하며, 어떤 사람은 총명하고, 어떤 사람은 실용적이다. 이것이 최고입니다. 좋은 알고리즘' 이라는 단일 기준에 따라 재료를 고르면 많은 훌륭한 인재들이 거절당할 것이다.

기초

기초면접은 포인터 사용, 프로세스스레드의 개념 등 기초지식을 고찰하는 면접으로 대학 기말고사 문제와 매우 비슷하다. 예전에는 기초면접이 중요하다고 생각했는데 지금은 안 느껴요. 기초는 업무에서 확실히 중요하지만 면접 과정에서 구분해야 의미가 있다. 즉 P (좋은 일 | 좋은 기초) 확률이 높기 때문에 시찰 포인터 사용, 프로세스 스레드 구분 등 기초제목이 의미가 있다. 나의 실천 경험은 기본 면접이 잘 구분되지 않았다는 것이다. 알고리즘과 마찬가지로 p (좋은 일 | 좋은 기초) = 50% 입니다. 동시에 기초면접도 가장 쉽게 준비할 수 있다. 중국인들은 장기 응시 교육 경험이 있어서 몇 가지 까다로운 문제를 준비하는 것이 너무 쉽다.

나는 C 언어 기초와 컴파일 연결 원리를 잘 파악한 면접관을 만나 깊은 인상을 남겼다. 제가 제시한 면접 결론은 C 언어만 알지만 기초가 튼튼해서 취업을 추천한다는 것입니다. 이후 사건은 그 결론의 전반부가 옳았다는 것을 증명했지만,' 취업 제안' 은 틀렸다. 그는 실제 업무에서 엉망진창으로 필요와 전체 구조에 대해 전혀 모른다. 한편, 근무시간은 프로젝트에 쓰이는 것이 아니라' 프로그래머의 자기수양' 과 같은 책을 읽는다. 결국 이 동료는 장기간' 직업이 없다' 는 이유로 회사를 떠났다.

기초는 중요하지 않지만' 기초가 좋다' 는 것은 면접관이 잘할 수 있다는 것을 설명하기에 충분하지 않다. 기초는 지방지식이고 실제 업무는 종합능력이 필요하기 때문이다. 이것은 매우 다르다. C 언어와 운영 체제 모두 높은 점수를 받을 수 있지만, 우리는 대학에서 프로그램을 쓸 줄 모르는 사람이 거의 없는 것을 보았습니까? 소프트웨어 개발은 집을 짓는 것과 같다. 종합능력은 설계를 하고 골격을 만드는 것이고, 기본지식은 벽돌을 쌓는 것이다. 장소룡은 원래 델파이를 이용해 Foxmail 을 개발했지만, 그는 C# 을 이해하지 못했다. . NET 메일 클라이언트를 개발하는 사람을 모집하고 싶다면, 그가 CLR 에 대해 잘 알고 있는지 알아보는 것이 의미가 있습니까? 장소룡이 C# 버전의 Foxmail 을 개발하는 게 정말 어렵나요? 당신은 C# 에 정통하지만 사서함 클라이언트 개발 경험이 없는 사람을 모집하는 것이 정말 장소룡보다 믿을 만합니까?

나는 기초지식이 중요하지 않다고 말했다. 고대인의 구름은 "한 푼도 쌓이지 않고, 천리도 할 수 없다" 고 말했다. 이것은 모순입니까? 모순이 없다! Bu bu 와 Li Qian 은 누적 관계이지만 더 많은 "기본 지식" 은 "포괄적 인 능력" 을 추가 할 수 없습니다. 학습 소프트웨어 개발은 지속적인 통합과 마찬가지로 처음부터 완전한 시스템이다. 규모는 작지만 문제는 많지만 작은 시스템에서 큰 시스템으로, 단순한 시스템에서 복잡한 시스템으로 발전했다.

따라서 기초가 좋은 것은 그 자체로 너무 많은 문제를 설명하기에 충분하지 않으며, 종합능력을 더 고찰해야 한다. 기초면접 성적이 좋지 않아 시간이 허락한다면 더 고찰해야 한다. 어떤 면접관들은 사실 능력이 있지만, 단지 충분한 준비를 하지 못했을 뿐이다. 가장 이상적인 상태는 당연히 기초가 좋고 종합능력이 강하다는 것이다. 병행할 수 없다면, 종합능력이 우선이다.

경험

여기서 말하는 경험은 몇 년 동안 일한 것이 아니라 주로 면접관의 경험을 가리킨다. 예를 들어 주요 개발자로서 소프트웨어를 전면적으로 구현했는지, 프로젝트를 완성했는지 등을 말한다. 경험의 중요성은 한 사람의 종합 능력을 설명할 수 있다는 것이다. 프로젝트의 성격, 규모, 난이도에서 면접관은 면접관의 종합 능력을 대략적으로 판단할 수 있다. 면접관이 이미 대기업에서 작은 모듈의 개발과 유지 관리를 담당했다면, 기본적으로 그가 독립적으로 프로젝트를 맡거나 주요 개발자로 일할 능력이 없다고 판단할 수 있다. 다른 대기업에서만 비슷한 일을 할 수 있다. 관련 경험은 Linux 커널 개발, JVM 개발, 게임 엔진 개발, 데이터베이스 구현, 고급 UX 등 문턱이 높고 장기적인 기술 축적이 있는 직무에 특히 중요하다. 이런 일자리에 대해 경험이 없는 면접관은 종합적인 자질이 아무리 좋아도 장기간의 학습과 축적이 있어야 감당할 수 있다. 그래서 기본적으로, 만약 당신이 자신의 직위가 이런 부류에 속한다고 확신한다면, 관련 경험은 의심할 여지 없이 우선일 것이다. 즉, P (좋은 일 | 관련 경험) 의 확률이 높다.

프로젝트 경험을 통해 면접관의 자질을 판단하는 것은 기초와 알고리즘 테스트를 통과하는 것보다 더 믿을 만하다. 그래서 면접을 볼 때 면접관은 면접관이 프로젝트 경험을 소개하고, 심도 있는 토론과 교류를 하고, 면접관의 지식, 사고력, 표현능력을 이해하는 데 더 많은 시간을 할애해야 한다. 프로젝트와 연계하여 몇 가지 기초지식과 알고리즘 문제를 물어볼 수 있다. 예를 들어 면접관이 C++ 관련 프로젝트를 한 적이 있다면 메모리 관리 방법을 물어볼 수 있다. 스마트 포인터에 익숙하십니까? 면접관의 대답이 만족스럽지 않다면, 기본적으로 그의 프로젝트가 좋지 않다고 판단할 수 있다.

경험도 다차원적이라는 점에 유의해야 한다. 예를 들어 C++ 주식 거래 미들웨어 시스템은 (C++, 미들웨어, 주식) 의 세 가지 차원을 포함합니다. 면접관 A 가 C++ 주식거래 클라이언트를 해본 적이 있고 면접관 B 가 C 주식거래 미들웨어를 한 적이 있다면. 언어적으로는 A 가 가장 잘 어울리고, 항목 특성상 B 가 가장 잘 어울린다. 당신은 어떻게 선택합니까? 이것은 다차원 차원에서 어느 차원이 더 중요한 문제인가 하는 것이다. 이 경우, 저는 개인적으로 B 를 선호합니다. 미들웨어 개발 경험이 주된 모순이라고 생각하기 때문입니다. C 에서 C++ 로 전환하는 것은 문제가 아닙니다. 그래서 면접관은 어떤 경험이 우선인지, 어떤 경험이 부차적인지 판단해야 한다. 예를 들어, 우리는 Zhao anzhuo 응용 프로그램 개발에 있습니다. 이 직위의 안드로이드 기술 문턱은 그리 높지 않다. 진정한 어려움은 사용자 경험 (UX) 을 잘하는 것이다. 따라서 면접관이 안드로이드 경험이 없다면 우리는 받아들일 수 있지만, 나는 그가 UX 에서의 경험을 가지고 있고, 적어도 다른 플랫폼의 모바일 애플리케이션 개발을 해 왔으면 좋겠다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 스포츠명언)

성향

자, 제가 가장 중요하다고 생각하는 요소인 성격에 대해 말씀드리겠습니다. 면접관과 막 접촉한 많은 친구들에게 상상도 할 수 없을 것이다. 성격이 어떻게 가장 중요할까요? 솔직히 말해서, 내가 이 점을 깨달았을 때, 나는 모두 놀랐다! 솔직히 P (좋은 일 | 성격이 좋다) 확률이 가장 높다. 나의 실천 경험은 사람이 성격이 좋으면 일을 잘 할 가능성이 가장 높다는 것이다. 좋은 성격은 좋은 기초와 좋은 알고리즘보다 훨씬 믿음직스럽다.

만약 한 사람이 기술적으로 결함이 있고 경험이 부족하지만 성격이 좋아서 팀에서 다른 사람이 쉽게 메울 수 있다면, 그도 점차 메울 수 있다. (윌리엄 셰익스피어, 햄릿, 경험명언) 반면, 한 사람의 성격이 좋지 않으면, 모든 기술적 우세와 경험 우세는 발휘하지 못하고, 심지어 부정적인 작용까지 할 수 있어, 성격의 결점은 바꾸기 어렵다. 나는 항상 실제 업무에 필요한 것은 종합능력이고, 이런 종합능력의 발휘에서 성격은 매우 중요하다고 말했다. 프로젝트는 기술적인 문제를 겪을 뿐만 아니라 소통과 조화도 관련된다. 다른 사람, 다른 부서, 협력도 있고 마찰도 있다. 이런 일을 어떻게 처리해야 할지 좋은 성격이 필요하다. 개발 팀에서 당신을 차별화시키는 것은 어느 학교를 졸업한 것도, 과거의 경험도 아니고, 당신의 성격이라고 할 수 있다. (윌리엄 셰익스피어, 햄릿, 자기관리명언)

물론, 성격은 복잡한 것으로, 여러 가지 측면을 포함하고 있으며, 모든 것이 프로그래머의 면접에서 주의를 기울여야 하는 것은 아니다. 제 경험은 우리가 이러한 측면에 집중할 수 있다는 것입니다.

1) 긍정적이거나 부정적인 태도. 어떤 면접관들은 대화에서 자연스럽게 긍정적인 느낌을 주거나 그의 경험에서 그의 긍정적인 요소를 찾을 수 있다. 이것들은 모두 너무 못생긴 편은 아니다. 반대로, 너는 몇몇 면접관들의 부정적인 감정을 분명히 느낄 수 있다. 열정은 일에서 매우 중요하다. 적극적인 사람은 팀에 활력을 불어넣고 협력하기 쉽다. 기본적으로 면접관이 긍정적인 태도를 확정한다면 그가 나를 통과할 가능성이 크게 높아질 것이다. 반대로, 만약 내가 소극적이라고 결심한다면, 기술 능력이 아무리 좋아도 매우 신중할 것이다.

2) 지능 지수. 내 경험은 일반적으로 똑똑한 사람들이 직장에서 더 잘 수행한다는 것입니다. 면접에서 지능형 문제를 찾아 지능을 측정할 필요는 없다. 구글이나 MS 처럼, 사실 그가 문제의 논리가 있는지, 사고와 말이 민첩한지 여부만 보면 대략적인 판단을 내릴 수 있다. 또 눈은 사람들의 마음의 창이다. 사람이 똑똑한지 눈이 말을 할 줄 안다. 그러나 영리함도 완전히 장점인 것은 아니다. 예를 들어, 회사나 프로젝트에 어려움이 닥쳤을 때, 똑똑한 사람이 먼저 달려가는 경우가 많으며, 버티는 사람은 종종 IQ 같은 사람들이다. (존 F. 케네디, 공부명언)

3) 언어 표현 능력. 언어 표현력도 프로그래머의 매우 중요한 자질로, 프로젝트 내 원활한 소통과 관련이 있다. 면접관은 면접관이 자신이 한 프로젝트를 간결한 언어로 명확하게 소개하고, 요점을 파악하고, 청자의 배경을 고려할 수 있는지 볼 수 있다. 일반적으로 언어 능력이 강한 사람은 종합 능력이 그리 나쁘지 않다.

4) 사용자 의식이 있는지 여부. 어떤 사람들은 프로그래머가 연구개발에 종사하고 있다고 하는데, 그 사용자는요? 영업 및 마케팅 담당자만 사용자와 거래합니다. 사실 이것은 완전히 오해이다. 만약 당신이 모듈, 심지어 API 를 썼다면, 다른 사람이 사용한다면, 그는 당신의 사용자입니다. 어떤 프로그래머들은 모듈이나 소프트웨어를 설계할 때 항상 사용자의 관점에서 생각하는 것에 익숙해져 있는데, 이것은 아주 좋은 사용자 의식이다. (조지 버나드 쇼, 프로그래머, 프로그래머, 프로그래머, 프로그래머, 프로그래머, 프로그래머, 프로그래머) 사용자 의식이 좋은 사람은 단순히 자신과 국부적인 문제보다는 타인의 감정과 전반적인 요구를 더 잘 고려할 수 있다. 면접관은 과거의 프로젝트 경험에 대해 이야기할 때 종종 사용자의 관점에서 질문을 할 수 있으며, 이 과정에서 그것이 좋은 사용자 의식을 가지고 있는지 관찰할 수 있다.

5) 의심과 압력에 대처하는 방법. 면접관은 면접관의 대답과 과거 항목에 합리적으로 의문을 제기해 그가 어떻게 반응하는지 봐야 한다. 한 면접관이 게임 로그인 서버 체험에 대해 이야기한 적이 있는데, 나는 "로그인 서버가 끊어지면 어떻게 하죠?" 라고 물었다. 그는 처음부터 이 문제를 고려하지 않았지만 어떻게 개선할 수 있을까? 사실, 우리 모두는 프로젝트에 여러 가지 불완전한 부분이 있다는 것을 알고 있으며, 이런 상황을 초래한 데에는 여러 가지 이유가 있습니다. 의심과 압력에 직면해서 좋은 방향으로 생각하려고 노력한다면, 결함을 감출 필요도 없고 감정도 있어서는 안 된다. (윌리엄 셰익스피어, 햄릿, 믿음명언) 나는 몇몇 면접관들을 본 적이 있다. 일단 당신이 그들의 프로젝트에 의문을 제기하면, 그들은 즉시 반항하거나, 기분이 나쁘거나, 문제가 있다는 것을 인정하기를 거절한다. 그가 직장에서 의심과 비판의 여지가 없다는 것을 쉽게 알 수 있다. 이런 사람은 협력하기 어렵다.

6) 성격 특성. 많은 면접관들이 이력서에' C++/리눅스에 정통하다' 라고 쓰는 것을 좋아해서 무감각하다. 누군가가 "C++/Linux 처럼" 를 쓰면, 나는 눈앞에 밝은 느낌이 들 것이다. 정통하다' 는 감정적인 색채가 없는 서술이고' 좋아한다' 는 것은 면접관의 개성을 담고 있다. 나는 면접관의 개성을 보는 것을 선호한다. 나는 어떤 일에 대한 진정한 열정이 네가 현재 그것에 대한 숙달보다 훨씬 중요하다고 믿는다. 사실 N 년의 경험에 따르면 같은 반 친구들, 같은 프로젝트 팀의 동료, 매일의 지식과 직업은 같지만, 사실 성적과 표현의 차이는 매우 뚜렷하다. 그렇다면 본질적인 차이점은 무엇일까요? 사실 모든 사람의 성격이다. 개성으로 인해 여가 시간에 공을 치는 사람도 있고, 여가 시간에 책을 읽는 사람도 있고, 리눅스를 좋아하는 사람도 있고, 맥을 좋아하는 사람도 있다. 한 사람이 팀에서 맡은 역할도 그의 성격과 큰 관계가 있다. 면접관은 면접관에게 자신의 개성을 보여주고 팀에 유리한지 판단해야 한다.

요약

마지막으로, 제 경험은: 1) 면접관의 목표는 훌륭한 직업을 가진 사람을 찾는 것입니다. 면접은 반드시 이 목표를 중심으로 진행해야 합니다. 면접을 알고리즘이나 운영 체제의 기말고사로 삼으면 오해를 받을 수 있다. 2) 면접 과정은 학력, 성격, 기초, 경험, 알고리즘 등을 통해 측정할 수 있는 요소로 면접관의' 좋은 일' 확률을 종합적으로 판단한다. 3) 다양한 요인, 성격 >; 경험 > 기초 > 알고리즘. 성격이 가장 중요합니다. 성격이 좋지 않아, 모든 기술능력이 크게 할인되고, 기술결함이 쉽게 보완되고, 성격결함이 바뀌기 어렵다. 경험은 한 사람의 종합 능력을 반영한다. 너는 면접관의 과거 경험에서 그가 무엇을 할 수 있는지, 어떤 일을 할 수 없는지 판단할 수 있다. 기본면과 알고리즘은 주로 보조 참조 역할을 한다. 기초가 좋은 프로그래머는 일반적으로 적응력이 강하고 신기술을 배우는 것이 더 빠르지만, 단순히 기초에서 한 사람을 판단하는 능력은 금물이다.