지노개발일기

I LEARN BY WRITING

Today I Learned

배운 걸 잊지 않으려고 적기 시작했습니다.

아래로

전체 글

성장 중 🌱🌱

[Computer Science 면접 준비] 3. 자료구조와 알고리즘

[Computer Science 면접 준비] 3. 자료구조와 알고리즘

들어가기 전이 질문의 질문도 딱 하나로 정리된다.“같은 데이터인데, 왜 어떤 코드는 빠르고 어떤 코드는 느린가?”그리고 왜 내가 이걸 알아야 하는가?... 이전 챕터에서 이런 말을 했다.“프로그램은 결국 메모리에 올라가서 실행된다.” OK, 그럼 그 데이터를 어떻게 구조화해서 저장하고 탐색할 것인가?“어떻게 구조화하는가”가 바로 자료구조“그걸 어떤 방법으로 처리, 특히 탐색할 것인가”가 알고리즘코딩 테스트를 보는 이유도 결국 이거다.“문제를 효율적으로, 즉 적절한 자료구조와 알고리즘으로 풀 수 있는가?” 그리고 면접에서도 “왜 그 자료구조를 골랐냐”를 자주 묻는다.또! 또! 이 생각을 가지고 가자.자료구조에서도 “무조건 좋은 것”은 없다.조회가 빠르면 좋겠다.삽입이 빠르면 좋겠다.정렬이 쉬우면 좋겠다.메..

[Computer Science 면접 준비] 2. 프로그래밍 언어

[Computer Science 면접 준비] 2. 프로그래밍 언어

사실 프로그래밍 언어에 대한 이야기를 하려면 며칠이 걸릴 수도 있다..하나의 언어에 대해서만 공부해도 일평생을 이해하지 못할 수도..C, Java, Python은 뭐가 다른데?어쩌다 이런 언어들이 나왔는데?그 언어는 어떤 장단점이 있는데?어떤 시스템에 사용되면 좋은데?끝도 없다. 사실 면접에서는 본인이 이력서에 적은 언어에 대한 질문이 자주 나온다.“Java 서버 개발자인데 Python도 쓰셨네요. 두 언어의 차이가 뭔가요?”물론 여기서 언어 하나하나를 딥하게 다루지는 않을 것이다. 다만 “왜 이 언어를 썼어요?”라는 질문에언어의 실행 방식과 특성을 연결해서 말할 수는 있어야 한다.Spring Boot의 Servlet이 어쩌고 하는 프레임워크 이야기 보다,일단 그 아래의 원론적인 언어 이야기를 조금 해보..

[Computer Science 면접 준비] 1. 컴퓨터구조

[Computer Science 면접 준비] 1. 컴퓨터구조

이 챕터의 질문은 딱 하나다.“컴퓨터는 도대체 어떻게 프로그램을 실행하는가?”컴퓨터 과학에서 말하는 Computing, 즉 컴퓨터가 계산을 수행하는 과정을 이해하는 가장 기본적인 질문이기도 하다.일단 전체 흐름부터 아주 단순하게 보면 이렇다.코드 작성 → 파일 저장 → 프로그램 실행→ 메모리 적재 → CPU 실행 → 결과 출력끝이다.물론 이 사이에 운영체제, 가상 메모리, 컴파일러, 캐시, 파일 시스템 등 온갖 개념이 끼어 있다. 하지만 지금은 큰 흐름을 먼저 잡자.디테일은 뒤에서 하나씩 다 나올 거임~1-0. 연산은 어떻게 이루어지는가?많은 사람이 이렇게 알고 넘어간다.CPU는 연산기, RAM은 임시 저장소.틀린 말은 아닌데, 이 정도로 끝내면 프로그램이 실제로 어떻게 실행되는지는 잘 안 잡힌다.Com..

[Computer Science 면접 준비] 0. CS 전체 지도

[Computer Science 면접 준비] 0. CS 전체 지도

들어가기 전Chapter 0에서는 개별 개념을 깊게 파기보다, 일단 전체 그림부터 잡고 시작해보자.CS 공부를 하다 보면 컴퓨터 구조, 운영체제, 네트워크, 자료구조, 데이터베이스처럼 알아야 할 주제가 정말 많다.그런데 각각은 알겠는데, 이런 생각이 들 때가 있음.HTTP? TCP? 프로세스? 스레드? 인덱스?각각은 알겠는데, 그래서 얘네가 실제로 어디서 연결되는 거지?지금 당장 모든 내용을 완벽하게 이해할 필요는 없다.부분부분 모르거나 헷갈리는 게 있어도 괜찮음.나중에 하나씩 배우다 보면 “아 그래서 여기서 나왔던 거구나” 하고 이해될 거임~이번 Chapter 0에서는 앞으로 배울 내용의 큰 지도, 흐름 정도만 잡아두자.디테일은 뒤에서 자세히 배우면 됨.0-1. 사용자가 버튼을 누른 순간, 컴퓨터 내부..

[Computer Science 면접 준비] 개요

[Computer Science 면접 준비] 개요

CS 면접 완전정복CS 면접을 준비하다 보면 자료구조, 운영체제, 네트워크, 데이터베이스처럼 알아야 할 주제가 정말 많습니다.그런데 개별 개념은 공부했는데, 서로 어떻게 연결되는지는 잘 모르겠는 경우가 많습니다.이 시리즈에서는 단순히 CS 개념을 외우는 데서 그치지 않고,컴퓨터와 서비스가 실제로 어떻게 동작하는지 큰 흐름부터 잡아보려고 합니다.컴퓨터는 어떻게 계산할까?작성한 코드는 어떤 과정을 거쳐 실행될까?여러 요청은 어떻게 동시에 처리될까?컴퓨터와 서버는 어떻게 통신할까?데이터는 어디에, 어떤 방식으로 저장될까?실제 서비스는 어떻게 운영될까?처음에는 각각 완전히 다른 주제처럼 보일 수 있습니다.하지만 하나의 서비스가 동작하는 과정을 따라가다 보면, 모든 개념은 자연스럽게 연결됩니다.이 시리즈는 이렇게..

맨 위로

화면

50%
테마