[python] 면접 후기

ever.d·2021년 11월 16일
0
post-thumbnail

✅ python backend developer position

저와 제 주변 친구들이 실제 면접에서 받았던 python 관련 질문입니다.

⭐ append와 extend 차이

a = [1,2,3]
b = [4,5]

b.append(a) # [1,2,3,[4,5]]
형태 그대로 요소가 추가된다
b.extend(a) # [1,2,3,4,5]
요소를 추가하되, iterable 자료형만 올 수 있다

⭐ list에서 [-1] 하면?

a = [1,2,3]
a[-1] # 3
list[-1]은 list에서 마지막 값을 가져온다

⭐ 인터프리터 언어와 python


python은 명령어가 한 줄씩 실행되는 인터프리터 언어이다. ↔ 컴파일 언어
쉽게 간결한 문법이 장점!

⭐ python framework 사용 경험

  • ⭐ flask나 Django는 어떻게 사용하나?

실제 프로젝트 시 사용 경험은 없으나 pycharm내 django를 설치하여 학습 중입니다.
python framework 중 Django 는 웹 서비스 호스팅용으로 사용하기 적합하며 CRUD를 수행하기 위한 최적의 선택. 다만 빠른 웹 프레임워크는 아니어서 무겁다는 단점이 있습니다.
flask는 micro framework이기에 Django 보다 가볍고, 개발 속도가 매우 빠르다는 장점이 있습니다.
그리고 최근에는 fast API 가 이 둘의 장점을 결합해 놓은 framework라고 들었는데 사용해 본 적은 없습니다.

⭐ 튜플이 무엇인가?

tuple은 변경 불가능한 선형 자료구조를 의미하며 본질적으로 list와 매우 유사한 구조입니다.

⭐ 리스트와 튜플, 딕셔너리의 차이가 무엇인가?

  • 리스트 []
    대괄호 표시 / element의 수정, 삽입, 삭제 ⭕
  • 튜플 ()
    소괄호 표시 / 값의 변경❌ / 순서 ⭕
  • 딕셔너리 {}
    중괄호 표시 / {key1:value1} dictionary의 요소는 한 쌍의 key:value로 표현

⭐ 중복 값을 어떻게 제거하나?

set 을 사용해 제거합니다

a = [1,2,2,3]
set(a) # [1,2,3]

⭐ call of value, call of reference 차이는 무엇이며, 이를 python에서 어떻게 적용하나?

  • call of value : 값에 의한 호출
  • call of reference : 참조(주소)에 의한 호출

python은 passed by assignment 라는 점
passed by assignment 설명 관련 링크

⭐ function에서 def와 lambda의 차이는 무엇인가?

  • 일정 주기 이상 유효해야 하고, 여러 번 재 사용해야 한다면 def로 만들어 처리하는 것이 유용함.

    def add(x,y):
    return x+y
    print(add(1,2)) # 3

  • 간단한 일회성 함수를 만들어 사용하려면 한 줄로 간결하게 구현할 수 있는 lambda 함수가 유용함. 기본적으로 이름이 없는 함수를 만든다. return keyword 사용❌

    add = lambda x,y = x+y
    print(add(1,2)) # 3

⭐ 클래스에서 self를 사용하는 이유?

⭐ pip가 무엇인가?

파이썬 개발 환경에 패키지들을 설치하기 위해서 pip 명령을 자주 사용함.
pip는 파이썬으로 작성된 패키지 라이브러리들을 관리해주는 시스템입니다.

profile
developer / not moving for fortune, only aiming for clear sense of purpose. That's all.

0개의 댓글