파이썬 인터뷰 질문


25

파이썬 프로그래밍과 관련된 인턴쉽을 위해 2 주 이내에 인터뷰를하려고합니다.

누구든지 내가 연마해야 할 영역을 제안 할 수 있습니까? 파이썬 오프닝에 대한 인터뷰에서 일반적으로 묻는 것들을 찾고 있습니다. 내가 이미 1 년 넘게 언어를 해왔다는 사실 외에도, 그들이 내게 물어볼 수있는 것을 인식하지 못합니다.

C 또는 C ++ 인터뷰와 마찬가지로 문자열 역전에서 링크 된 목록 작성에 이르기까지 많은 질문이 있지만 파이썬 인터뷰의 경우 나는 단서가 없습니다.

개인적인 경험이나 제안을 환영합니다.


인턴십이고 이미 1 년 동안 Python으로 프로그래밍했다면 괜찮을 것입니다. Tha에 따르면, 파이썬에 대한 질문의 일반적인 특성은 c ++에서 언급 한 것과 동일하다고 생각합니다.
Robert Harvey

Robert, 감독과지도없이 프로그래밍하는 것이 저를 귀찮게합니다. 어쩌면 일부 지역에서는 부족할 수도 있습니다.

1
인턴쉽이라면 왜 안내를받지 않습니까? 이것이 바로 인턴쉽의 정의입니다. 즉, 내가 일하는 인턴에게는 프로그래밍 수업이 없지만 명확한 작업 지침과 기대가 있습니다. 인턴은 직업에 대해 배우고 경험이있는 사람이 할 때보 다 시간이 조금 더 걸릴 것으로 예상해야합니다.
Robert Harvey

많은 사람들이 학교를 떠날 때 흔히 저지르는 실수를 저지르고 있습니다. 인터뷰는 시험이 아니라 첫 데이트를하는 것과 같습니다. 좋은 면접관은 당신이 언어의 어두운 구석을 알고 있는지 알아 내려고 노력하는 것이 아니라 일반적으로 실제로 그것을 알고 있는지 확인하려고 노력합니다. 좋은 면접관은 일반적인 프로그래밍 지식, 문제 해결 기술, 대인 관계 기술 및 경험에 중점을 둘 것입니다. 누군가 파이썬 인턴 문자열에 대한 구체적인 내용을 묻기 시작하면 잃어 버렸고 인터뷰 방법을 모른다는 것을 의미합니다.
Sean McSomething

답변:


8

다음은 쉬운 것들입니다.

  1. 파이썬 데코레이터 란 무엇이며 어떻게 사용 하시겠습니까?
  2. 파이썬 코드를 어떻게 디버깅합니까?
  3. 각각 다른 버전의 Python 및 타사 라이브러리를 사용하는 많은 프로젝트를 어떻게 설정합니까?
  4. 코드를 작성하는 동안 PEP8을 따르십니까?

7

파이썬 리스트 이해 와 관련된 것은 어떻습니까? 저에게 Dive into Python 에서 읽은 후에 C ++에 대한 큰 판매 포인트 중 하나였습니다 .

"1에서 10까지의 짝수 목록을 작성하는 목록 이해를 작성하십시오."
대답이 다음과 같은 경우 ( 범위 값은 펜스 포스트 오류를 ​​피하십시오) :

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

이를 위해, Dive into Python에 나열된 모든 개념을 이해하면 대부분의 중요한 기능을 다루어야합니다.


13
이것은 비유 론적입니다. Python 2.x에서는 그냥 range(2,11,2)하고 Python 3.x에서는 list(range(2,11,2)).
Chinmay Kanchi

@Cyclops, INNOTECH에서 자신의 직무를 인터뷰해야 할 것 같습니다.
직업

5
@Chinmay Kanchi 좋은 인터뷰 질문이라고 생각하지는 않지만 고급 기능에 대한 대부분의 소개는 독자를 혼동하지 않기 위해 할 수있는 가장 간단한 작업을 수행합니다. 이 특정 문제에 대한 더 간단한 해결책이 있지만 요점은이 특정 문제에 대한 답변이 아닙니다. 요점은 목록 이해 (파이썬에서 물건을 최적화하는 매우 효과적이며 주목할만한 방법)를 사용하는 것이 었습니다.
jsternberg 4

6

파이썬이 참조로 전달됩니까, 값으로 전달하는 것도 좋은 질문입니다.


1
훌륭한 후속 질문은 그들이 어떻게 그것을 보여줄 수 있고 왜 중요한지를 묻는 것입니다.
mcotton

@Ismail-죄송합니다. 왜 좋은 질문입니까?
Theodor

7
@Cervo : 내가 올바르게 이해하면 Python은 C #, Java, Scheme 등이 값을 전달하는 방식과 마찬가지로 값을 전달합니다. 내가 본 유일한 전달 언어는 VB6입니다. 달리 명시되지 않는 한 모든 것이 참조에 의해 전달되는 곳. 당신이 개체를 돌연변이 수 있다는 사실은 패스에 의해 참조 어떤 방식으로하지 않습니다, 당신은 불변의 객체를 가질 수 있다는 사실은 그들이 값에 의해 전달되고 있다는 것을 하나 ... 그렇게 말을 의미하는 것은 아니다 " 대답은 "아무것도 아니다"완전히 틀렸다 . 인터뷰어가 답이 "
아무것도

1
@Cervo : 참고로, 링크에서 100 개 이상의 투표 한 답변조차도 논쟁에 반대합니다. "매개 변수는 값으로 전달됩니다."
Mehrdad

11
정답은 "파라미터는 값으로 전달되는 참조입니다"라고 생각합니다.
user16764

6

내가받은 질문 :

  • 파이썬에서 메타 프로그래밍의 두 가지 방법을 설명하십시오.
  • 길이 란 무엇입니까?
  • GIL이 중요한 이유는 무엇입니까?
  • Unladen Swallow 라는 대체 파이썬 구현이 왜 있습니까?
  • 장고, 철탑 또는 조프? 당신의 위치를 ​​지켜라.

5

나는 그런 경험이 없지만 몇 가지 추측이 있습니다.

  1. (불변성
  2. 퍼스트 클래스 기능 / 클래스
  3. 폐쇄

그것은 파이썬 프로그래머가 알아야 할 것들입니다. 그렇지 않으면 C 프로그래머를 고용 할 수도 있습니다.


3

이 답변 의 목록을 따라갈 것입니다 . 당신이 할 수있는 한 그 목록을 따르는 것을 새로 고치십시오. 당신이 끝날 때까지 그것을 만들 수없는 경우 걱정하지 마십시오.



2

당신의 감각은 무엇입니까, 파이썬을 알고 있는지, 파이썬으로 일을 할 수 있는지, 프로그래밍 할 수 있는지 (파이썬으로) 테스트하려고합니까?

그것들은 매우 다릅니다.

그들이 당신이 파이썬을 알고 있다는 것을 보여주기를 원한다면, 당신은 발전기를 만드는 것과 같은 일을하도록 강요 할 수 있습니다 yield. 수업이 어떻게 진행되는지 설명하십시오. C3 분석법 해결 순서를 설명하십시오. 등등.

그들이 파이썬에서 일을 할 수 있다는 것을 보여주기를 원한다면, 기본 데이터 구조에 능숙해야하며 다양한 종류의 작업을 위해 갈 라이브러리 목록이 있어야합니다. 따라서 사전, 세트, ​​배열에 익숙해야합니다. 마찬가지로 BeautifulSoupHTML 구문 분석 과 같은 것들에 대해 알아야하고 , 웹 개발에 사용될 수있는 프레임 워크에 대해 이야기 할 수 있어야합니다. 그러한 것들을 잘 사용하는 방법을 알아야 할 필요는 없지만, 어디에서해야하는지 알아야합니다. 면접관이 당신에게 문서화 된 것을 주었을 때, 더 많은 것을 알아내는 방법을 실제로 사용할 수 있습니다.

그들이 파이썬으로 프로그래밍 할 수 있음을 보여주기를 원한다면 기본 데이터 구조와 알고리즘을 알아야합니다. 이것은 당신이 묻는 C / C ++ 질문에 훨씬 가깝습니다. 단, 인생을 쉽게 할 수있는 네이티브 데이터 구조를 사용해야한다는 것을 제외하고.

안전을 위해 세 가지 모두를 어느 정도 준비해야합니다. 예를 들어 http://docs.python.org/tutorial/을 읽고 직접 메모하십시오. 바라건대 이미 프로그래밍 방법을 알고 있기를 바랍니다. 그런 다음 임의의 작업을 시도하고 놓친 라이브러리를 사용하도록하십시오. 예를 들어, 일부 CSV를 읽고, 웹 페이지에서 프로그래밍 방식으로 정보를 추출하고, 프레임 워크가있는 작은 웹 사이트를 만드는 등

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