상위 10개 데이터 구조 및 알고리즘 인터뷰 질문 및 답변
게시 됨: 2022-06-16데이터 구조 인터뷰에서 어떤 종류의 질문에 직면하게 될까요? 이러한 유형의 토론에서 면접관은 완벽을 기대하지 않거나 어떤 식으로든 당신을 오도하기를 원하지 않습니다. 그들이 하는 일은 고용에 투자하기 전에 지식을 확인하는 것뿐입니다. 따라서 준비가 잘 되어 있다면 면접관에게 쉽게 깊은 인상을 남기고 채용 가능성을 높일 수 있습니다.
알고리즘 및 데이터 구조 질문은 거의 모든 프로그래밍 작업, 특히 데이터 과학 또는 Java 기반 역할에 대한 인터뷰의 필수 부분입니다. 데이터 구조와 알고리즘에 대한 건전한 지식을 소유하면 후보자가 군중보다 더 빛날 수 있습니다. 다음은 다가오는 인터뷰를 잘 마무리하는 데 도움이 되는 상위 10가지 데이터 구조 및 알고리즘 인터뷰 질문입니다!
세계 최고의 대학에서 데이터 과학 인증 을 받으십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 통해 경력을 빠르게 추적하십시오.
1. 데이터 구조란 무엇을 의미합니까?
데이터 구조는 데이터가 저장되고 구성되는 방식을 나타냅니다. 여기에는 검색 및 액세스를 위해 저장된 데이터를 조작하는 프로세스가 포함됩니다. 또한 데이터 구조는 다른 관계를 설정하고 알고리즘을 형성하여 저장된 데이터의 서로 다른 집합이 어떻게 관련되는지 정의합니다.
2. 데이터 구조의 다른 유형은 무엇입니까?
다음은 데이터 구조의 다섯 가지 하위 유형입니다.
- 목록 : 이전 항목 또는 다음 데이터 항목과 연결된 여러 관련 항목의 모음입니다.
- Arrays : 이것은 모두 동등한 다른 값의 모음입니다.
- 레코드 : 이 데이터 필드 모음으로, 각 필드에는 단일 데이터 프로토타입에서 가져온 데이터가 있습니다.
- 트리 (Tree ) : 이러한 형태의 데이터 구조가 조직화되어 있으며 여기서 데이터는 계층적 프레임워크로 구조화됩니다. 이 데이터 구조에는 삽입, 삭제 및 수정되는 데이터 항목의 고정된 순서가 있습니다.
- 테이블 : 여기에서 데이터는 열과 행으로 저장됩니다. 이는 정보의 변경 또는 결과가 전체 테이블에 미러링되는 레코드와 유사합니다.
3. 선형 데이터 구조란 무엇을 의미합니까? 동일한 몇 가지 예를 나열하십시오.
모든 요소 또는 데이터 기반 항목이 상향 또는 선형 순서로 구조화되면 데이터 구조를 선형이라고 할 수 있습니다. 요소는 비계층적 방법으로 배열되어 모든 데이터 프로토타입에는 시퀀스에 나열된 첫 번째 및 마지막 데이터를 제외하고 선행자와 후계자가 있습니다.
선형 데이터 구조의 유명한 예로 스택, 배열, 문자열, 연결 목록 및 대기열이 있습니다.
미국 확인 - 데이터 과학 프로그램
데이터 과학 및 비즈니스 분석 전문 인증 프로그램 | 데이터 과학 석사 | 데이터 과학 석사 | 데이터 과학 고급 인증 프로그램 |
데이터 과학의 이그 제 큐 티브 PG 프로그램 | 파이썬 프로그래밍 부트캠프 | 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 | 데이터 과학 고급 프로그램 |
4. 데이터 구조가 주로 어떻게 사용될 수 있는지에 대한 예를 들어 주십시오.
데이터 구조는 주로 운영 체제, 수치 분석, AI 처리, 컴파일러 설계, 데이터베이스 관리, 통계 분석, 그래픽 및 저장된 데이터의 시뮬레이션을 이해하는 데 사용됩니다.
5. 파일 구조는 저장 구조와 어떻게 다릅니까?
이 둘의 주요 차이점은 접근 가능한 메모리 영역에 있습니다. 저장 구조는 컴퓨터 시스템의 메모리에 있는 모든 데이터 구조를 의미합니다. 한편, 파일구조는 보조기억장치의 저장구조를 의미한다.
6. 다차원 배열이란 무엇을 의미합니까?
다차원 배열에는 차원이 두 개 이상 있습니다. 이것은 수많은 레이어가 있는 어레이입니다. 2차원 또는 2차원 디스플레이는 가장 일반적으로 발생하는 다차원 배열입니다. 2D 배열은 행렬 또는 열과 행이 있는 테이블이라고도 합니다. 다른 다차원 배열도 유사하게 구조화됩니다.
7. 2D 배열의 요소는 컴퓨터 메모리에 어떤 방식으로 저장됩니까?
2D 배열은 다음과 같은 방식으로 저장됩니다.
Row Major Order : -Row-major order에서 모든 2D 배열의 모든 행은 메모리에 연속적으로 배열됩니다.
Column Major Order: Column -Major Order에서 2D 배열의 모든 열은 메모리에 같은 수준으로 저장됩니다. 행 순서와 유사하게 첫 번째 열도 컴퓨터의 메모리에 완전히 저장되고 두 번째 열과 다음 열이 마지막 열이 완전히 저장될 때까지 저장됩니다.
8. 연결 목록 데이터 구조란 무엇을 의미합니까?
이 질문은 가장 자주 묻는 데이터 구조 및 알고리즘 인터뷰 질문 중 하나입니다.
연결 목록 데이터 구조는 요소가 인접한 메모리 위치에 구조화되지 않은 데이터의 순차적 배열을 갖는 선형 데이터 구조입니다. 대신 이러한 요소는 포인터로 연결되어 체인을 만듭니다. 각 요소는 노드라고 하는 별도의 항목입니다. 이러한 각 노드에는 두 개의 개별 항목이 있습니다.
- 다음 노드에 대한 데이터 필드입니다.
- 연결 리스트의 진입점을 헤드라고 합니다.
- 이러한 목록이 비어 있는 경우 데이터 구조의 헤드는 null 참조로 작동합니다.
연결 목록은 동적 데이터 구조입니다. 여기에서 노드의 수는 고정되어 있지 않으며 이 목록도 필요에 따라 줄어들거나 늘어날 수 있습니다.
9. 연결 목록은 데이터 구조로 선형 또는 비선형으로 간주됩니까?
데이터의 연결 목록은 데이터 구조에서 선형 및 비선형으로 간주됩니다. 그러나 이것은 또한 그들이 사용되는 응용 프로그램에 따라 다릅니다. 액세스 전략에 사용되는 경우 연결 목록은 선형 데이터 구조로 간주됩니다. 단순 데이터 저장에 사용되는 경우 비선형 데이터 구조로 간주됩니다.
10. 다차원 배열에 비해 연결 목록을 사용하는 주요 이점은 무엇입니까?
이것은 또 다른 자주 묻는 알고리즘 및 데이터 구조 인터뷰 질문입니다! 다차원 배열에 대해 연결 목록을 사용하는 주요 이점은 다음과 같습니다.
- 삭제 및 삽입
연결 목록 데이터 구조를 사용할 때 노드를 삽입하고 삭제하는 것이 훨씬 더 쉬운 프로세스입니다. 이는 연결 목록에서 첫 번째 노드의 후속 포인터에 있는 주 주소만 업데이트하기 때문입니다. 반면에 다차원 배열에서 동일한 작업을 수행하는 것은 모든 새로운 요소에 대해 별도의 공간이 필요하고 이동해야 하는 기존 요소를 저장하는 데에도 별도의 공간이 필요하기 때문에 상대적으로 비용이 많이 듭니다.
- 데이터의 동적 구조
연결 목록 구조는 고유한 데이터 구조이므로 기본 크기를 지정해야 할 이유가 없습니다. 메모리를 배포 및 할당 해제하여 런타임에 개발 및 축소할 수 있습니다. 어쨌든 구성 요소의 수는 기본 메모리에 정적으로 배치되기 때문에 전시품의 크기는 제한됩니다.
- 메모리는 낭비되지 않습니다
연결 목록의 크기는 필요에 따라 줄어들거나 커질 수 있으므로 메모리가 낭비되지 않습니다. 또한 연결 목록에서는 필요할 때 메모리가 할당되므로 메모리 낭비가 최소화됩니다. 그러나 다차원 배열의 경우 상당한 메모리 낭비가 있습니다.
- 구현
대기열이나 스택과 같은 연결 목록의 데이터 구조는 배열이 아닌 연결 목록을 사용하여 쉽게 구현됩니다.
결론
이러한 데이터 구조 인터뷰 질문은 인터뷰에서 질문할 수 있는 질문 유형에 대한 통찰력을 제공해야 합니다. 위에서 언급한 많은 데이터는 인터뷰 질문을 인터뷰의 확실한 항목으로 구성합니다. 따라서 데이터 구조와 알고리즘 지식을 꼼꼼히 살펴보십시오. 이러한 기본 데이터 구조와 배열 또는 연결 목록에서 데이터 요소에 액세스하는 방법에 대한 포괄적인 이해가 있다면 바로 사용할 수 있습니다!
데이터 구조를 마스터하는 가장 좋은 방법은 데이터 과학 과정에 참여하는 것입니다. 리버풀 John Moores University 의 upGrad 데이터 과학 석사는 기술 향상 을 위한 탁월한 선택입니다.
미국에서 적격한 기술 후보자가 되고 싶다면 이 과정이 도움이 될 것입니다. 이 잘 구성된 온라인 커리큘럼은 20개월에 걸쳐 500시간 이상의 교육 콘텐츠를 제공합니다. 학생들은 업계 전문가와 그룹 멘토링 세션을 즐기고 적시에 의심을 해결할 수 있습니다. 또한 실제 기술을 향상시키기 위해 25개 이상의 산업 프로젝트에 참여합니다.
데이터 구조와 알고리즘에 대한 지식이 필요한 작업은 무엇입니까?
소프트웨어 엔지니어링, 클라우드 설계자, 소셜 미디어 마케팅 전문가와 같은 직업은 데이터 구조와 알고리즘에 대한 지식이 필요합니다.
데이터 구조 및 알고리즘에 가장 적합한 언어는 무엇입니까?
대부분의 경쟁적인 프로그래머는 DSA 기반 작업에서 가장 선호하는 언어로 C++를 사용합니다.
데이터 구조에서 재귀란 무엇을 의미합니까?
재귀는 데이터 함수가 특정 문제를 해결하기 위해 간접적으로 또는 직접적으로 자신을 호출하는 프로세스입니다. 예: '가장 가까운 주유소까지 어떻게 가나요?' 이러한 재귀 과정을 수행하는 함수를 재귀 함수라고 합니다. 재귀 알고리즘을 사용하여 쉽게 해결할 수 있는 지침 제공, 작업 단계 설명 등과 같은 몇 가지 특정 문제가 있습니다.