면접을 위한 CS 전공지식 노트 - 디자인 패턴, 운영체제, 데이터베이스, 자료 구조, 네트워크, 개발자 면접
주홍철 지음 / 길벗 / 2022년 4월
평점 :
장바구니담기









이 책은 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조로 이루어져 있는 CS 전공 지식을 다룬다. 이 책을 만들기까지 총 13명의 개발자가 참여했는데. 배달의 민족, 당근마켓, 쿠팡, 네이버, 삼성전자, 한전, 이스트소프트 등 전문가들의 의견이 모인만큼 책의 완성도는 높다.








자바로 된 코드를 중심으로 알아보는 디자인 패턴은 코딩그라운드에서 쉽게 테스트 할 수 있다. 인스턴스와 연결 모듈 등의 싱글톤 패턴과 팩토리 패턴의 장점과 단점을 설명하고 자바로 구현한다.  옵저버 패턴은 상태변화를 관찰하다가 변화가 있을 때마다 메서드를 통해 변화를 알려주는 패턴이라고 하는데, 일러스트 그림으로 이해를 쉽게 할 수 있도록 설명되어져 있다. 프록시 객체를 구현한 자바스크립트에서의 패턴을 보면 속성이 솔로에서 커플로 되는 것을 미리 코드로 감지할 수 있다. 








프록시 서버는 캐시 안에 정보를 담아둔다. 캐시 안에 있는 정보를 요구하면 빠르게 활용이 가능하기 때문에 트래픽을 줄일 수 있는 장점이 있는데, 이런 프록시 패턴의 경우 nginx서버를 많이 활용한다고 한다. 로고를 보면 cloudFlare와 함께 nginx서버를 많이 활용함을 알 수 있다. 시스템의 콘텐츠 전달을 빠르게 할 수 있는 cloudFlare의 CDN서비스는 사용 전 후의 구조를 그림으로 보여주는데, 공격자가 있어도 cloudFlare를 통해 공격자로부터 보호할 수 있다는 장점이 있다.








개발자 언어는 아주 다양하지만, CHAPTER 1에서는 자바스크립트를 활용한다. 다음 장에서 설명하는 네크워크에서는 TCP/IP의 4계층 모델과 IP주소와 HTTP를 SECRION으로 나누는데, 네트워크 성능 분석 명령어라던지, 전송의 계층, 계층 간의 데이터 송수신 과정과 IP주소를 이용한 위치 정보 등을 알려주고 있어서 기본적인 파악을 위해서 이론적으로도 중요한 부분이었다. 







운영체제인 메모리와 프로세스 스레드 CPU 알고리즘을 설명하는 CHAPTER 3에서는 용어 설명과 함께 C++를 코드로 구현해 보여준다. 데이터 베이스를 설명하는 부분에서는 SQL문과 함께 예제로 배울 수 있는 ERD, 인덱스의 필요성을 다시 반복 설명한다. 개발자들의 언어에서 자바와 C++, SQL문은 기본이다. CS 전공 지식을 위한 입문서라고 하기에는 조금 어렵지 않나라는 생각이 드는 것은 실무에서 뛰고 있는 실력있는 개발자들이 참여한 책이기 때문인 것 같다. 이론과 실무가 적절하게 어우러지는 만큼 기본기가 있는 사람뿐만 아니라. 개발자로 실무에 있는 초기 개발자들에게 특히 더 유용할 책이지 않나 싶다. 구글이나 네이버, 카카오 등에 합격한 저자들의 포트폴리오를 기반으로 한 작성법을 학습할 수 있도록 구성한 부분은 특히 만족스러웠다. 이론과 실무를 확인하고 마지막 장에서 포트폴리오와 인성 면접을 준비하는 팁을 활용하면 좋을 것이다. 





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo