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