[기술면접] 기술 면접 예상 - 1

남순식·2023년 12월 8일
0

1.Python 슬라이싱에 대해 간단히 설명해주세요

Note:

  • 파이썬에서 슬라이싱은 시퀀스 데이터 타입(list, tuple, str)의 일부를 추출하는 방법입니다.
    슬라이싱은 인덱스를 사용하여 원하는 범위의 요소를 선택하는데 유용합니다.
    일반적으로
    seq[start_index:end_index:step]으로 사용합니다.
    이러한 방법으로 데이터를 유연하게 추출하고 조작할 수 있도록 합니다.
    • seq[start_index : end_index : step]
  • 간단한 예시
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[2:7]
# [2, 3, 4, 5, 6]

subset = my_list[:9]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

subset = my_list[0:7:2]
# [0, 2, 4, 6]

subset = my_list[::2]
# [0, 2, 4, 6, 8]

subset = my_list[::-1]
# [9, 8, 7, 6, 5, 4, 3, 2, 1]

2. Python의 변수 할당 개념을 다른 언어와 비교해 설명해주세요

Note:

  • java에서는 변수 앞에 자료형을 명시해야하며 이를 정적타입이라고 합니다. 변수 생성과 동시에 자료형이 결정되며 이후 자료형을 변경할 수 없습니다.
    그에 반해 python 변수 할당은 동적 타입입니다. 코드에 의해 변수의 자료형이 결정 된다는 차이점이 있습니다.
int a;
a = 1; // 가능
// a = "1"; 불가 error 발생
a = 1 # (int type)
a = "1" # (str type)
a = [1, 2, 3] # (list type) 모두 가능

3. 실수형(float) 계산 시 오차가 발생하는 이유에 대해 간단히 설명해 주세요

Note:

  • python의 float 자료형은 64비트(8바이트)를 사용해 표현합니다.
    맨 앞비트는 +, - (양, 음)을 나타내고 이후 11비트는 정수를 나타냅니다.
    나머지 52비트가 소수를 나타냅니다.
    소수가 52비트로 정확히 표현되지 않을 때 52비트를 모두 사용하여 근사치를 이용할 수 있습니다.
    따라서, 정확한 값이 아닌 근사치를 이용하기 때문에 연산시 오차가 발생합니다.
profile
응집력있는 시간을 보내기 위한 블로그

0개의 댓글