프로그래머 적성 시험 [닫기]


14

나는 내가하는 일을보고, 재미있는 것을 발견하고 나에게 질문을하는 많은 친구를 가지고있다

Do you think I could be a programmer?

내 답변은

...   ummm  ...  do you like math?

나는 도움이되는 답변을 원합니다. 그래서 누군가가 정사각형 1부터 시작하지만 비판적 사고와 문제 해결 능력을 가진 사람에 대해 상당히 적절한 적성 검사를 알고 있는지 알지 못했습니까?


BuzzFizz를 제안합니다. 세 가지 실행 파일이 주어지면 실행하고 "FizzBuzz"를 식별 할 수 있습니까?
Macneil

15
수학과 프로그래밍을 혼용하지 마십시오. 저는 수년간 프로그래머로 일하고 있습니다. 나는 수학이 싫다. 또 다른 예 : Jeff Atwood는 훌륭한 프로그래머입니다. 그는 수학을 싫어합니다 ( codinghorror.com/blog/2007/01/… , 포인트 3 참조 ).
Arseni Mourzenko

2
@MainMa 나는 이것이 얼마나 진실인지 강조 할 수 없다. 나는 정확히 같은 보트에 있습니다. 수학은 그 문제에 대한 나의 열정이 아니거나 심지어는 강점이기도합니다. 즉, 나를 아는 많은 사람들은 프로그래밍에 대한 나의 극한 적성 (읽기 : 강박 관념)을 증명할 것입니다. 수학 프로그래밍의 주요 부분이 될 수 있지만, 반드시 다른 것을 잊을 필요는 없습니다.
Nathan Taylor

1
어쩌면 내가 " 수학 을 좋아 합니까?" 라고 말할 때, " 수학을 존중 합니까?" 라고 말하면 실제로 수학을 직접 듣게됩니다. 논리적 인 사고 과정에 도움이되는 유한 수학 원리를 이해합니다.
jondavidjohn

2
"apptitude"는 이런 맥락에서 정말 멋진 오타입니다 :-)
Ferruccio

답변:


12

"마음에 드는 수학"은 나쁜 시험입니다. 나는 수학을 좋아하지 않았습니다 (주로 고등학교 수학 교사의 90 %가 빨려서).

"수학"이라고 말하면 대부분의 사람들은 "엄격한 규칙 집합에 따라 신중하게 방정식을 푸는 것"을 의미한다고 생각합니다. 프로그래밍은 전혀 다릅니다.

프로그래밍은 그림과 비슷하지만, 달성 할 수있는 것은 상상할 수있는 것만으로 제한됩니다.

중요한 것은 시스템을 상상하고 작동 방식을 보는 능력입니다.

  • 일이 어떻게 작동하는지 생각하십니까?
  • 일상적인 것들을 향상시키는 방법에 대해 생각하십니까?
  • 더 간단한 빌딩 블록으로 무언가를 만드는 방법을 시각화 할 수 있습니까?

지오메트리와 비슷합니까?
Gulshan

그것은 적용되는 과학이기 때문에 순수한 과학적 "등가"그 자체는 실제로 존재하지 않습니다.
jondavidjohn

1
프로그래밍은 목공과 비슷합니다. 먼저 솔루션을 시각화하고 도구를 선택하며 최고의 TDD 목재를 사용하여 공예품을 신중하게 적용하십시오. 코모도어 64가 조금 일찍 발명 되었다면 예수는 프로그래머 였을 것입니다.

2
실제로 당신이 묘사 한 것은 수학 학교에서 통과하는 것과는 반대로 수학과 매우 흡사합니다.
우만

1
@Brennan : 프로그래밍과 비슷한 유일한 수학은 대학의 이산 수학 (Discrete Math)이었습니다. 우리가 연구 한 다른 대부분의 수학은 규칙과 공식을 무의식적으로 적용하여 일종의 방정식을 푸는 것에 관한 것입니다. 당신은 그것이 실제 수학이 아니라고 주장 할 수 있지만,이 논의에서는 중요하지 않습니다.
hasen

8

나는 어린 시절부터 Brainbench 적성 검사 를하는 것을 기억합니다 . 여전히 어딘가에 인증서가 보관되어 있습니다 ...

테스트 개요 :

Abstract Thinking
    Process Flow
    Spatial Manipulation
Analytical Reasoning
    Inductive Reasoning
    Logic Application
    Word Problems
Attention to Detail
    Following Instructions
    Reading Comprehension
    Rule Interpretation
    Writing Analysis
Mathematical Problem-Solving
    Word Problems
Process Mapping
    General Processes
    Letter Manipulation Processes
    Number Manipulation Processes
    Shape Manipulation Processes

1
그것은 매우 복잡한 테스트입니다. 누군가가 프로그래밍을 탐구하기 전에 시험을 치라고 나에게 말하면 나는 두려워했을 것입니다. 좋아, 어쩌면 신경 쓰지 않을 것이지만, 진지하게 시험을 보는 사람은 두려워 할 것입니다.
hasen

2
그래서? 프로그래밍은 복잡한 분야 일 수 있습니다 (다른 분야와 마찬가지로). 당신이 그것을 쉽게 두려워한다면, 아마도 당신을위한 것이 아닙니다. 누군가 의사가되고 싶은지 물었다면 어떻게해야한다고 상상해보십시오. 나는 그것이 당신이 어떤 사람들을 두려워하게 할 것이라고 생각하지 않습니다 ... 인생은 어렵고 복잡합니다. 그들은 익숙해 져야합니다.
Dan McGrath

2
글쎄, 그것은 복잡한 분야입니다. 만약 당신이 그것에 접근 하면 실패 할 입니다. 프로그래밍을 시작한 모든 사람들은 쉬운 것들로 시작했고 정말 쉽다고 믿었습니다. 그 믿음은 그들의 학습 경험을 통해 유지 될 것입니다. 뒤돌아 보거나 누군가가 당신이 아주 기본적인 것으로 고투하는 것을 볼 때까지 얼마나 복잡한 지 알지 못합니다.
hasen

죄송합니다. 위의 목록에는 프로그래머로 사용할 필수 기술이 있습니다. 나는 당신이 그들에 속하는 질문보다는 그들의 이름에 의해 두려운 것 같아요. 프로그래밍에 사용되는 복잡한 개념을 묻는 것은 아닙니다. 다시 말해, 적성 테스트는 당신이 배울 수있는 프로그래밍 개념을 이해하는 것과는 아무 관련이 없습니다. 적성 에 관한 것입니다 . 따라서 "쉬운 물건으로 시작하기"에 대한 의견은 실제로 관련이 없습니다
Dan McGrath

7

이미 좋은 것이있을 가능성이 있습니다.

예를 들어 비 프로그래밍 염소에서 프로그래밍 양 분리에 대한 토론을 참조하십시오 .

모든 프로그래밍 교사는 결과에 '이중 혹'이 표시되는 것을 발견했습니다. 마치 두 개의 인구가있는 것처럼 [프로그램] 할 수있는 사람들과 [프로그램] 할 수없는 사람들은 각각 독립적 인 종 곡선을 가지고 있습니다. 프로그래밍 교육 및 학습에 대한 거의 모든 연구는 언어 변경, 응용 프로그램 영역 변경, IDE 사용 및 동기 부여 작업에 중점을 두었습니다. 작동하지 않으며 이중 혹이 지속됩니다. 코스가 시작되기 전에 프로그래밍 할 수있는 인구를 골라내는 테스트가 있습니다. 우리는 이중 혹을 따를 수 있습니다. 당신은 아마 이것을 믿지 않지만, 당신은 대화를 듣고 나면 그럴 것입니다. 우리는 그것이 어떻게 / 왜 작동하는지 정확히 알지 못하지만 좋은 이론이 있습니다.

테스트에서 확인하는 것은 사람들이 일련의 지침을 운영하는 데 얼마나 일관성 이 있는지 입니다. 그 의미는 사람들이 그들의 마음에 모델 (추상화)을 구축하고 그들과 협력 할 수 있다는 것입니다.


2

더 중요한 "테스트"는 그들에게 간단한 프로그래밍 언어 / 환경을 보여줄 수 있다고 생각합니다. 예를 들어, processing 또는 python 입니다. 그들이 간단한 언어를 배우고 즐길 수 있다면 (아마도 간단한 과제를 해결하는 동안) 아마도 그것은 당신이 요구할 수있는 최고의 "적성 검사"일 것입니다.


2

"수학을 좋아합니까?" 나쁜 시작이 아닙니다. 그 후에는 수학이 중요합니다 ...

그들이 문제를 겪을 수 있는지, 말로만 블록으로 나누기 시작할 수 있는지 알아 보는 것이 좋습니다. 기본적인 문제를 단계별로 밟을 수 있는지는 좋은 시작입니다.

  • 차 한 잔 만드는 법을 로봇에게 어떻게 알려주시겠습니까? 가능한 구체적으로 작성하십시오.
  • 맥도날드에서 식사를 주문할 때, 처음부터 변경 / 음식 제공에 이르기까지 주문을 처리하는 단계는 무엇입니까?
  • 전화 시스템은 어떻게 작동합니까?

프로그래머가 매일 분석해야하는 분석적이고 심도있는 방식으로 대답 할 수 있다면 아마 처리 할 수있을 것입니다.


1

코딩에 노출되면, 그것을 강요하거나하지 않을 것입니다. 적성은 당신이 잘할 수 있는지에 대한 한 가지 요소 일뿐입니다. 좋은 예, 지시, 과제 시간, 노력에 대한 노출은 다른 사람들입니다. 무언가를하기를 정말로 원하거나 필요로한다면 다른 요인들을보다 쉽게 ​​이용할 수 있습니다.


1

"수학을 좋아합니까?"보다 더 좋은 질문은 "논리 퍼즐을 풀고 싶습니까?"입니다. 스도쿠와 같은 것입니다. "존, 앤, 피터, 메리, 브리트니는 이웃입니다. 존은 흰색 차를 가지고 있습니다. 브리트니는 앤의 왼쪽에 살고 있습니다. 그들이 살아? "

그것이 바로 프로그래밍 이니까요 : 하나의 거대한 논리 퍼즐.


1
나는 수학을 좋아하지만 퍼즐은 벽에 머리를 박살낼 필요가 없습니다. 나는 당신이 얼마나 똑똑한지를 보여주기 위해 정신 체조와 달리 유용한 무언가를 창조하기 위해 동기 부여가 필요하다고 생각합니다.
오메가 센타 우리

글쎄요, 좋아할 필요는 없습니다. 그냥 잘하십시오. :-)
Lennart Regebro

1

더 좋은 질문은 "레고 블록으로 물건을 만드는 것을 좋아합니까?"입니다.


1

Gusteau와 마찬가지로 영화 Ratatouille의 캐릭터는 다음과 같이 말했습니다.

누구나 요리 할 수 ​​있습니다.

같은 방법으로 누구나 프로그래밍 할 수 있습니다. 그러나 모든 사람이 그것에 능숙하지는 않습니다. 대부분의 프로그래밍 작업에는 평균 수준의 적성과 역량이 필요합니다.

예라고 대답하십시오. 왜? 대부분의 사람들은 단지 똑똑하다고 생각하는 누군가에게 감사를 느끼기를 원하기 때문입니다.


2
나는 누구나 프로그래밍 할 수 있다는 것에 동의하지 않는다. 그것은 짜증나지만 그것은 삶입니다.
우만

0

나는 좋아하는 수학이 중요하다고 생각합니다. 당신은 엄격하게 증명하는 것을 즐기지 않는다는 관점에서 본다면, 심각한 수학자가되어야합니다. 그러나 중요한 문제가 주어지면 문제를 수학적으로 해결하는 데 관련된 문제를 공식화 할 수 있습니다. 나는 컴퓨터가하는 모든 것이 수학이라고 주장한다. 그것은 일종의 상징적 데이터를 취하고 그것에 대해 일종의 연산을 수행한다. 이것이 수학의 본질입니다. 그래서 여러분은 구조와 같은 일종의 수학적 개념으로 단계를 발전시킬 수 있어야합니다. 부족하면 해킹하고 코드를 버리고 원하는 작업을 수행하기를 희망합니다. 오타없이 길을 잃지 않고 복잡한 대수를 풀 수 있다면 아마도 그렇게 할 필요는 없습니다. 그러나 계획을 세울 수있는 것이 중요합니다. 나는 너무 복잡한 수학이 옳지 않은지 확인하기 위해 종종 10 줄 프로그램을 작성합니다. 검증, 발견, 예를 들어 컴퓨터와 수학을 결합하여 세부 사항이 많을 때 세부 사항을 해결하는 것이 진정한 열쇠입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.