• 파이썬 면접 질문 리스트 #1

    2021. 6. 24.

    by. Jacob Lee

    728x90

     


     

    Python Interview Questions

     

    1. 파이썬은 무엇이며 어떻게 사용되고 있는가?

    파이썬은 널리 사용되는, 범용 & 고급 프로그래밍 언어이다. 귀도 반 로섬이라는 개발자로부터 1991년 발명되었고, 더 나아가 파이썬 소프트웨어 재단으로부터 발전되었다. 파이썬은 코드 가독성과 프로그래머들의 구상을 단 몇줄의 코드로 작성하도록 하는 문법을 강조하며 설계되었다.

     

    파이썬 사용 사례

    • 시스템 스크립팅
    • 웹 개발
    • 게임 개발
    • 소프트웨어 개발
    • 복잡한 수학
    • 데이터 분석

     

    2. 파이썬을 언어로 사용함에 있어 누릴 수 있는 혜택은 무엇인가?

    파이썬의 혜택은 다음과 같다.

    • 객체지향 프로그래밍
    • 고급 언어
    • 동적 언어
    • 방대한 라이브러리 지원
    • 써드파티 모듈의 존재
    • 오픈소스이자 커뮤니티 개발
    • 기종간 사용할 수 있고 상호교환적
    • 모든 운영체제에서 사용 가능

     

    3. 어떤 분류 처리방식이 파이썬 sort() & sorted() 함수에서 사용되는가?

    파이썬에서는 Tim Sort라고 불리는 알고리즘을 사용한다. Tim Sort 방식은 최악의 상황일 때가 0인(N log N)매우 안정적인 분류 방식이다. Tim Sort는 하이브리드 정렬 알고리즘으로써, 병합정렬과 삽입정렬로 부터 파생되었고, 많은 종류의 실제 세계 데이터에서 잘 작동하도록 설계되었다.

     

    4. 리스트와 튜플의 차이점은 무엇인가?

    리스트

    • 리스트는 가변 객체(데이터 타입)이다.
    • 리스트가 더 많은 메모리를 소모한다.
    • 리스트가 삽입과 삭제같은 프로그래밍 작업을 수행하는데 더 낫다.
    • 이터레이션(반복)을 사용함으로써 시간을 소모한다.

     

    튜플

    • 튜플은 불변 객체(데이터 타입)이다.
    • 튜플은 리스트보다 더 적은 메모리를 소모한다.
    • 튜플 데이터타입이 요소들에 접근하기에 더 적절하다.
    • 이터레이션(반복) 사용이 더 빠르다.

     

    5. 파이썬에서 메모리 관리는 어떻게 이루어지는가?

    파이썬은 메모리를 관리하기위해 숨겨진 힙 스페이스(heap space)를 사용한다. 모든 객체와 자료 구조들이 이 곳에 저장된다. 인터프리터가 스페이스를 관리하기 때문에 심지어 프로그래머 조차도 이 공간에 대해 접근하지 못한다. 더 나아가, 파이썬은 사용되지 않은 메모리를 재활용하고 메모리를 지워 힙 스페이스에서 사용 가능케 하는 빌트인 가비지 컬렉터(garbage collector)를 소유하고 있다.

     

    6. PEP 8이란 무엇인가?

    PEP 8은 파이썬 스타일 가이드이다. PEP 8은 문서로써 파이썬 코드를 잘 작성하기 위한 가이드라인과 모범 사례들을 제공한다. 즉, 읽기 쉽고 눈에 보기 좋은 코딩 스타일을 장려한다.

     

    7. 파이썬은 컴파일 언어인가 인터프리터 언어인가?

    사실 파이썬은 부분적으로 컴파일 언어이며 인터프리터 언어이다. .py로 작성된 파이썬 코드는 제일 먼저 바이트코드로 컴파일 되고, 바이트코드는 인터프리터를 통해 실행된다. 즉 파이썬의 첫 스텝은 컴파일 언어가 맞지만 하나의 스텝일 뿐이고, 주로 인터프리터 언어라고 여겨진다.

     

    8. 파이썬을 사용하여 어떻게 파일을 지우는가?

    다음과 같이 접근하여 파일을 지울 수 있다.

    • os.remove()
    • os.unlink()

     

    9. 데코레이터란?

    데코레이터는 파이썬에서 강력하고 유용한 파이썬 툴이다. 데코레이터를 사용해서 함수를 감싸(or 장식)줌으로써, 함수를 영구적으로 수정하지 않고 함수의 행위를 확장할 수 있게된다. 

     

    10.  가변 객체와 불변 객체의 차이점은 무엇인가?

    가변 객체는 수정될 수가 있다. 즉, 런타임 내에 변화할 수 있다는 것이다. 리스트, 딕셔너리 등이 있다.

    불변 객체는 수정 될 수 없다. 즉, 런타임 내에 변화할 수 없다. 스트링, 튜플 등이 있다.

     

     

    파이썬 면접 질문 리스트 #2

    파이썬 면접 질문 리스트 #1 Python Interview Questions 1. 파이썬은 무엇이며 어떻게 사용되고 있는가? 파이썬은 널리 사용되는, 범용 & 고급 프로그래밍 언어이다. 귀도 반 로섬이라는 개발자로부터 199

    dev-jacob.tistory.com

     

    Reference

    - Top 40 Python Interview Questions & Answers

    728x90

    'Developer > Interview' 카테고리의 다른 글

    파이썬 면접 질문 리스트 #4  (1) 2021.07.08
    파이썬 면접 질문 리스트 #3  (0) 2021.07.01
    파이썬 면접 질문 리스트 #2  (0) 2021.06.24

    댓글