나는 인터뷰의 일부에 계속 실패하고 있습니다. [닫은]


13

내 포트폴리오에 몇 가지 소프트웨어 / 사이트가 있습니다. 그들은 돈을 벌지 만 많은 것은 아닙니다.

그래서 저는 Java / PHP 주니어 개발 위치에 주로 적용되는 직업 경험을 얻기로 결정했습니다.

문제는 모든 기술적 인 질문에 정확하게 답변하고 인터뷰의 마지막 단계 인 코딩 "테스트"를 할 예정입니다. 나는 결코 긴장을 풀고 생각을 할 수 없으며 시험을 매우 느리게 끝내게됩니다. 또는 때로는 블록을 치고 발로 생각하기가 매우 어렵다는 것을 알게됩니다.

내가 작성한 다른 것들이 훨씬 더 복잡한 문제를 해결하고 있었기 때문에 "테스트"는 실제로 회문을 쓰고 테스트하는 것과 같이 잔인하게 단순하기 때문에 이것을 이해하지 못합니다.

다른 경우에는 수학 연산에 대한 흐름으로 논리 테스트를 제공하며 다시 할당 할 때 수행 할 수 없습니다.

소액의 수익을 창출하고 문제를 해결하는 방법을 찾을 수있는 판매 가능한 소프트웨어 / 웹 사이트를 작성할 수 있지만 인터뷰에서 간단한 코딩 테스트를 수행하는 데 큰 어려움이 있습니다.

어떤 제안?



분명히 적어도 당신은 면접 시험이 간단 할 수도 있다고 생각하지만, 그것은 당신이 도스 테스트에 문제가에 혼자가 아니라는 것 : infoworld.com/d/application-development/...
일부 프로그래머 친구

2
이 링크에 동의하지 않습니다. 좋은 개발자와 나쁜 개발자의 차이점을 고려할 때 나쁜 후보를 얻는 것보다 좋은 후보를 잃어 버릴 위험이 있습니다.
deadalnix

7
@deadalnix 나는 당신의 의견에 동의하지 않습니다. :-) 나는 충분히 좋은 프로그래머 플랭크 테스트를 보았고 나쁜 프로그래머는 테스트가 유용하지 않으며 종종 비생산적이라고 생각하는 테스트를 통과했습니다. IMO는 면접관 / HR을 기분 좋게 만드는 것입니다.
Brian Knoblauch

2
@BJoachim and all : 해당 링크의 첫 번째 단락을 읽은 경우 실제로 테스트를 관련성 있고 유용하게 유지하는 것이 좋습니다. 테스트가 쓸모 없다고 말하는 것은 아닙니다.
MarkJ

답변:


18

인터뷰에 계속 참석하십시오. 당신은 결국 당신의 강점에 더 적합한 질문을 할 수있는 곳을 찾을 것입니다. 또한 인터뷰에 익숙해 져 도움이 될뿐입니다. 그것을 게임이라고 생각하십시오. 왜냐하면 그것이 실제로 그 일이기 때문입니다. 계속 플레이하면 결국 이길 수 있습니다.


2
나는 그것이 질문의 장점 / 내용의 문제라고 생각하지 않고 단지 대답의 조건이라고 생각합니다. bool isPalindrome(string)시간 제한 (15 분)으로 종이에 써야했기 때문에 글을 잘못 엉망으로 만들었습니다 . 텍스트 편집기가 있고 시간 제한이 없으면 1 분 안에 완벽하게 수행 할 수 있다고 생각합니다.
SF.

9
@SF : 인터뷰 후 사용해 보셨습니까? 시간이 얼마나 걸렸습니까?
케빈 클라인

2
또한 약점에 대한 연습을 계속하십시오. 이 경우 작고 비슷한 문제를 찾아서 종이로 문제를 해결하십시오. 무언가 잘못되었다고 생각하는 것을 먼저 연습하고 올바른 것을 얻는 과정을 반복하십시오. 그렇게하면 인터뷰 과정에서 사고 과정을 보여줄 수 있습니다. 이것이 지금 당장 부족한 것 중 가장 큰 기술인 것 같습니다. 이 같은 많은 사업 :-)
Al Biglan

이것을 슬래시 도트 (slashdot)에서 연결 한 것을 보았습니다. 다소 관련됨 : infoworld.com/d/application-development/…
Kevin Hsu

문제는 종이에 프로그래밍 할 수 없다는 것입니다. 제 생각에는 실제 문제입니다. "isPalindrome"은 모호한 API 호출이나 언어 기능이 필요하지 않습니다. 인텔리전스 나 IDE 혜택이없는 것과 같은 컴파일 가능한 프로그램을 만들 수 있어야합니다.
Eoin Carroll

12

이것은 매우 일반적입니다. 대부분의 프로그래머는 편안한 영역에있을 때 효과적으로 프로그래밍 할 수 있습니다. 예를 들어, 우분투에서 vim으로 작업 할 수만 있습니다. 작업 공간이 없으면 프로그래밍과 같은 느낌이 들지 않습니다. 나는 또한 필요로 연구를위한 어느 정도 Google에.

나는 당신이 프로그래밍을위한 안락함을 개발했다고 확신한다. 코드가 완성되기를 기다리는 환경이 생길 것을 권장합니다. 그것에 익숙해지는 가장 좋은 방법은 인터뷰를 계속하는 것입니다.

영향이 크지 않다고 생각할 수도 있고 그렇지 않을 수도 있습니다. 그러나 우리 중 일부는 음악을 사용하거나 사용하지 않고 프로그래밍하거나 IDE 또는 간단한 텍스트 편집기를 사용하거나 나무 의자를 사용하거나 소파, 어두운 방 또는 밝은 방에 앉아있는 경우 ... 개발에 큰 차이를 만듭니다. 속도.

직장을 구한 후에는 일반적으로 그들이 제공하는 사무실 공간에 자신 만의 안락 지대를 만들 수 있습니다.

편집 :이 질문은 영업 사원에게 콜드 콜링에서 편안하고 나은 방법을 묻는 질문을 상기시킵니다. 가장 좋은 대답은 콜드 콜링을 계속하고 각 콜에 반영하는 것입니다. 잠시 후 영업 사원은 기술과 편안함을 향상시킵니다. 인터뷰에 참석할 때 프로그래머가 다르지 않다고 생각합니다. 모든 주요 요점은 인터뷰에 자신을 파는 것입니다.


소파는 누구입니까? 소피의 아름다운 쌍둥이?
uɐɪ

@Rick : 불행히도, 면접관으로서, 나는 그들이 효과적인 프로그래머라는 누군가의 말을 받아 들일 수 없습니다. 나는 그들이 실제로 프로그램 할 수 있음을 알아야합니다. 보고 된 경험이나 GPA, 인증 또는 코드 샘플 중 어느 것도 그렇게 말할 수 없습니다. 후보자가 프로그래밍을하는 것을 볼 필요가 있습니다.
케빈 클라인

@kevincline 나는 동의한다. 그래서 나는 그가 인터뷰를 계속하고 자신과 같은 면접관과 편안하게 지내는 것이 좋습니다.
Rick Rhodes

6

이것은 단지 제 제안입니다. 기업가가 되려고 노력하지 마십시오. 비슷한 문제에 직면 한 많은 사람들이있을 수 있습니다. 적은 수입으로 웹 사이트를 작성할 수 있다면 반드시 큰 수익을 올릴 수 있습니다.


1
+1, 그리고 기업가 정신은 매우 긍정적 인 품질로 볼 수 있습니다.
maple_shaft

5

당신은 이미 당신의 문제가 무엇인지 알아 냈습니다-압력을받는 문제 해결하기 (다른 사람이 당신을보고있을 때). 자신감이 부족하거나 경험이 부족하거나 압박을 받고 있기 때문입니까?

약간의 경험과 실습을 얻기 위해 많은 인터뷰를하는 것은 좋은 생각이 될 수 있지만 반대의 영향을 줄 수도 있습니다. 인터뷰에서 끊임없는 실패는 자신감을 더욱 떨칠 수 있으므로 조심하십시오.

누군가 당신을보고있을 때 문제를 편안하게 해결할 수 있도록 피어 프로그래밍을 시도하는 것이 좋습니다. 또한 압력 하에서 효과적인 것을 막는 것이 무엇인지 파악하십시오 (실제 테스트 자체의 스트레스, 정밀한 감독 하의 스트레스, 특정 시간 제한 하의 스트레스 등).


1
또한 이러한 유형의 테스트 문제 중 일부를 Google에 표시해야합니다. 면접에서 얻을 수있는 방법을 인쇄하여 해결하십시오. 컴퓨터가 아닌 테이블에 앉으십시오. 인터뷰의 압력을 다시 시도해야합니다.
Bill Leeper

3

압력을 받고 질식하는 것 같습니다. 인터뷰 프로세스의 일부로 시간이 지정된 예제를 수행해야하므로이를 극복하는 방법을 배워야합니다. 프로그래밍 기술이 아니라 두려움 관리에 관한 것입니다.

한 가지 옵션은 샘플 문제 작성을 연습하고 스스로 시간을 보내는 것입니다. 10 분 안에 할 수 있다는 것을 알게되면 시간이 줄어드는 것을 두려워 할 수 있습니다.

또 다른 방법은 두려움을 진정시키고 자신을 질식시키는 데 사용하는 기술을 생각해내는 것입니다. 명상 기법을 배우면 도움이 될 수 있습니다. 또는 두려움에 대한 소문을 외우십시오 ( Dune 로부터 ). 당신의 두려움 대응을 무너 뜨릴 수있는 속임수를 배우십시오.


3

아직 아무도이 질문을하지 않은 것에 대해 매우 놀랐지 만 어떻게 프로그래밍 작업에 접근하고 있습니까?

단순히 코드에 뛰어 들면 자신을 잃고 간단한 실수를 저지르고 혼란에 빠질 수 있습니다. 한 번에 한 단계 씩 수행하십시오.

  1. 요구 사항 수집 : 면접관이 요구하는 것은 정확히 무엇입니까. 확실히 있다는 것을 확인 제로 질문이 공중에 코딩 이전까지. 예를 들어, 오래된 "isPalindrome"질문에 직면 할 경우 "문자열에 특수 문자가 있으면 어떻게됩니까?" 또는 " 'ada'와 같은 홀수 길이 문자열이 회문으로 간주됩니까?" 당신이 필요로 하는 알고리즘을 설계하기 전에 요구 사항을 명확히하는 방법을 알고.
  2. 알고리즘 설계 : 의미가있는 경우 논리 섹션으로 나눕니다. 그것에 대해 이야기하십시오. 화이트 보드를 사용하는 경우 의사 코드를 작성하십시오. 당신의 단계를 통해 면접관을 안내하십시오. 원하는 결과를 얻을 수 있도록 몇 가지 다른 입력 (유효한 것과 유효하지 않은)으로 실행하십시오.
  3. 이제 코딩을 시작 하십시오.이 시점에서 작성하려는 내용에 대해 매우 확신해야합니다. 기본적으로 익숙한 언어로 모션을 진행해야합니다. 이 시점에서 한푼의 가치가있는 인터뷰자가 화이트 보드 세션의 사람들을 용서 할 것이므로 구문상의 오류가 있는지는 중요하지 않습니다 (문제를 해결하기 위해 PC / IDE가 주어지면 다른 이야기입니다).

실제로 코딩 문제를 해결할 때 면접관은 훌륭한 코드를 그리 많이 찾고 있지 않습니다. 주어진 문제를 해결하는 방법에 대해 더 많이 알 수 있습니다. 코드로 바로 다이빙하는 것은 나쁜 일입니다.

또한 문제 (요구 사항 수집 및 디자인)에 대해 이야기 할 때 코딩 부분에서 조금 더 편하고 실수를 할 가능성이 적습니다.


3

오일러 프로젝트

fizzbuz 테스트에 실패한 것 같습니다 . 프로그래밍의 핵심 개념을 이해하고 있는지 확인하는 것 외에는 실질적인 목적으로 사용되지 않는 간단한 알고리즘을 마비시킵니다.

기초를 닦으십시오

내가 권장하는 것은 기본 사항을 닦는 것입니다.

http://projecteuler.net/

가입하고 연습을 시작하면 이러한 예제를 통해 핵심 프로그래밍 개념에 대해 더 깊이 이해할 수 있습니다. 피보나치 수열 및 기타 수학적 개념 (친숙한 소리)과 함께 회문 질문을 찾을 수 있다고 생각합니다.


2

인터뷰 시점 또는 이후에 의견을 요청하십시오. 그들은 무엇을 좋아했습니까? 그들은 무엇을 좋아하지 않았습니까? 당신은 대답에 놀랄 수 있습니다.

물론 사람들마다 다른 것을 찾고 있지만 문제를 해결하려고 시도하는 방법은 일반적으로 100 % 정확한 솔루션을 작성하는 것보다 중요합니다. 당신은 모든 잘못된 것들에 대해 걱정할 수 있습니다.

무엇이든 향상시키는 가장 좋은 방법은 연습하는 것입니다. 짧은 문제 목록을 작성해보십시오. 그런 다음 목록의 각 항목에 대해 문제를 해결하는 작은 프로그램을 작성하십시오. FizzBuzz 와 같은 매우 쉬운 문제부터 시작하여 갈 때 어려움을 극복하십시오. 이전 인터뷰에서 본 문제를 해결할 수 있습니까? 두 문자열이 공통적으로 갖는 가장 큰 부분 문자열을 찾으십니까? n의 소인수 분해를 계산 하시겠습니까?

아이디어는 발생할 수있는 모든 문제에 대한 해결책을 배우는 것이 아니라 작은 프로그램을 빠르게 작성하는 연습을 제공하고 개선 할 수있는 약점을 파악하는 것입니다. 올바른 데이터 구조를 사용하면 많은 문제를 쉽게 해결할 수 있지만 그렇지 않은 경우에는 어려운 문제가 있으므로 데이터 구조의 기반이 확실해야합니다.


2

연습 방법을 익히는 데 도움이되는 사람을 연습하고 찾으십시오. 몇 번의 시도가 필요할 수 있지만 이에 대한 피드백과 연습을 얻을 수 있다면 무엇을 발견했는지 놀라 울 수 있습니다. 채용 담당자가 화이트 보드 문제를 한 번 처리하는 방법을 안내해주었습니다. 여기에서 귀하의 문제와 유사한 것으로 보입니다.

나는 그런 문제가 생겼을 때 어떻게해야하는지, 어떻게 이야기해야하는지에 대한 청사진을 가지고있는만큼 대답을 암기하는 것은 제안하지 않습니다. 이것은 어떻게 생겼습니까? 비슷한 문제가 있습니까? 알고리즘 측면에서 간단한 접근 방식으로 얻을 수있는 것은 무엇입니까? 적어도 그것은 당신에게 나의 제안입니다.


2

소프트웨어 개발자는 코딩 테스트를 받거나 인터뷰에 작은 코드를 작성하라는 요청을받을 때 매우 일반적입니다. 누군가가 이미 언급했듯이, 그것은 우리가 "편안함 구역"에 있고 2-5 명의 면접관으로 둘러싸인 작은 방에 앉아있을 때만 코딩 할 수 있기 때문에 실제로 많은 편의를 제공하지는 않습니다.

답은 세 가지입니다.

  • 연습하고 더 연습하십시오. 한 달 동안 종이와 펜으로 30-40 분의 프로그래밍을 시도하면 얼마나 쉬운 지 놀랄 것입니다. 연습하는 동안-인터뷰 코딩 세션에서 요구되는 프로그래밍 작업을 시도해보십시오. 예를 들어 싱글 톤 구현, 문자열 반전 등 "정크 코드를 읽고 잘못된 것을 찾는 것이 더 쉽습니다. "-인쇄를 시도하고 2 주 동안 이러한 인쇄물을 분석하면 해당 기술을 크게 향상시킬 수 있습니다.

  • 두려움을 통제하는 법을 배우십시오. 테스트가 너무 어렵다고 생각하고 20 % 만 완료 할 수 있다면 20 % 만 수행하면 나머지는 걱정하지 않아도됩니다. 주어진 시간 동안 테스트가 부당하게 클 수 있습니다. . 다른 응시자들은 10 %의 시험 만 완료했을 수도 있으므로 20 %를 완료하면 다른 응시자들보다 앞서 나올 수 있습니다.

  • 인터뷰에서 코드를 작성할 때-첫 번째 단계에서 완벽하게 만들지 않아도됩니다. "행복한 경로 일명 가장 일반적인 시나리오"를 구현하고 나중에 오류 처리를 방해합니다. 시간이 부족한 경우 시트 개요 하단에 간단한 메모를 추가하십시오. 시간이 더 있으면 코드를 개선하기 위해 수행 한 작업입니다.

[실행해야합니다. 나중에 답변을 수정 / 향상합니다]


1

많은 사람들이 이미 말했듯이 연습은 가장 중요한 것 중 하나입니다. 이미 비슷한 문제를 해결 한 경우 솔루션을 신속하게 제시 할 수 있습니다.

혼자서 시도하고 해결하는 데 어려움을 겪고 있다면 Google 검색을 사용하여 언어 나 선택에 대한 인터뷰 질문을 프로그래밍하십시오.

또한 더 낮은 수준의 CS 과정을 가르치기 위해 고안된 책을 집을 수 있습니다. 이 책들 대부분은 작고 집에서 빨리 할 수있는 프로그래밍 과제로 가득 차 있습니다. 그들은 연습에 사용될 수 있습니다.


0

나는 또한 시험에 매우 나쁘고 항상 있었다. 저는 제 인생에서 왜 프로그래밍 수업에 연필과 종이를 가지고 시험을 보냈는지 알 수 없었습니다. 나는 그것을 잘 얻지 못했습니다. 그러나 내가 한 일은 면접관 에게이 문제가 있고 그것에 대해 알고 있다고 설명하는 것이 었습니다. 또한 바보 같은 테스트를하지 않은 회사에 대해서도 인터뷰를 진행했습니다.

내 제안은 인터뷰에 들어가기 전에 회사에 그런 종류의 테스트로 의지하지 않는다고 알리는 것이지만 X 대신 기쁘다. 나 자신을 위해 나는 그들에게 코드를 보내겠다고 제안했다. 3 일 후의 인터뷰.

구직을 원하는 곳에 따라이 방법이 도움이 될 수도 있고 안될 수도 있습니다.

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