본문 바로가기

전체 글

(28)
신입 개발자 기술면접 : 자료구조 01 이론 [자료구조 02 코드] 포스트에서는 C++ 언어로 자료구조 관련 문제를 풀이해 봅니다. 🗣️ 배열과 연결 리스트의 차이점이 뭔지 아는대로 설명해주실래요? 배열과 연결 리스트는 데이터를 저장하기 위한 자료구조로, 데이터 저장 방식에 큰 차이가 있습니다. 배열은 연속된 메모리 공간에 데이터를 순차적으로 미리 할당된 크기만큼 저장합니다. 그래서 특정 인덱스의 데이터에 즉시 접근 (random access `O(1)`) 할 수 있어서 읽는 속도가 빠릅니다. 하지만 데이터 삭제 또는 삽입 시 요소들의 인덱스를 수정해야 해서 비교적 시간이 오래 걸립니다. 반면에 연결리스트는 노드를 이용해 메모리 공간에 데이터를 불연속적으로 저장하여 논리적 연속성을 보장합니다. 각 노드는 데이터와 다음 노드의 주소 값을 저장하고 있..
신입 개발자 기술면접 : 네트워크 01 🗣️ IP, Domain 이 각각 뭔가요? IP는 Internet Protocol의 약어로, 인터넷 망을 통해 패킷을 전달하는 프로토콜입니다. 비연결성과 비신뢰성의 특징을 가지는데요, 비연결성은 패킷을 보내는 길을 정하지 않는 것이고 비신뢰성은 패킷의 완전한 전달을 보장하지 않는 것입니다. 또한 IP 는 인터넷에 연결되어 있는 모든 장치를 식별할 수 있도록 부여되는 고유의 주소이며, 이에 문자로 주소를 부여해 이름을 단 것을 도메인이라고 합니다. 🗣️ DNS란 무엇인가요? Domain Name Server의 약어로, 문자로 표현한 도메인 주소와 IP주소 사이 변환을 담당하는 시스템 혹은 서버를 의미합니다. DNS는 다음과 같은 순서로 동작하는데요, 첫번째로 URL을 입력하면 ISP가 관리하는 DNS해석기..
신입 개발자 기술면접 : 데이터베이스 01 🗣️ DBMS란? DBMS (Database Management Sysyem, 데이터베이스 관리 시스템) 는 데이터베이스 내 데이터에 접근하도록 도와주는 시스템입니다. DBMS는 크게 질의처리기와 저장시스템으로 이루어져 있습니다. DB를 사용하지 않고, OS에 종속적인 파일 시스템을 사용하면 프로그램의 확장성을 해치고 검색 효율이 크게 떨어집니다. 또한 파일 시스템의 데이터 중복, 비일관성, 검색 등의 문제를 해결할 수 있습니다. 널리 사용되는 DBMS 중 일부는 MySql, Oracle 등입니다. 🗣️ RDBMS란? 관계형 데이터베이스 관리 시스템 (RDBMS)은 데이터베이스에 별도의 테이블에 저장된 관계형 데이터 모델을 기반으로하며 공통 열의 사용과 관련이 있습니다. SQL (Structured Qu..
신입 개발자 기술면접 : 운영체제 🔮 운영체제란 무엇인가요? 운영체제란 하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어입니다. 컴퓨터 시스템의 자원 (예를 들어 CPU 시간, 운영되기 위해 필요한 주소 공간, 코드 데이터 스택 힙의 구조로 되어 있는 독립된 메모리 영역 등) 을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공합니다. 🔮 시스템 콜이란 무엇인가요? 시스템 콜이란 커널 모드와 사용자 모드 간에 필요한 정보를 주고받기 위해 호출하는 함수입니다. OS는 사용자가 하드웨어의 주요 자원에 쉽게 접근할 수 없게 커널 모드와 사용자 모드로 구분합니다. 그래서 프로세스에서 자원에 접근해 작업을 처리해야 할 때는 시스템 콜로 필요한 요청을 하고 그에 대한 결과 값을 돌려받게 됩니다. 대표적인 예로..