데이터 구조와 알고리즘 소개

데이터 구조란?

데이터 구조는 컴퓨터에서 데이터를 저장하고 조직하는 방법을 의미합니다. 이것은 서로 간에 하나 이상의 특정한 관계가 있는 데이터 요소들의 집합입니다.

알고리즘이란?

알고리즘은 잘 정의된 계산 과정으로, 입력값을 받아 출력값을 생성하는 프로세스입니다. 쉽게 말해, 입력 데이터를 처리하여 출력 결과로 변환하기 위한 일련의 단계들입니다.

면접 질문 예시:

CVTE 면접 질문:
  1. 클래스의 인스턴스화 개수를 어떻게 계산하나요?
    만약 이 클래스를 상속하는 파생 클래스가 있다면, 각 클래스별로 인스턴스화 된 객체 수를 어떻게 계산하나요?
  2. 유니온과 구조체에 대해 알고 있나요?
  3. 시스템이 빅 엔디안인지 리틀 엔디안인지를 어떻게 테스트하나요?
  4. 큐와 스택에 대해 알고 있나요?
  5. 두 개의 스택을 사용하여 큐를 구현하는 방법은 무엇인가요?
  6. 템플릿을 사용해 본 적 있나요?
  7. 두 숫자를 비교하는 템플릿 함수를 작성해 보세요.
  8. 컨테이너를 사용해 본 적 있나요?
  9. 두 링크드 리스트가 교차하는지 판단하는 방법은?
  10. 벡터와 배열의 차이점은 무엇인가요?
텐센트 면접 질문:
  1. 자기소개
  2. STL을 어떻게 학습했나요?
  3. 메모리 누수를 검사하는 방법은?
  4. 프로세스 간 통신 방법, 공유 메모리의 구현 및 발생할 수 있는 문제와 해결 방안은?
  5. TCP가 신뢰성 있는 이유와 그 신뢰성을 유지하는 방법은?
    왜 세 번의 핸드셰이크가 필요한가요?
  6. HTTP 패킷 분할 문제;
  7. 벡터 관련;
  8. 해시맵 관련;
  9. 레드-블랙 트리의 원리와 시간 복잡도 등;
  10. memcpy와 memmove의 차이점;
  11. 클라이언트가 서버에 데이터를 전송할 때 aaa를 보내고 다음으로 bbb를 보내려는데 aaabbb처럼 중첩될 수 있습니다. 이를 어떻게 처리하나요?
  12. 게임의 메일 서버에서 매일 플레이어들이 메일을 생성하고 삭제하는데, 다양한 크기의 대량 데이터를 어떻게 저장하고 메모리로 가져오나요?
바이두 면접 질문:
  1. 5개의 문제를 손으로 작성: 3개의 프로그래밍 문제, 1개의 데이터베이스 문제, 1개의 리눅스 문제
  2. 데이터베이스 문제 두 가지
  3. 알고리즘 이해도, 삽입 정렬 프로그래밍
  4. IP, TCP, ARP에 대해 설명하세요
  5. 커널이란 무엇인가요?
  6. IP 계층의 주요 기능
  7. map과 set의 내부 구조
  8. Bootstrap 사용법, HTML, HTML의 전체 이름
  9. 프레임워크와 라이브러리의 차이점
  10. 코드 최적화
  11. 해시 테이블
  12. 셸 스크립트
  13. 퀵 정렬의 아이디어
  14. 재귀란?
  15. 분할 정복이란? 재귀와의 차이는?
  16. 웹 플랫폼의 구축 방법
  17. 리눅스 명령어
  18. 최신 기술에 대한 이해, 영어 능력, 읽은 영문 문헌

태그: 데이터구조 알고리즘 면접질문 CVTE 텐센트

6월 5일 19:28에 게시됨