~ 2019 유물

기술 면접 답변(31~40)

수빈2 2019. 11. 12. 18:41

31. 디버깅 방법, 비주얼스튜디오 디버깅 인터페이스 이해, 에러났을때 참고하는 사이트

32. 벡터 at(0)과 [0]으로 접근할때의 차이점

33. 백터에 객체를 담는것과 포인터를 담는것의 차이점

34. 맵의 장점

35. STL의 맵과 일반 해쉬맵의 차이

36. 부스터 라이브러리 사용해봤는지

37. 스마트 포인터에 대해설명

38. 공부하면서 기억에 남는 알고리즘

39. DFS/BFS에 대해 구현방법설명

40. DFS와 다익스트라 알고리즘의 차이, 왜 사용하는곳이 다른지

 

31. 디버깅 방법, 비주얼스튜디오 디버깅 인터페이스 이해, 에러났을때 참고하는 사이트

 - 중단점을 찍고 단계별로 확인하면서 내가 생각한 값과 맞는지 비교하며 문제 발생부분을 찾아감

 - 중단점, 한단계씩 실행, 프로시저 단위 실행, 로컬, 자동, 조사식

 - 구글에 검색하는데 주로 스택오버플로우 사이트가 나와서 그곳을 참조함

 

32. 벡터 at(0)과 [0]으로 접근할때의 차이점

 - 두개의 결과는 같고 []는 범위를 점검하지 않아 속도가 더 빠르고 at()은 범위를 점검하므로 더 안전하다.

 

33. 백터에 객체를 담는것과 포인터를 담는것의 차이점

 - 복사생성자 발생 여부, 메모리 해제 여부

 - 복사생성자 : 이미 만들어진 객체를 다른객체에 넣어줄때 호출되는 생성자 constructor(Object &o)

  + 벡터 공간이 가득 찼을때  어떻게 되나요?

   : 현재 할당한 크기의 2배로 재할당됨 , 객체 생성시 reserve로 크게 잡아놓으면 성능향상할 수 있음

  + 벡터와 일반 배열의 메모리 구조의 차는 뭘까요?

   : 배열은 명시한 크기만큼 할당, 벡터는 

 

34. 맵의 장점

 - 많은양의 자료에 유리 -> 적은 양에는 오버헤드 발생

 - 검색속도 빠름

 - key와 value 따로 저장

 - 자동정렬

 

35. STL의 맵과 일반 해쉬맵의 차이

 - MAP : 이진탐색트리/RED-BLACK TREE 사용, 탐색속도 O(log n)보장,  저장된 내부 자료 정렬

 - hash : hash table 사용, 탐색속도 O(1) 이상:key값 분포에 따라 다름, 자료 정렬 x

 

36. 부스트 라이브러리 사용해봤는지

 - c++커뮤니티 및 c++개발자들이 개발하고있는 오픈소스 라이브러리의 집합

 - c++을 위한 멀티스레딩, 정규표현식, 의사 난수 발생, 선형대수 등을 지원하는 유용한 라이브러리

 

37. 스마트 포인터에 대해설명

 - 기존 포인터의 메모리 누수를 해결하기위해 c++11부터 생김

 - unique_ptr : '고유 소유권', 따로 delete 하지 않아도 스택 메모리에서 벗어날때 자동으로 가지고 있던 힙메모리 소멸, std::move로만 소유권을 넘길 수 있음, nullptr로 수동 소멸 가능

 - shared_ptr : '참조 카운팅', 여러개의 개체가 하나의 포인터 공유, 참조 개체가 늘어날때마다 카운팅해서 0이되면 힙에서 메모리 해제, 순환참조시 문제 발생

 - weak_ptr : 순환참조 해결, shared_ptr의 참조가 끊어지면 연관된 weak_ptr도 끊어짐

  + 가비지 콜렉션 : 동적으로 할당한 메모리를 더이상사용하지 않을때 회수 하는것

     자바는 자동, C++은 없기 때문에 스마트포인터를 이용

 

38. 공부하면서 기억에 남는 알고리즘

 

 

39. DFS/BFS에 대해 구현방법설명

- DFS : 깊이 우선 탐색 , BFS : 너비 우선 탐색 

- DFS는 스택 이용해서 구현하고 BFS는 QUEUE 를 이용해서 구현 

 

40. DFS와 다익스트라 알고리즘의 차이, 왜 사용하는곳이 다른지

- 다익스트라 알고리즘 : 최단경로 찾기, 가중치가 있을때, 이전값을 축적해나감(다이나믹 프로그래밍)

- DFS : 깊이 우선 탐색, 가중치가 1이어야함, 이전값을 축적하지 않기 때문

 

'~ 2019 유물' 카테고리의 다른 글

할일  (0) 2019.12.07
기술 면접 답변(21~30)  (0) 2019.11.06
기술 면접 답변(11~20)  (0) 2019.11.04
기술 면접 답변(1~10)  (0) 2019.10.31
기술 면접 질문 모음  (0) 2019.10.30