<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CS |</title><link>https://inhyuk2000.github.io/tags/cs/</link><atom:link href="https://inhyuk2000.github.io/tags/cs/index.xml" rel="self" type="application/rss+xml"/><description>CS</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 02 Sep 2026 00:00:00 +0900</lastBuildDate><image><url>https://inhyuk2000.github.io/media/icon_hu_eee4a95885829ab2.png</url><title>CS</title><link>https://inhyuk2000.github.io/tags/cs/</link></image><item><title>CS 지식의 정석</title><link>https://inhyuk2000.github.io/blog/study/cs-%EC%A7%80%EC%8B%9D%EC%9D%98-%EC%A0%95%EC%84%9D/</link><pubDate>Wed, 02 Sep 2026 00:00:00 +0900</pubDate><guid>https://inhyuk2000.github.io/blog/study/cs-%EC%A7%80%EC%8B%9D%EC%9D%98-%EC%A0%95%EC%84%9D/</guid><description>
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;CS 강의는 &lt;code&gt;네트워크&lt;/code&gt; - &lt;code&gt;자료구조&lt;/code&gt; - &lt;code&gt;운영체제&lt;/code&gt; - &lt;code&gt;데이터베이스&lt;/code&gt; - &lt;code&gt;개발자 필수지식&lt;/code&gt; 순으로 공부하자.&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-red-100 dark:bg-red-900 border-red-500"
data-callout="caution"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-red-600 dark:text-red-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;강의 내용을 전부 필기하기 보다는, &lt;code&gt;AI Engineer&lt;/code&gt; 직군에 필요한 질문들 위주로 정리하자.&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="네트워크"&gt;네트워크&lt;/h3&gt;
&lt;h4 id="q1-네트워크에-대해-아는-것이-있나요"&gt;Q1. 네트워크에 대해 아는 것이 있나요?&lt;/h4&gt;
&lt;p&gt;네트워크에서는 TCP/IP 기반 통신과 HTTP 통신에 대한 기본적인 내용을 알고 있습니다. TCP와 UDP는 전송 계층 프로토콜입니다. TCP는 연결 지향 방식으로 데이터의 순서와 전달을 보장하기 위해 &lt;code&gt;Sequence Number&lt;/code&gt;, &lt;code&gt;ACK&lt;/code&gt;, &lt;code&gt;재전송&lt;/code&gt; 같은 매커니즘을 사용합니다. 반면에 UDP는 비연결형으로 전달이나 순서를 보장하지 않는 대신 오버헤드가 작다는 특징이 있습니다.
애플리케이션 계층에서는 &lt;code&gt;HTTP&lt;/code&gt;/&lt;code&gt;HTTPS&lt;/code&gt;가 있고, 프로젝트에서 &lt;code&gt;REST API&lt;/code&gt;를 구현하면서 클라이언트와 서버 간 &lt;code&gt;Request&lt;/code&gt;/&lt;code&gt;Response&lt;/code&gt; 방식으로 통신하는 경험을 했습니다.&lt;/p&gt;
&lt;h4 id="q2-osi-7-layer에-대해서는-아시나요"&gt;Q2. `OSI 7 Layer에 대해서는 아시나요?&lt;/h4&gt;
&lt;p&gt;네. &lt;code&gt;OSI 7 Layer&lt;/code&gt;는 네트워크 통신 과정을 7개의 계층으로 나눈 모델입니다. 아래부터 &lt;code&gt;Physical&lt;/code&gt;, &lt;code&gt;DataLink&lt;/code&gt;, &lt;code&gt;Network&lt;/code&gt;, &lt;code&gt;Transport&lt;/code&gt;, &lt;code&gt;Session&lt;/code&gt;, &lt;code&gt;Presentation&lt;/code&gt;, &lt;code&gt;Application&lt;/code&gt; 계층으로 구성됩니다. 대표적으로 &lt;code&gt;Network&lt;/code&gt; 계층인 3계층에서는 &lt;code&gt;IP&lt;/code&gt;를 통해 목적지까지 데이터를 전달하고, &lt;code&gt;Transport&lt;/code&gt; 계층인 4계층에서는 &lt;code&gt;TCP&lt;/code&gt;와 &lt;code&gt;UDP&lt;/code&gt;를 통해 프로세스 간 데이터 전송을 담당합니다. &lt;code&gt;Application&lt;/code&gt; 계층인 7계층에는 &lt;code&gt;HTTP&lt;/code&gt;나 &lt;code&gt;DNS&lt;/code&gt;처럼 애플리케이션에서 사용하는 프로토콜이 있습니다.&lt;/p&gt;
&lt;h4 id="q3-자료구조나-알고리즘에-대해-아는-것이-있나요"&gt;Q3. 자료구조나 알고리즘에 대해 아는 것이 있나요?&lt;/h4&gt;
&lt;p&gt;네. 자료구조는 데이터를 효율적으로 저장하고 접근하기 위한 구조로 알고 있습니다. 대표적으로 &lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Linked List&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Queue&lt;/code&gt;, &lt;code&gt;Hash Table&lt;/code&gt;, &lt;code&gt;Tree&lt;/code&gt;, &lt;code&gt;Graph&lt;/code&gt; 등이 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Python&lt;/code&gt;에서는 &lt;code&gt;List&lt;/code&gt;와 &lt;code&gt;Dictionary&lt;/code&gt;를 많이 사용했습니다. &lt;code&gt;List&lt;/code&gt;는 동적 배열 기반이라 인덱스를 이용한 조회는 &lt;code&gt;O(1)&lt;/code&gt; 이지만, 중간에 데이터를 삽입하거나 삭제하는 경우는 &lt;code&gt;O(n)&lt;/code&gt; 이 걸릴 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Dictionary&lt;/code&gt;는 &lt;code&gt;Hash Table&lt;/code&gt; 기반의 &lt;code&gt;Key-Value&lt;/code&gt; 자료구조이고, 일반적으로 조회, 삽입, 삭제가 평균 &lt;code&gt;O(1)&lt;/code&gt; 입니다.&lt;/p&gt;
&lt;p&gt;알고리즘에서는 정렬, 탐색, &lt;code&gt;BFS&lt;/code&gt;/&lt;code&gt;DFS&lt;/code&gt; 등을 알고 있으며, 문제에 맞는 알고리즘을 선택할 때는 데이터의 특성과 크기, 시간복잡도와 공간복잡도를 고려합니다.&lt;/p&gt;
&lt;h4 id="q4-어떤-알고리즘을-사용하는-것이-더-좋은지-어떻게-판단하나요"&gt;Q4. 어떤 알고리즘을 사용하는 것이 더 좋은지 어떻게 판단하나요?&lt;/h4&gt;
&lt;p&gt;알고리즘을 선택할 때는 먼저 입력 데이터의 크기와 특성을 확인하고, &lt;code&gt;Big-O&lt;/code&gt; 표기법을 통해 시간복잡도와 공간복잡도를 비교합니다.&lt;/p&gt;
&lt;p&gt;예를 들어 데이터가 많다면 &lt;code&gt;O(n^2)&lt;/code&gt; 알고리즘보다 &lt;code&gt;O(nlogn)&lt;/code&gt; 알고리즘이 일반적으로 확장성 측면에서 유리합니다.&lt;/p&gt;
&lt;p&gt;다만 &lt;code&gt;Big-O&lt;/code&gt;가 더 좋다고 해서 항상 최적의 알고리즘인 것은 아니기 때문에, 실제 데이터의 크기나 메모리 사용량, 평균 및 최악의 시간복잡도, 구현 복잡도 등을 함께 고려해서 선택합니다.&lt;/p&gt;</description></item></channel></rss>