신입 웹개발자 기술면접(자료구조)

Jakezo·2021년 7월 5일
0

기술면접

목록 보기
1/2

자료구조

전산 기본

배열과 링크드 리스트의 차이점에 대해서 설명해주세요.

배열은 인덱스를 가지고 있어서 원하는 데이터를 한번에 접근 가능하기에 속도 빠름,
배열 특성상 삽입/삭제 취약함 모든 데이터 변경해야해서

연결리스트는 인덱스 대신 이전 및 다음 위치 기억, 링크 따라가야만 접근 가능 속도 느림,
삽입/삭제 용이

스택과 큐의 차이점에 대하여 설명하시오

  • 스택 => LIFO 마지막에 넣은것이 첫번째로 나온다 ,삽입 push ,삭제 pop ,스택오버플로우
  • 큐=> FIFO 먼저 들어온것이 먼저 나간다. enQueue ,deQueue ,머리와 꼬리 구분

해시테이블에 대해서 설명해 주세요.

  • 키,값 으로 데이터 저장. 내부적으로 배열을 사용하여 데이터 저장 key값에 해시함수 적용하여 고유 index생성하고 이를 활용하여 저장,검색
  • 저장장소 =버킷,슬롯

트리

그래프와 트리의 차이점에 대해서 설명해 주세요.

  • 그래프: 2개 이상의 경로 가능 노드들 사이에 무방향/방향에서 양방향 경로 가능,

루트 노드 개념x, 사이클 , 셀프 루프,루프,순회 가능 ,네트워크 모델

  • 트리: 그래프의 특이 케이스 "최소 연결 트리"라고도 함 두 정점 사이 반드시 1개의 경로

루프,순회 없음, 한개의 루트 노드만 존재, top-bottom 혹은 bottom-top

  • 계층 모델.

힙 자료구조에 대해 설명해 주세요.

  • 완전 이진 트리의 구조로 가장 작은 수, 가장 큰 수 자주 꺼낼때 유용
  • 최대 힙: 각 노드의 키 값이 그 자식노드의 키값보다 큰 힙
  • 최소 힙: 각 노드의 키 값이 그 자식노드의 키 값보다 작은 힙

프로그래밍

객체지향이 무엇인가요? 절차지향과의 차이점은 뭐죠?

  • 객체지향의 정의로 살펴보면 실제 세계를 모델링하여 소프트웨어 개발 방법.
  • 객체지향과 절차지향은 서로 반대되는 개념이 아니라 초점의 차이일뿐이다.
  • 객체지향도 절차지향과 같이 절차적이나 객체간의 관계에 초점.

데이터 타입과 변수의 차이는 무엇인가요?

  • 데이터 타입은 어떤 형태로 저장 할것인지. 변수는 그 데이터를 저장

컴파일러와 인터프리터의 차이는 무엇인가요?

  • 한꺼번에 번역하는 컴파일러와 한줄씩 읽는 인터프리터 이로 인해 실행속도는 컴파일러가 상대적 빠르나 변역속도는 상대적 느림

  • 인터프리터는 직접 실행하기에 실행파일 생성하지 않아 메모리 사용X

profile
탐험가

0개의 댓글