프로그래밍_전산_기타

장성우·2022년 3월 2일
0

CS 면접

목록 보기
2/2
post-custom-banner

데이터 타입과 변수의 차이는 무엇인가요?

변수란 값이 위치하고 있는 메모리 주소(Memory address)에 접근하기 위해 사람이 이해할 수 있는 언어로 명명한 식별자(identifier)

메모리에 값을 저장하기 위해서는 먼저 메모리 공간을 확보해야 할 메모리의 크기(byte
)를 알아야한다. 이는 값의 종류에 따라 확보해야 할 메모리의 크기가 다르기 때문이다. 이때 값의 종류, 즉 데이터의 종류를 데이터 타입(Data Type)이라 한다.

함수형 프로그래밍에 대해서 설명해 주세요.

함수형 프로그래밍은 선언형 프로그래밍의 한 종류로 순수 함수들을 조합하여 프로그램을 만들어가는 방식입니다.

#순수함수

  1. 동일한 입력에 대해서 항상 같은 값을 반환할것
  2. 함수의 실행이 함수 외부에 영향을 미치지 않을것

불변성

  1. 원본 데이터를 변경하지 않고, 필요한 경우 복사본을 이용한는 성질

함수형 프로그래밍의 장단점

장점

  1. 높은 수준의 추상화
  2. 함수 단위의 재사용이 수월하다
  3. 불변성을 지향하기 때문에 동작을 예측하기 쉽다.

단점

  1. 순수함수를 구현하기 위해서는 코드의 가독성이 떨어질 수 있다.
  2. 반복문을 위해서 재귀문을 사용하기 때문에 무한 루프에 빠지기 쉽다.
  3. 순수함수의 사용은 쉽지만 조합은 어렵다.

AOP란 무엇인가요?

Aspect Oriented Programming의 약자로 Spring에서는 다음과 같이 설명하고 있다.

AOP는 프로그램 구조에 대해서 새로운 시점을 제시하여 OOP를 보완한다.
...
Aspect 개념을 통해서 트랜잭션 관리와 같이 여러 타입과 객체들에 퍼져있는 기능들을 모듈화할 수 있다.

AOP를 통해서 공통된 기능들을 모듈화 하고 재사용 및 유지보수를 향상시킬 수 있다.

컴파일러와 인터프리터의 차이는 무엇인가요?

인터프리터는 코드를 명령어 단위로 기계어로 변환하고 실행합니다. 그래서 컴파일러보다 디버깅이 쉽습니다.

컴파일러는 기계어를 실행하기 전에 모든 코드를 기계어로 변환합니다. 컴파일로 만들어진 프로그램은 인터프리터보다 비교적 빠르게 작동합니다.

1급 객체에 대해서 설명해 주세요.

1급 객체란 사용에 있어서 제한이 없는 객체를 의미한다. 1급 객체는 다음과 같은 권한과 자유를 가진다.

  • 변수에 저장 가능하다.
  • 매개변수로 전달이 가능하다.
  • 리턴 값으로 반환이 가능하다.
  • 데이터 구조체에 포함될 수 있다.

면접 질문 참고

기술 면접 질문 모음 by hygoogi

Reference

profile
성장하는 개발자가 되자.
post-custom-banner

0개의 댓글