면접

[C/C++] 면접 준비

O_oz 2023. 11. 2. 10:17
반응형

계속 업데이트 예정

 

면접은 이런 기능, 저런 기능을 써봤다가 아니라, '이러한 문제점을 이러한 방법으로 해결했다' 유저가 아니라 개발자로써의 모습을 보여줘야 함

 

C / C++

  • 임베디드 시스템에서 C/C++을 사용하는 이유는?
    비트 필드 처리 때문에

 

  • C++의 장점은?
    추상화 : 인터페이스, virtual / 상속 받을 때 반드시 작성해야할 함수를 정의
    상속 :
    다형성 (Polymorphism) : 함수들이 다양한 형태를 가질 수 있음 / 상속 → 재정의 → 객체

 

  • static
    정적 변수에는 정적 지역 변수와 정적 전역변수가 존재함
    정적 지역 변수는 선언된 중괄호 내부에서 사용가능하고 정적 전역 변수는 해당 소스 파일에서만 사용할 수 있
    초기화하지 않아도 0으로 초기화
    프로그램이 실행될 때 할당되고 프로그램이 끝날 때 제거되며 매개변수로 사용할 수 없다
    정적 함수도 존재하는데, 이건 해당 소스 파일 안에서만 사용 가능함
    전부 extern 선언이 불가능

 

  • 코드 / 데이터 / 힙 / 스택
    프로그램이 실행되면 운영체제는 프로그램 정보를 메모리에 로드하는데, 할당된 메모리는 코드, 데이터, 힙, 스택 이렇게 4등분되고 각각의 영역에 해당하는 내용이 적재된다
    코드 : 프로그램 코드
    데이터 : 전역 변수, 정적 변수
    힙 : 동적 할당
    스택 : 지역 변수, 매개 변수

 

 

 

 

  • pointer란?
    하드웨어에 직접적으로 접근할 수 있게하는 것
    변수의 주소를 저장할 수 있는 변수

    C와 C++ 포인터의 차이 : C는 엔지니어가 자원에 대한 보호의 역할이 컸음 C++로 넘어오면서 자원이 자동으로 소멸되는 기능이 추가됨 (스마트 포인터)

 

  • void 포인터

void : 형체가 정해져 있지 않은 것

void 포인터는 어떠한 타입이나 가능함

타입 캐스팅 : 다른 타입으로 바꿔주는 것

 

  • 오버로딩과 오버라이딩

오버로딩 : 형태가 같아서 골라서 쓸 수 있음

오버라이딩 : 기능이 하나인데, 기능을 구현하는 실체가 여러개인 것 / 부모 함수가 맘에 안들 때, 내용만 바꿔서 자기 것으로

 

 

반응형

'면접' 카테고리의 다른 글

[Linux BSP] 면접 준비  (0) 2024.03.08