본문 바로가기

컴퓨터 지식64

[IT 면접대비] 개발자 기술면접 대비 🖥️/ 2️⃣ - 운영체제 (2) 가상 메모리란 무엇인가요? 메모리는 한정적인데 프로세스 용량이라던가, 프로세스의 수가 늘어나면 다중 프로그래밍이 힘들어질 수 있습니다. 그럴 때를 대비해서, 프로세스의 데이터 전체가 메모리에 올라가지 않더라도, 가상의 주소공간을 이용해서 프로세스를 유지할 수 있게끔 해주는 것을 의미합니다. 가상메모리와 스왑(swap) 과는 다르다. 더 많은 프로세스를 동시에 실행이 가능해진다. 자동적으로 CPU 이용률 또한 높아진다. 페이징이란 무엇인가요? 프로그램은 실제 물리적 메모리를 직접적으로 이용하지 않습니다. 가상 메모리를 이용하게 되고, 그 가상메모리가 결국에는 물리적 메모리에 접근해서 메모리를 이용하게 되는데, 이 때 가상메모리를 일정한 크기의 블록으로 나누어 관리하는 것이 Paging , 물리적 메모리를 .. 2021. 3. 2.
[IT 면접대비] 개발자 기술면접 대비 🖥️/ - 2️⃣ 운영체제 (1) 프로세스와 쓰레드에 대해 설명해주세요. 프로세스는 프로그램이 실행되서 메모리에 적재되어있고, CPU 의 할당을 받을 수 있는 상태를 의미합니다. 운영체제로 부터 Code, Data, Stack, Heap 을 할당받은 상태입니다. 쓰레드는 이 프로세스의 실행 단위라고 할 수 있으며, 프로세스 내부 자원을 공유하면서, 하나의 프로세스를 좀 더 효율적이게 실행시키는 멀티쓰레딩이 가능하게 됩니다. 구체적으로 말씀드리자면, 각각의 쓰레드는 프로세스의 Code, Data, Heap 은 공유하지만 고유의 Thread ID, Stack, 레지스터, PC 를 가지게 되고 독립적인 작업을 수행하게 됩니다. - 당연히 잘 알고 있다고 생각했는데, 막상 면접에서 이 질문이 들어오니 체계적으로 설명을 못하더라구요... 방심했던.. 2021. 3. 1.
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 1️⃣ - 공통 직군 (2) TDD 란 무엇일까요? Test Driven Development 의 약자로, 개발을 하기 앞서서 테스트 코드를 먼저 작성하고, 그 다음에 기능을 하나하나 추가시켜가면서 테스트 검증도 병행하는 개발 방식을 말합니다. 장단점 장점 리팩토링에 수월하다. 오작동이 어느정도 방지가 되고, 코드의 퀄리티가 늘어난다. 단점 상황에 따라 생산성이 하락될 수 있다. 모든 케이스에 해당하는 테스트 코드를 짠다는것은 불가능하다. 함수형 프로그래밍이란 무엇인가요? 저는 프로그래밍 언어 -> 컴파일러로 이어지는 학부 수업 을 통해 Ocaml을 기반으로 하는 함수형 프로그래밍 언어를 접했는데요, 객체지향형 프로그래밍이랑은 다르게 함수 위주로 프로그래밍을 짜는 것을 의미합니다. 객체지향형 프로그래밍의 단점으로는 객체가 상태를 갖.. 2021. 3. 1.
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 1️⃣ - 공통 직군 (1) 들어가기 앞서 기술면접의 중요성 코딩테스트 없이 사람을 뽑는 회사는 있어도, 면접 없이 뽑는 회사는 거의 없더군요! 그리고 개발 직군에서는 인성적인 부분보다는 얼마나 전문적인가, 기술적인 base 가 얼마나 되는가에 대한 평가가 더 주가 됩니다. 취업, 혹은 이직을 준비하고 계신 분들에게 기술면접에 대한 대비는 필수 라고 생각합니다. 아니면 적어도 평소에 CS 지식에 대한 공부는 꾸준히 이루어져야겠죠. 기술면접을 준비하는 마인드 제 생각을 조금 말해보자면, 기술면접을 준비한다는 것은 사실 크게 특별한 것이 아닙니다. 기술 면접에서 물어보는 질문들은 대부분 컴퓨터 사이언스 관련해서 기반이 되는 기본 지식들이고, 추후 실무, 혹은 협업을 할 때에 필수적인 지식이죠. 결국 면접을 떠나서 이런 부분은 알고 있어.. 2021. 3. 1.
[도서리뷰📖]머신 러닝을 다루는 기술 with 파이썬, 사이킷런 ✨ 별점 : ★★★★☆ '딱딱함은 질색, 코드로 익히면서 배우는 개념' 저는 블로그 내용을 봐도 알 수 있듯이, 머신러닝에 대한 견문이 전혀 없는 상태에서 이 책을 접하게 되었습니다. 학부 수업에서 들었던 머신러닝에 대한 복잡한 수식과 머신러닝 특유의 '학습'이라는 낯선 개념들은 거부감을 엄청 주었고, 자연스레 멀리하게 되었습니다. 그런데 이번에 좋은 기회로 카카오 추천팀에서 일하게 되었습니다. 당연히 웹 쪽만 주구장창 공부했고, 머신러닝, 데이터 처리에 대한 사전지식이라고는 학부 수업때 꼴랑 한두번 해본게 다였던 저는, 발등에 불이 떨어지는 심정으로 이것저것 알아보기 시작했습니다. 그 첫 번째 시도가 이 책이었죠! 그런데 저는 이 책이 딱 저같은 부류의 사람들과 잘 맞는 책이라는 것을 단번에 느꼈습니다. .. 2021. 1. 10.
[Docker] docker 기본 명령어 모음 🐳 Docker 명령어 모음 docker create 컨테이너 생성 => 컨테이너 아이디가 나온다 docker start 컨테이너 실행 -a 라는 옵션을 줘야한다. (attatch) (화면에 결과물을 출력) docker stop 컨테이너 중지 → 살짝 늦게 중지된다. gracefully 하게 stop 하던 작업들은 마무리 하고 컨테이너를 중지 docker kill 컨테이너 중지 실행하던 작업을 무시하고 바로 컨테이너를 중지 docker run 컨테이너 생성 및 시작 docker run = docker create + docker start docker rm 컨테이너 삭제 모든 컨테이너 삭제 ? ⇒ docker rm 'docker ps -a -q' 이미지 삭제? ⇒ docker rmi 모든 이미지, 컨테이너,.. 2020. 12. 24.