가장 좋아하는 인터뷰 질문은 무엇입니까? [닫은]


21

소프트웨어 개발자 인터뷰에서 특히 유용한 질문은 무엇입니까? 특히 유용한 질문에 대해 무엇입니까?

나는 "코드 작성"과 같은 인터뷰 방식뿐만 아니라 여러분이 묻고 싶은 특정 질문을 찾고 있습니다.


2
말한 것처럼 질문은 건설적이지 않지만 좋은 대답이 있습니다. 최상의 답변과 일치하도록 질문을 바꾸고 다시 열 것을 권장합니다.
ChrisF

@ChrisF : "공유 경험"과 "이유 묻기"를 조금 더 시도해 보았습니다. "더 많은 답변을 초대합니다". 추가 수정이 필요한 경우 알려주십시오.
Tim Goodman

그게 낫다!
ChrisF

지금 질문과 답변을 보면 여전히 건설적이지 않은 느낌입니다. 답변에 "이유"가 포함되어 있고 질문이 나열된 것 같지는 않습니다.
Adam Lear

답변:



22

이것은 내 시나리오에 따라 다르지만 그럼에도 불구하고 큰 질문이라고 생각합니다.

C #이나 .NET을 한 번도 본 적이 없다고 말씀하십니까? 자, 여기 워크 스테이션이 있습니다. 이 DB를 쿼리하여 고객 이름별로 주문과 함께 고객 목록을 인쇄하는 프로그램을 작성하는 방법을 알아보십시오. 원하는 리소스를 사용할 수 있습니다.

내가 가진 유일한 질문은 실제로 배우는 능력을 테스트했습니다.


StackOverflow가 존재하기 전에 있었습니까?
eds

1
어, 이것은 당신이 묻고 싶은 질문이 아닌가?
Paddyslacker

8
+1, 이것은 완벽한 질문입니다. Google에서 기본 언어 구문을 파악할 수 없으면 아무 것도 저장하지 않습니다.
Josh K

나는 그들이 사용하지 않은 프로그래밍 언어를 얼마나 잘 선택할 수 있는지 보여줍니다. 나는 인터뷰 질문에 대해 그것을 훔칠 수도 있습니다 :)
Richard

1
무의미 ​​해 보이는 사람은 누구나 msdn에서 직접 cranet .net 코드를 복사하여 붙여 넣을 수 있습니다.
dotjoe

15

이것은 코딩 문제가 아니라 행동 문제입니다.

마감 시간을 맞추기 위해 정시에 모든 작업을 완료 할 수 없었던 때를 말해주십시오. 뭐 했어? 결과는 어떻습니까?


3
이것이 왜 좋은 질문입니까? 나에게 무의미 해 보인다
Joe Phillips

9
요점은 개발자로부터 많은 정보를 얻는다는 것입니다. 첫째, 그들이 이런 상황에 처한 것을 인정하지 않는다면, 그들은 스스로를 속이고 있거나 실제 프로젝트에 경험이 없습니다. 둘째, 그들이이 문제를 팀에 전달하는 방법에 대해 이야기하지 않고 문제를 해결하기 위해 얼마나 열심히 노력했는지에 대해서만 이야기한다면, 나는 그들을 고용하고 싶지 않습니다. 불쌍한 의사 소통은 내가 프로젝트에서 볼 수있는 대부분의 문제에 대한 책임이 있습니다. 사전 의사 소통자를 고용하고 싶습니다.
Paddyslacker

3
나는 ( "뭔가 잘못 갔을 때 시간에 대해 말해, 당신은 응답 무슨 짓을했는지 ...") 비슷한, 더 일반적인 질문을 매우 개방형, 아직 나는 최대 맹세 인터뷰를 한 것은 없습니다 아래로했다 이제까지 그를 위해 잘못되었습니다. 말할 것도없이 나는 그를 고용하도록 권하지 않았다.
Alex Feinman

13

프로그래밍은 어떻게 했습니까?

사람이 프로그래밍에 대한 열정이 있는지 확인하고 얼음을 깨는 좋은 방법.


11

사소한 양의 Java 경험이 있다고 주장하는 사람을 인터뷰 할 때 나는 그들 hashcode()equals()그들 사이의 관계 에 대해 묻습니다 . 잠재적 인 함정을 인식하지 않고서는 상당한 Java 경험을 얻을 수 없으며,이 문제를 모르는 사람은 프로젝트에 찾기 어려운 버그를 추가 할 것입니다.

나는 또한에 대해 물어 볼게요 ArrayListLinkedList상대적인 장단점합니다. 이것은 그들이 작성한 코드의 성능 영향에 대해 최소한 알고 있고 생각하고 있다는 것을 희망적으로 증명해야합니다.

또한 기술적 인 주제 (Maven의 유용성 또는 다른 점, 확인 된 예외와 확인되지 않은 예외 등)에 대한 의견을 표명 한 다음 악마의 변호인이 자신의 요점을 얼마나 잘 주장 할 수 있는지 알아 봅니다.


+1 나는 ArrayList와 LinkedList를 좋아한다. 나는 ArrayLists가 폐지되어야한다고 말하는 사람들에 대해 SO에 대해 많은 의견을 보았지만 LinkedLists보다 더 나은 곳에서 많은 용도를 생각할 수 있습니다.
Evan Plaice

롤! 두 명의 면접관이 나에게 목록과지도의 차이점에 대해 물었다. 나는 그들에게 놀란 표정을 지어 주었고, 실제로 사과했습니다 (그리고 나는 그들의 질문에 대답했고 우리는 물론 인터뷰를 계속했습니다).
Hila

6

"가장 마지막으로 읽은 (가장 좋은) 기술 서적은 무엇입니까?"

또는 더 일반적으로 :

"지식을 어떻게 최신 상태로 유지합니까?"

학교를 마친 이후로 기술 책을 읽지 않은 사람이 몇 명인지 놀랍습니다. 그리고 10 년 전에 학교를 마치고 학교를 마친 이후로 책을 읽지 않았다면 단위 테스트, 디자인 패턴, SOLID 원리와 같은 것들에 대해 들어 본 적이 없을 것입니다 ...

의견에 대한 답변 :

원하는 경우 저에게 의견을 줄 수 있지만 이것은 제가 가장 좋아하는 인터뷰 질문 중 하나입니다. 블로그, wikipedia, SO는 최신 첨단 뉴스를 제공하는 훌륭한 소스입니다. 그러나 나는 당신이 블로그를 읽음으로써 당신이 Knuth의 책에서 찾은 것들과 같은 정말로 복잡한 주제를 깊이있게 배울 수 있다고 생각하지 않습니다.

하나는 새로운 복잡한 주제를 배우려는 의지를 보여주고 다른 하나는 배우지 않는 두 개발자 중에서 선택해야하는 경우 첫 번째 개발자를 고용합니다. 더 많은 돈을 원하더라도. 장기적으로 돈을 지불합니다.


-1. 기술 서적을 거의 열지 않지만 TTD가 무엇인지 알고 일부 디자인 패턴을 알고 있습니다. 나는 평범한 책에서 배우는 것보다 SO (예를 들어 팩토리 패턴)와 Jon Skeet 및 다른 전문가의 블로그에서 훨씬 더 많은 것을 배웠습니다. 예를 들어, FxCop 및 StyleCop 검사가 재사용 가능한 강하 소스 코드를 작성하는 데 왜 그렇게 중요하지 않은지 설명하지 않은 책은 없습니다.
Arseni Mourzenko

3
+1 온라인 기사와 블로그로 많은 것을 배울 수 있지만 기술 서적을 읽지 않으면 이니셔티브와 평범함이 부족하다는 것을 의미합니다.
Dunk

5

이 연결된 목록을 반대로 바꿉니다. 이제 선형 시간으로하십시오. 이제 선형 시간과 일정한 공간에서 수행하십시오.


23
MyList.reverse ()
Joe Phillips

5

운이 좋은 사람이라고 생각하십니까?

나는 Bruel & Kjaer의 창립 멤버 중 한 사람의 인터뷰에서 이것을 읽었으며 그것은 나와 화음을 쳤다. 성공한 사람들은 자신이 운이 좋다고 생각할 가능성이 높습니다. 그들은 좌절을 개선의 기회로보고 주변 사람들과 성공 (행운)을 나누는 경향이 있습니다. 행운이 많은 사람은 더 많은 행운을 가져옵니다. *

자신이 불행하다고 생각하는 사람들은 팀에서 나쁜 사과 가 될 가능성이 높습니다 .

이러한 맥락에서, 행운 은 네잎 클로버가 아니라 준비 회의 기회 로 읽어야 합니다.


1
+1 이것을 몇 번 더지지하고 싶습니다.
ocodo

나폴레옹은 한때 "운이 좋은 장군을 줘!"라고 말했습니다.
Zachary K

4

항상 나를 위해 일한 사람 ...

"이전 프로젝트에 대해 알려주십시오" .

그런 다음 그들의 반응을 프로젝트에서 자신의 역할과 그들이 왜 결정을 내 렸는지 묻는 점프 포인트로 사용하십시오. SAT 인터뷰를하기보다는 그들과 대화를 나누는 것뿐입니다. 그것은 항상 개발자가 직책에 적합한 지 판단하기에 충분했습니다.

나는 한 번만 이미 사용되는 언어를 알고있는 직업에 고용되었으므로 언어 ​​관련 질문은 나에게 큰 가치가 없습니다. 또한 개인적으로 구문 퀴즈 ( 배고픈 얼룩말로 가득 찬 목장에 솜사탕을 어떻게 정렬합니까? )와 관심이 많은 질문에 관심이 없으므로 질문을하지 마십시오.


+1. 나도 그래. 그러나 특히 많은 사람들과 함께 대규모 프로젝트를 수행 할 때 프로젝트에서 후보의 기능이 무엇인지 (프로젝트 관리자? 리드 개발자? 유지 보수 개발자? 커피 머신 운영자?) 찾기가 어려운 경우가 있습니다.
니키

2
세계에서 직업을 가질 수 있다면 무엇을 할 것입니까?

나는 정말로 한 가지만을 찾고 있습니다. 유일하게 틀린 답은 웃으며 세상에서 가장 진부한 면접 질문 인 면접관에게 이야기합니다. (임원은 투표하지 않았습니다).

그것은 정말 용으로 설정된 모든 시간 좋아하는 질문 :

[록 스타]가되고 싶다면 왜 [HugeCorp]에서 [인터넷 개발 엔지니어 III]에 지원합니까?

실제로 대담한 답변을 제공하는 것이 가장 좋습니다. 그들은 그것이 다가오는 것을 거의 보지 못하며 이것은 "여기서 더 좋은 시간"또는 "여기서 나의 경력이 전형적인 록 스타보다 오래 지속될 것"과 같은 말로 누군가가 빛을 발할 수있는 기회 일뿐입니다.

또한 첫 번째 질문에 대한 오답이없는 것에 대해 거짓말을했습니다. 당신이 완전히 멋진 꿈의 직업에 대해 인터뷰하지 않는 한 그들이 인터뷰하는 직업은 틀린 대답입니다. 꿈의 직업에 대해 인터뷰하고 있는데 아직없는 경우, 왜 신청하지 않는지 스스로에게 물어봐야합니다.


"그리고 만약 당신이 꿈의 직업에 대한 인터뷰를하고 있고 아직 그것을 가지고 있지 않다면, 왜 당신이 그것을 신청하지 않는지 스스로에게 물어봐야합니다." - "그렇게하면 저주 받았지만, 그렇지 않으면 저주 받았다"라는 질문처럼 들립니다. 누군가가 꿈의 직업을 염두에두고 있다면, 아직 꿈을 꾸지 않을 것 같지 않고 회사에서 배울 수있는 것에 대한 경험이 더 필요할 수도 있습니다. 왜 그것들을 반대해야합니까?
Mark Freedman

4
-1 사람들이 이와 같이 어리석은 질문을 한 회사의 구인 제안을 거절했습니다. # 1 직업이나 수행 방식과는 아무 상관이 없습니다. # 2 면접관은 상대방을 속여서 면접관보다 똑똑한 모습을 보여 주려고 노력하는 대신, 그들의 오만함이 상당히 강하게 나옵니다. 3 인터뷰에서 마음에 들지 않을 경우 면접에서 이러한 유형의 질문을하는 pr @ # k $로 작업하고 싶지 않다고 생각합니다. 맥주에 대한 질문은 또 다른 이야기입니다.
Dunk

@ 덩크 : 맞습니다. 트릭 질문은 인터뷰 대상자보다 인터뷰에 대해 더 많은 것을 말합니다. 그러나 사람의 목표와 소망에 대해 묻는 것이 일반적입니다. 직원들이 자신의 직업에 만족하기를 원하고 (행복하지 않은 사람들은 생산적이지 않음) 자신에게 적합한 직업이 있는지 알고 싶습니다.
니키

@ 덩크 (Dunk)는 매일 고객이 진부한 질문을하고 종종 똑같은 바보 같은 실수를 반복하기 때문에 이와 같은 진부한 질문은 내 직장에서 고객을 다룰 수없는 사람들의 유형을 스스로 선택하는 데 도움이됩니다. 단점은 그러한 행동을 용인해야한다는 것을 보상하기 위해 일자리를 지불한다는 것입니다. 그런 의미에서 그것은 실제로 현질 문제입니다.
shemnon

@ Mark Freedman-나는 그들을 상대하지 않습니다. 이것은 그들에게 그들의 진로에 대해 정직하고 직접적인 기회를 제공합니다. 피면 담자가 "그렇게하지 않으면 저주를 받고 저주 받으면 저주를 받는다"고 느끼면 직업은 그들에게 해당되지 않습니다. 당신이 이미 정직한 대답으로 목을 내밀지 않으려는 경우.
shemnon

2

C # 인터뷰를 할 때 "메서드에서 오류를 어떻게 처리합니까?" 그 질문에 대한 적절한 대답을 얻으면 "웹 응용 프로그램에서 오류 처리를 어떻게 / 어떻게 설정합니까?"라고 묻습니다.

나는 첫 번째 질문에 아무런 문제가없고 두 번째 질문에 대한 실마리가없는 개발자 수에 항상 놀랐습니다. 나는 현재 프로젝트에서 오류가 어떻게 처리되고 있는지 설명 할 수없는 많은 사람들을 인터뷰했습니다.


2

이 같은:

사용하지 않고, 7의 값을 곱하고 *, /그리고 +작업. :)


4
코드베이스에 비트 트위들 링에 대한 지식이 필요합니까? 아니면 세부 사항에 대한 관심을 측정하는 것입니까?
피터 테일러

2
그는 "또는"이라고 말하지 않았습니다
Ben L

1
@ 벤, 난 그냥 비밀 통로로 논리 폭탄을 던졌다을 생각한다 : - /
ocodo

2
그냥 (x << 3) - x아닌가요?
user13278

1
또는 더 간단합니다 :x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
nikie

1

David와 비슷하지만 약간 다릅니다.

나중에 수정하고 개선 한 이전 버전의 지저분한 실제 프로덕션 코드를 살펴보십시오. 그것이 무엇인지 말해주세요. 문제가 어디에 있는지 알려주세요 (정확성과 스타일). 어떻게 고치고 향상시킬 수 있는지 알려주세요.

이를 통해 새로운 코드를 작성할 수있는 사람과 레거시 코드베이스의 현실에 대처할 수있는 사람을 구별 할 수 있습니다.


0

몇 년 전에 정규 표현식 / a * /와 / a *? /의 차이점을 물었습니다.

개인적으로 재귀에 대해 몇 가지 질문을하는 경향이 있습니다.


1
합니까 ?나타낸다는 욕심 또는 0 또는 1 ? 두 구문을 모두 보았습니다.
Paul Nathan

1
어떤 방언?.

그것은 perl5였으며 약 11 년 전이었습니다. 그렇습니다. 탐욕스럽고 탐욕스럽지 않았습니다.
Zachary K

0

이 질문에 대한 답이 실패한 것에 놀랐습니다.

정렬되지 않은 목록에서 항목을 어떻게 검색 하시겠습니까?


매우 깊은 질문입니다. 경기는 어떻게 정의됩니까? 목록에서 부분 순서에 대한 지식이 있습니까? 어떤 종류의 목록입니까? 항목을 정렬 할 수 있습니까? 목록이 얼마나 큽니까? 비교에 대한 비교와 비교 검사의 상대적인 계산 비용은 얼마입니까? 이 질문에 다른 대답은 ..... 최적의 방식을 변경할 수 있습니다
mikera

이 검색은 얼마나 자주 발생합니까? 성능 병목 현상이 발생할 수 있습니까?
Justsalt

WTF, 여러분 첫 번째 또는 마지막 항목에서 시작하여 일치하지 않는 경우 다음 항목으로 이동하십시오. 유일한 질문은 : 우리는 여러 경기에 관심이 있습니까 아니면 첫 경기에서 검색을 중단합니까? 통찰력을 제공하려면 다음을 추가 할 수 있습니다. 링크 된 목록의 경우 중요하지 않지만 인덱싱 된 목록의 경우 일치 항목 을 추출 하려면 목록을 역순으로 순회하므로 목록을 업데이트 할 필요가 없습니다. 루프 조건 외부의 색인.
NotGaeL

0

내가 가장 좋아하는 질문은 :

(아마도 Java / C #과 의사 코드가 혼합되어 있음)

비 이국적인 컨테이너를 사용하여 가능한 한 성능이 뛰어난 사전으로 작동하는 클래스를 디자인하십시오. 또한 "랜덤"순서가 아니라 키를 사전에 추가 한 순서대로 키를 열거 할 수 있습니다. 처음 만들어졌습니다.


이것은 너무 많은 설명 질문으로 이어집니다. 두 개의 해시 테이블 또는 해시 테이블과 배열 목록을 사용하는 것이 공정합니까? 물건을 제거 할 수 있어야합니까? (이로 인해 다소 복잡해집니다.) 값이 업데이트되면 다시 추가하는 것으로 계산됩니까?
dsimcha

@ dsimcha, 좋은 지적. 대화 할 시간이 20-30 분이며 다음과 같이 시작합니다. 언제든지 설명을 요청하십시오. 갇힌 것처럼 느껴지면 힌트를 주거나 올바른 방향으로 안내해 드리겠습니다. 사람이 여전히 바퀴를 돌리고 있다면 데이터 구조를 이해하지 못한다고 말할 것입니다. 내가 원하는 것을 명확히하는 한, 나는이 오픈 엔드를두고 다른 방향으로 가져 가고 싶습니다.
직업
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.