SteadyDrills

[모의 기술 면접 오답노트] 본문

카테고리 없음

[모의 기술 면접 오답노트]

Drills 2024. 8. 8. 23:14

240808

 

면접 질문

[1] 배열과 링크드 리스트의 차이점은?  - 설명은 제대로 했지만 정리가 안 됐던 거 같다.

더보기

배열(array)은 연속된 메모리 공간에 데이터를 저장해 인덱스를 통해 빠르게 접근이 가능합니다. 하지만

이미 고정된 크기가 있기 때문에 변경이 어렵습니다. 링크드 리스트(linked list)는 노드들이 포인터로 연결되어 있어 크기 변경이 용이하지만, 특정 위치에 접근할 때 순차적으로 접근해야 하므로 속도가 느립니다. 

[2] TCP와 UDP의 차이점은? - 설명은 했지만 정확한 용어를 사용하진 못했다.

더보기

TCP (Transmission Control Protocol) 신뢰성을 보장하는 연결 지향형 프로토콜로, 데이터 전송 시 손실이 없도록 보장하지만, 속도가 상대적으로 느립니다. 반면, UDP( User Datagram Protocol)는 연결을 확립하지 않는 비연결형 프로토콜로, 빠른 데이터 전송이 가능하지만 데이터 손실에 대한 보장이 없습니다.

[3] HTTP와 HTTPS의 차이점? - 차이점은 설명드렸으나 SSL에 대해서까지는...

더보기

HTTP는 데이터를 암호화하지 않고 전송하는 프로토콜로, 보안성이 떨어지는 반면, HTTPS는 SSL을 사용해 데이터를 암호화하여 전송하므로, 데이터의 기밀성과 무결성을 보장해 보안성이 더 뛰어납니다.

이때 사용되는 SSL(Secure Sockets Layer)은 인터넷 통신을 암호화하여 데이터를 안전하게 전송하기 위한 보안 프로토콜입니다. 데이터를 암호화하고 통신의 기밀성과 무결성을 보호합니다.

[4] 객체지향 프로그래밍의 4가지 주요 개념은 무엇인가? - 유일하게 설명을 못한.... 갑자기 기억이....

더보기

 

  • 캡슐화: 데이터와 메서드를 하나의 객체로 묶어, 외부에서 접근을 제한하고 객체의 내부 구현을 숨깁니다.
  • 상속: 기존 클래스의 속성과 메서드를 새로운 클래스에서 재사용하고 확장할 수 있게 합니다.(오버 라이)
  • 다형성: 동일한 메서드나 연산이 다양한 객체에서 다르게 동작할 수 있게 하여 유연성을 높입니다.(오버로드)
  • 추상화: 객체의 복잡한 내부 구현을 숨기고, 필요한 기능만을 외부에 노출하여 설계를 단순화합니다.

 

[5] SQL과 NoSQL의 차이는 무엇인가요?- 설명은 했으나 더 깔끔하게 잘할 수 있었는데...라는 아쉬움이 있다.

더보기

SQL은 관계형 데이터베이스를 기반으로 하며, 구조화된 테이블에 데이터를 저장하고, 고정된 스키마와 SQL 언어를 사용해 데이터를 관리합니다. 단점으로는 확장성이 부족하다는 점이 있습니다.

NoSQL은 비관계형 데이터베이스로, 유연한 스키마를 지원하며, 다양한 데이터 모델(키-값, 문서, 그래프 등)을 사용해 대규모 데이터와 비정형 데이터를 효율적으로 처리할 수 있습니다. 또한 확장성이 뛰어납니다.

 

[6] SQL에서 JOIN의 종류와 각각의 차이점은? - 솔직히 질문들 중 가장 잘 대답했던 질문 같다.

더보기

 

JOIN을 크게 구분하자면 INNER JOIN과 OUTER JOIN 이 있습니다.

 

JOIN을 집합에 비유하자면,

INNER JOIN은 교집합으로 두 테이블에서 조건에 맞는 행만 결합합니다. 결과에는 두 테이블 모두에 존재하는 행만 포함됩니다.

 

OUTER JOIN은 세 가지로 분류할 수 있습니다.

LEFT JOIN은 왼쪽 테이블의 모든 행과, 조건에 맞는 오른쪽 테이블의 행을 결합합니다. 오른쪽 테이블에 매칭되는 행이 없으면 NULL 값이 포함됩니다.

RIGHT JOIN은 오른쪽 테이블의 모든 행과, 조건에 맞는 왼쪽 테이블의 행을 결합합니다. 왼쪽 테이블에 매칭되는 행이 없으면 NULL 값이 포함됩니다.

FULL JOIN은 합집합과 같이 두 테이블의 모든 행을 결합합니다. 조건에 맞지 않는 행이 있는 경우, 결합되지 않는 테이블의 열에는 NULL 값이 포함됩니다.

 

 

 

오답노트를 써보니 당시에는 그래도 설명은 했구나 하고 넘어갔던 답변들이 다 미흡해 보인다.

빼먹고 설명한 부분도 많아서 앞으로는 어느 부분이 공부가 덜 되었는지 알 수 있었고, 한편으로는 그래도 조금이라도 설명할 수 있는 질문이어서 다행이었던 거 같다. 튜터님이 말씀해 주신 것처럼 실제 면접에서는 내 경험에 비춰 설명해야 할 경우도 있다고 하셨으니 더 공부를 해야겠다.