2009-07-29 3 views
7

저는 C#과 XML로 몇 년 동안 프로그래밍 해왔습니다. 나는 그 언어의 기초만을 사용했고 배열과 텍스트 조작과 같은 정보를 웹에서 살아 남았습니다. 그러나 인터뷰를 할 때 면접관은 고급 질문 만합니다. 나중에 해당 주제에 대한 책의 고급 섹션에서 대답을 찾았습니다.면접관이 고급 질문을하는 이유는 무엇입니까?

면접관은 왜 고급 질문을합니까? 그 일은 내가 이전에했던 것과 거의 비슷해 보입니다. 따라서 클래스 위임자 나 XPath 명령과 같은 고급 지식이 필요합니다.

질문은 다음과 같습니다

  1. XSL의 어떤 버전은 .NET 3.5 사용합니까?
  2. 요소 X에서 값을 가져 오는 데 사용할 XPath 명령은 무엇입니까?
  3. C#의 클래스 델리게이트 란 무엇입니까
  4. C#에서 다중 인터페이스 상속을 허용합니까?
  5. C#에서 GAC에 어떻게 액세스합니까? 그들은 기본적인 것들보다 더 많은 것을 알고 프로그래머를 찾기 위해 노력하고있다 아마도 때문에
+1

정확히 이러한 질문이 무엇입니까? 도서의 "고급"섹션은 반드시 고급 아니지만 ... 24 시간 동안 책을 읽으면서 10 년 된 HTML에 고급 섹션이 있습니다. –

+20

"XML 프로그래밍"이라고하셨습니다. 귀하의 질문에 대답해야합니다. –

+53

귀하의 질문은 귀하의 현재 지식이 충분하다고 생각하는보다 근본적인 문제를 제시합니다. 이것이 성공에있어 가장 큰 장애물이 될 것입니다. 위대한 개발자가되는 한 가지 일은 결코 결코 알지 못하는 실현입니다. –

답변

36

두 가지 이유가 있습니다.

  1. 사람이 실제로 "나는 그 대답을 모른다"라고 말하면, 질문을 통해 학사를 보는 것과 반대입니다.
  2. 사람이 갖고있는 논리적 인 문제 해결 능력을 확인하십시오.

는 보통 문제는 둘 중 하나만이 될 것입니다. 그러나 둘 모두 원근법 직원을 선별하는 데 매우 중요합니다.

또한 질문의 위치가 실제로 "고급"되지 않을 수도 있습니다. 고위급 및/또는 건축가가 중급에서 중급 수준의 질문에 대답 할 수 있다고 가정하는 것이 합리적입니다.

+1

나는 이것을 좋아하고 또한 후보자가 그것을 바라 보거나 질문의 ​​논리를 따라갈 것이라고 말할만큼 충분히 강해야한다고 생각한다. – SteveM

+6

정확히. 나는 많은 인터뷰를하는 사람들이 질문에 대한 답을 찾는 것이 실제로 기술이라는 것을 깨닫지 못한다고 생각합니다. 답변을 찾는 방법을 아는 사람이 있다면 정보를 가져 와서 올바르게 문제에 적용하는 것이 좋습니다. 나는 누군가가 매뉴얼을 외울 수 있는지 상관하지 않는다. 문제는 매뉴얼을 이해 하느냐 못 하느냐이다. –

12

. 그들이 후보자 분야를 구별하려고 시도하는 경우, 모든 사람이 그 대답을 아는 질문을하는 것이 도움이되지 않습니다 - 그 후보자 중에서 어떻게 선택합니까? 응시자 중 1 ~ 2 명만 고용하려는 경우 풀에서 1 ~ 2 명이 답변 할 수있는 몇 가지 어려운 질문을 찾아야합니다.

1
그들은 아마 당신이 정말로 당신에 대해 또는 당신은 그가 시행 착오를 통해 포착 한 것만을 사용하여 웹에 따라 얻는 초보 프로그래머라면 무슨 말을하는지 알고있는 경우에보고 싶어

...

0

고급 질문을 통해 사람들이 문제를 어떻게 해결하는지 확인해보십시오. 나는 그 이유 때문에 내 머리 꼭대기에서 모르는 질문을하고 싶다.

나는 나에게 교과서를 암송 할 수 있습니다 단지 학문적보다는 중요한 사상가 사람을 원한다.

2

아마도 그들은 당신이 어디에 있는지에 대한 척도를 얻고있을 것입니다. 그들은 아마도이 문제에 스스로 붙잡 았을 것이고 아마도 당신이 당신의 답을 생각할 수 있는지 알고 싶을 것입니다.

나는 동일한 유형의 질문을 경험했으며 과도한 자원을 사용하는 프로그램을 고려할 때 이러한 유형의 문제는 대개 저를 버립니다. 그들의 손실.

0

그들은 초급 과정에서 배우는 것 이상으로 실용적인 경험을 가진 사람을 찾고 싶습니다. 우리 회사가 후보자를 인터뷰 할 때, 대부분의 지원자는 API를 모르거나 다양한 기본 데이터 구조를 사용해야 할 때를 이해하지 못하기 때문에 매우 기본적인 프로그래밍 문제로 해결할 수없는 경우가 종종 있습니다.

면접관에게 깊은 인상을 남기고 싶다면 수업 외의 프로그래밍 프로젝트를 진행하십시오. 언어 API의 좋은 부분을 배우고 작업을 크게 단순화 할 수있는 타사 라이브러리에 대해 알아보십시오.

11

답변을 잘못받는 것은 신청인이 원하는 경우입니다.

내가 신청자가 잘못 될 것이라고 생각하는 질문 중 하나는 그들이 상황에 어떻게 적응하는지 보는 것입니다. 어떻게 잘못 처리되는지, 어떻게 대답해야하는지 등을 알려주는 누군가를 다루는 방법. 그들이 매우 틀렸다고 말할 때 그들이 매우 방어 적이거나 무례하면, 여러 번 당신이 팀에서 일할 수있는 좋은 징후입니다. 아이디어가 도전 받게 될 것입니다.

그들이 해결책이나 권장 사항을 받아들이면 배우기도하고 일반적으로 누군가의 기호 인 내용을 추가 할 수 있다는 것을 깨닫는다면 쉽게 작업 할 수 있고 기꺼이 '상자 밖에서 작업'할 수 있습니다. 그들이 왜 옳을 수도 있고 옳을 수도 있다고 말하려고 할 때 주위에 변명하고 춤을 추는 경우 (분명히 그렇지 않은 경우), 이것은 미래에 동일한 문제가 발생할 때이 신청자가 두통을 일으킬 것임을 말해줍니다.

답에 대해 그렇게 걱정하지 않고 질문/해결책에 어떻게 반응하는지 더 관심이 있습니다.

또 다른 이유는 채용시 자신의 레벨을 측정하는 것입니다. 당신은 복수의 직책에 고용 될지도 모르지만이 신청자가 어디에 합당한 지 모릅니다. 문제 해결 및 세부 사항에 대한주의를 나타내는 어려운 질문은 때때로 자신의 기술 세트를 쉽게 분류 할 수 있습니다.

0

또 다른 이유는 실제로 응답을 알기를 기대하지 않는 질문에 대한 응답을 측정하는 것입니다. 문제 해결 능력은 필수적입니다. 그렇기 때문에 이미 답을 알고있는 질문을 던지면 해결되지 않을 수 있습니다. 그렇습니까?

이상한 비 프로그래밍 관련 질문을하는 기업의 경우조차도 문제를 어떻게 생각하는지 볼 수 있습니다. 소문에 의하면 Microsoft의 인터뷰에서 고전적인 "맨홀은 둥글다"라는 질문이 있습니다. 나는 당신의 기분을 상하게하지만, 뜻을 아니에요

More Microsoft interview questions

0

어쩌면 작업에 대한 이해가 깊은 충분하지 않으며 그것은 사실 고급 기술의 지식이 필요합니다.
또한 기본 방법으로 많은 작업을 수행 할 수 있지만 복잡성, 구현 시간 또는 유지 관리 가능성과 관련하여 고급 방법을 구현하는 것이 더 좋습니다.

0

여러 가지 이유가있을 수 있습니다.그들은 수

  • 실제로 그 기술을 사용
  • 이 후보의 큰 수영장을 가지고
  • 보고 싶은 더 knowlegable 사람을 찾기 위해 시도 할 (대표 및 XPath는 특히 희귀 모호한되지 않습니다) 당신의 지식의 한계가 어디에 있는지, 그래서 그들은 당신이 잘 대답 할 수없는 시점까지 질문을합니다.
  • 당신이 익숙하지 않은 영역에 접근하는 방법을보고 싶어합니다. 당신이 새로운 것에 적응할 수있는 방법을보고 싶습니다. 물건들
  • 자신의 지식을 자랑하고 싶다.) 이유 itimate,하지만 확실히 발생
7

나는 몇 가지 이유에 대한 고급 질문 :

  1. 내 질문의 일부는 모든 사람이 알아야 할 것들 (안 퀴즈 질문)의 고급 사용 - 나는 당신이 가진 지식을 사용하여 답을 통해 당신이 이유를 보길 원한다. 그러나 공통점이없는 방식으로.

  2. 나는 뭔가를 모를 때 어떻게되는지보고 싶습니다. 포기합니까?

  3. 나는 그들이하는 일에 대해 진지한 사람을 고용하고 싶습니다. 그들이 사용하는 기술에 정말로 관심이있는 사람들은 고급 기능을 알고 싶어합니다.

  4. 지식의 전체 영역이 존재한다는 것을 모르는 부분이 있는지 알고 싶습니다. 예를 들어, XPath의 예에서는 "XPath가이 문제를 해결하는 데 사용될 수 있다고 믿지만 잘 쓰지는 못합니다."- 그러면 내가 보여줄 것입니다. XPath를 약간 적용하고 적용 할 수 있는지 확인하십시오. XPath가 있다는 것을 모를 경우 Google이 도움이되지 않습니다.

2

프로그래머로서 역량을 모두 깊이에게 지식의 폭을 포함하기 때문에.

2

면접관이 당신의 지식 수준을 알고 싶어하며, 그 책의 마지막 장에서 질문을 "빌려"풀어 나가고 있습니다.

정말로, 이것은 전문성 수준을 설명하기 위해 한 가지 질문에 의존하면서 자신의 입장에서 부조리 작업입니다. 프로그래밍 기술은 낮을 지 모르지만 최근에는 뜬 소리가 나고 인터뷰에 응할 수 있습니다.

고도의 C 전문 지식을 공언 한 후보를 인터뷰 할 때 나는 한 번 화상을 입었습니다. 그는 "C for Dummies"를 읽고 면접 과정을 통해 학사를 마쳤습니다. 나는 자신의 프로그래밍 기술에 집중하고 있지 않았지만 다른 측면을 찾고있었습니다. 그는 BS를 통해 관리했습니다. 그의 이력서 전체가 거짓말 이었어.

요즘에는 변수 범위, 지속성, 포인터 산술, 기본 알고리즘, 구조화 프로그래밍, 객체 지향 프로그래밍, 다형성, 멀티 태스킹 및 프로세스 간 통신에 대한 지식을 갖춘 후보자가 있는지 확인합니다. 나는 그의 디버깅 기술에 대해 퀴즈를 잡을 것이고, 경주 조건, heisenbugs 및 보안 취약점과 같은 세부 사항에 대해서는 언급하지 않을 것이다.

PHP는 key => value maps (배열), C#에서는 이벤트 처리, html에서는 CSS와 같은 자바 프로그래밍을 목표 언어로 경험하게됩니다. 그림을 얻으십시오.

후보자가 인터뷰의 첫 번째 부분을 통과하면 (보통 약 5 분 이내에 알게 됨), 나는 그에게 바인더를 제공하고 20 분 동안 준비하기 위해 커피 룸 (좋은 소파와 탁자)에 그를 보낼 것입니다 선택한 모듈에 대한 코드 검토

내가 부대를 파견 할 때 직원들은 커피 룸을 정상적으로 사용하고, 소개하고, 약 1 분간 대화를하도록 지시받습니다.

내가 찾고있는 것은 업무 (뻔뻔스러운 ADHD), 압박감하에 일하는 능력, 대인 관계에 집중하는 능력입니다.

후보가 돌아 오면 나는 그를 주 발표자로 활동하게하고 정상적인 코드 검토 프로세스를 시작합니다. 그가 코드 검토 프로세스라는 제목의 페이지를 읽는 것입니다. 나는 그가 그 리뷰를 끝내기를 기대하지 않는다. 약 10 분면 충분하다. 사실, 처리되는 메인 라인이 적을수록 더 좋은 이유가 있습니다.

저는 오래 전부터 새로운 고용으로 타지 않았습니다.

0

나는 이것들이 정말로 더 이상 사용되지 않는다고 들었습니다. 적어도 이전만큼 많이 사용하지는 않았지만, 이것에 흥미가있을 것입니다. 며칠 전에 나는 때로는 묻는 "Microsoft 스타일"논리 인터뷰 질문을 다뤄야 만하는 아주 멋진 짧은 책을 집어 들었다. 나는 몇 장으로 구성되어 있으며 기술 분야의 인터뷰 스타일에 대한 간략한 역사를 제공하며 논리 문제가 많으며 뒤에서 답을 완성합니다.

"후지산을 어떻게 옮길까요?"라는 말은 아마존에 아주 싼 가격입니다.

http://www.amazon.com/gp/offer-listing/0316919160/ref=dp_olp_used?ie=UTF8&condition=used

2

사용자 이름은 (대만족)를 코딩 같은 제안하지만 문제는 그렇게하지 제안합니다. 정말로 코딩을 좋아한다면, 그것에 대해 배우는 것을 좋아해야합니다. 당신이 열거 한 그 질문들은 그다지 진보적이지 않습니다.

질문이 나아진 경우에도 면접관은 자신이 지식이 있다고 말하는 분야에서 보유하고있는 지식의 정도를 측정하려고 노력하고 있습니다. 또한 자신의 그룹에 얼마나 잘 적응할 수 있는지 측정하려고합니다.

P. 의미는 없지만 XML을 사용하여 프로그래밍하고 XPath가 무엇인지 모르는 경우에는 조금 뒤떨어져 있습니다.

0

저는 인터뷰 라운드를 완료했습니다. 인터뷰 대상자가 예상하는 결과를 설명하기 위해 3 ~ 4 개의 주식 '간단한'C# 코드 조각을 사용합니다. 각각의 경우 코드 샘플은 기본 C# 기술 (상속, 제네릭, 익명 대리자)을 사용하는 명확하게 형식화 된 코드의 10 줄을 넘지 않습니다. 또한 각각의 경우에 "잡았다"가있을 것입니다 -하지만 다른 사람들이 말했듯이, 나는 이것들을 내뱉지 않습니다. 나는 후보자가 그렇지 않은 것에 직면했을 때 어떻게 반응하는지보고 싶기 때문에 거기에 있습니다. 예상대로 작동합니다.

우리는 최근 인터뷰의 첫 부분을 항해했던 후보자가있었습니다. 인상적인 이력서 (CV)는 분명히 10 명의 팀의 수석 개발자 였고 1.0 이후 C#에서 코드를 개발 해왔다. "Console.WriteLine()"이 무엇을했는지 (심지어 추측을 위험하게 만들지도 모르겠다) 전혀 알지 못했고 작은 익명의 대표자 예제에도 대처할 수 없었습니다.

또 다른 후보자는 스스로 쇠퇴하고 개발자로서 자신을 채점하는 방법을 몰랐습니다. 그녀는 이전 후보자보다 경험이 적었지만 아직 코드 샘플을 통해 항해 했었고, 몇 가지 'gotchas '그러나 올바른 결론을 얻기 위해 올바른 질문을하고 경험에서 진정으로 배웠다. 말할 것도없이, 그녀는 고용되었습니다.

도메인 관련 지식 (XML과 같은)을 주장하는 경우 해당 도메인에 대한 특정 (때로는 어려운) 질문을해야합니다. 수석 ASP.NET 개발자에게 인터뷰하고 HttpModules 또는 HttpHandlers (최근 인터뷰 대상자와 같은)에 대해 알지 못하면 경고음이 울리기 시작합니다.

1

1. .NET 3.5에서 사용하는 XSL 버전은 무엇입니까?

중요하지 않은 것에서 중요한 것을 말할 수 없기 때문에. 나쁜 징조.

2. 요소 X에서 값을 가져 오는 데 사용하는 XPath 명령은 무엇입니까?

XPath에 대해 알고 싶어하기 때문에. 이것은 광범위하게 사용하고 일을 끝내거나 XPath 지식 == 기술이라고 생각하기 때문에 필요할 수 있습니다.

들리는군요 딜런은

(나는 용어 ​​"클래스 위임"과 구글 검색을 들어 본 적이없는 정의를 보여줍니다, 그래서 난 당신이 그냥 "위임"을 의미 가정) C#에서 클래스 대표 있습니다. 대표는 거의 고급 주제로 간주 될 수 없습니다.

4.Does C#은 다중 인터페이스 상속을 허용합니까?

"인터페이스 구현"에 대해 정말로 묻는 경우 가장 기본적인 개념이므로 올바른 질문입니다 (실제로는 아무 의미가 없어도 간단 함). 그들이 "인터페이스 상속 (inheritance)"에 대해 정말로 묻는다면, 그것은 더 많은 퀴즈지만, 여전히 받아 들일 만합니다. 그들이 "인터페이스 상속"이 실제로 무엇인지 물으면 그들에게 보너스 포인트가 주어집니다.

5. 어떻게 C#에서 GAC에 액세스합니까?

이것은 모든 팀이 알고있는 사람이 반드시 있어야하는 종류의 것입니다. 나는 또한 이것들에 대해 아무도 읽지 않기 때문에 연공 서열 (BTW, 나는별로 신경 쓰지 않는다)의 표시라고 말하고 싶다. 알아내는 유일한 방법은 실세계의 문제를 해결하도록 강요받는 것이다.

관련 문제