책너두 (코딩 인터뷰 완전분석) 31일차 (~245p, 12.3, 12.5, 13.5)

12. C와 C++

  • 좋은 면접관은 지원자에게 익숙하지 않은 언어로 코딩하라고 요구하지 않음.
  • 만약 C++로 코딩해 보라는 요구를 받았다면, 이력서에 C++를 적어놨기 때문임.
  • API를 모두 기억하지 못해도 괜찮지만, 관련된 문제를 쉽게 풀 수 있도록 기본적인 C++ 문법은 공부해 둘 것을 추천함.

클래스와 상속

  • C++ 클래스는 다른 객체 지향 언어의 클래스와 비슷한 특성을 가짐.
  • C++에서 모든 데이터 멤버와 메서드는 기본적으로 private 임.
    • public 키워드를 사용하여 그 값을 변경할 수 있음.

생성자와 소멸자

  • 생성자 : 객체가 생성되면 자동으로 호출됨.
  • 소멸자 : 객체가 소멸될 때 자동으로 호출됨.

기본값

  • 함수 선언 시, 기본값(default values)을 명시할 수 있음.
  • 반드시 함수 선언의 우측 부분에 놓아야 함.

포인터와 참조

  • 포인터는 변수의 주소를 담는 변수임.

참조(reference)

  • 기존에 존재하는 객체에 붙는 또 다른 이름임.
    • 별도의 메모리를 갖지 않음.

면접 문제

12.3 해시테이블 vs STL map

  • 해시테이블과 STL, map을 비교하고 장단점을 노하라. 해시테이블은 어떻게 구현되는가? 입력의 개수가 적다면, 해시테이블 대신 어떤 자료구조를 활용할 수 있겠는가?

12.5 얕은 복사 vs. 깊은 복사

  • 얕은 복사(shallow copy)와 깊은 복사(deep copy)는 어떤 차이가 있는가? 이 각각을 어떻게 상요할 것인지 설명하라.

댓글

Designed by JB FACTORY