728x90

인터뷰 7

[책] 코딩인터뷰 퀘스천, 내용 정리 모음

. 좋은 책이고 광범위하고 어려운 책이었습니다. 가볍게 기본기 연습삼아 읽어보자 하고 시작했는데 생각보다 내용이 깊고 넓고 어려운 내용들이 많았습니다. 기본기를 잡기에도 부족함이 없어보이는 책입니다. 그도 그럴 것이, 책 초반의 저자의 말에서 이런 구절이 나옵니다. ​ "이 책의 내용은 필요한 모든 주제를 자세하게 다루고 있다" "이 책을 읽고 전부 이해했다면 면접에 도전해도 된다고 확신한다. 이 책은 대학 공학 학사, 석사 준비하는 학생들에게도 매우 유용하다" ​ 프로그래밍 관련 학사/석사 수준의 내용들을 다루고 있다고 하니, 어려워도 이상할 게 없어보입니다. 아무튼 매우 좋은 책이고 나중에 한번은 더 읽어보고 내용을 이해해보려 노력해봐야겠다는 생각도 들게 합니다. 코딩인터뷰 퀘스천"메모" 프로그래밍 ..

코딩인터뷰 퀘스천"메모+후기" 디자인(설계), 마무리

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. ​ - 챕터21 디자인(설계) 디자인 패턴 - 특정 종류의 문제를 해결하기 위함 - 문제를 이해하고 사용할 패턴을 좁힘. - 서로 다른 패턴들 사이의 관계성 찾고, 안정적으로 사용할 패턴들과 변경 사항들 결정. ​ 리팩토링 외부동작 변경 없이 내부 구조 변경. - 여러 디자인패턴 공부로는 좋은 설계자가 되는데 불충분. - 패턴들을 이해하고 장점을 더 활용할 수 있어야 좀 더 이해하기 쉽고 수정하기 편하도록 소프트웨어 내부 구조를 변경. ​ 패턴 - 생성 패턴 : 객체의 생성을 다룸 Factory, Abstract Factory, Builder, Prototype, Singleton - 구조 패턴 : 클래스들이 커다란 구조를 형성하기 위해 결합될 수 있는 방..

코딩인터뷰 퀘스천"메모" 탐욕,분할정복 알고리즘, 동적 계획법, 복잡도 클래스

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. ​ - 챕터17 탐욕 알고리즘 체스 게임에서 의사 결정은 향후의 수에 대해서도 고려. 반면 테니스는 그 순간 최선이라고 생각하는 현재 상태를 기반으로 행동. Greedy Strategy 는 테니스에 적합. ​ 직관적이고 간단하며 이해하기 쉽고 코드화가 용이함. 지역적 최선이 전체 문제의 해라는 보장이 없다. ​ 응용 : 선택정렬, 위상정렬. 힙 정렬. 허프만 부호화 압축 알고리즘. 동전 교환 문제. 환전. 작업 스케쥴 알고리즘. ​ 챕터18 분할 정복 알고리즘 탐욕 전략으로 해결되지 않는 문제들 주 몇몇은 Divide & Conquer 로 해결 가능. 재귀 기반, 문제를 직접 해결할 수 있을 정도로 간단한 문제가 될 때까지 동일한 유형인 둘 이상의 하위 문..

코딩인터뷰 퀘스천"메모" 검색,해싱,문자열 알고리즘

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. ​ - 챕터11 검색 불규칙 선형 검색 : 정렬되지 않아 순서를 모르는 배열. 최악의 경우 모든 요소 검사 O(n) 정렬/규칙 선형 검색 : 정렬된 배열에서 검색. O(n) 이진 검색 : 사전 검색처럼. 인접한 방향으로 추적. O(logn) 심볼 테이블 그리고 해싱 : 13장 심볼 테이블, 해싱 챕터 참조. 문자 검색 알고리즘 : 15장 문자열 알고리즘 챕터 참조. ​ 챕터14 해싱 시간 복잡도 O(1) 로 만들기 위해. 해싱 구성 요소 - 해시 테이블 (Hash Table) - 해시 함수 (Hash Functions) : 해시값 충돌 최소화/균일분포, 쉽고 빠른 연산, 모든 키의 정보로 해싱 적재 인수(Load Factor) : 저장데이터 수 / 해시테이..

코딩인터뷰 퀘스천"메모" 그래프 알고리즘, 정렬

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. ​ - ​ 챕터9 그래프 알고리즘 서울에서 뉴욕까지 가는 가장 빠른 노선은? 같이 객체간의 관계에 대한 정보 자료구조가 그래프. 정점 노드들의 집합 V와 간선(정점의 쌍)들의 집합 E를 사용하여 (V, E)로 나타냄. Directed Edge : 방향성을 가지는 간선 Undirected Edge : 방향을 가지지 않은 간선 Directed Graph Undirected Graph ​ 그래프 어플리케이션 전자 회로 컴포넌트간 관계 표현, 운송 네트워크, 컴퓨터 네트워크, 데이터베이스 ​ 챕터10 정렬 정렬 알고리즘의 분류 기준 비교 횟수(최선은 O(nlogn), 최악은 O(n^2) 복잡도) 도치(값 교환) 횟수, 메모리 사용, 반복, 안정성, 작용성 ​ 비교..

코딩인터뷰 퀘스천"메모" 프로그래밍 기초, 알고리즘, 연결 리스트, 스택

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. 챕터1 프로그래밍 기초 / 12, 13 프로그래밍 테크닉, 기초 문제 -네임 맹글링(Name mangling) C컴파일러는 언더바’_’ 를 붙여 함수나 심볼을 연결. main() 함수는 _main() 심볼명, int counter; 는 _counter 심볼명에 링크. C++ 컴파일러는 함수 오버로딩 메커니즘. 단순 언더바를 붙이지 않고, 링커가 ‘맹글링’을 사용. 네임 맹글링 : C++ 컴파일러가 동일한 이름의 함수, 변수들을 라인 식별자, 인자 크기 등의 확장 정보들을 가진 어떤 명칭(유일 심볼명)으로 변경, 연결하기 위한 메커니즘. ​ 함수명 맹글링 : @ 변수명 맹글링 : @@ ex) int Test(int a, int b) => _1add@8 ex)..

[책] 코딩인터뷰 퀘스천 (2015출간)

. . 정식으로 퇴사한지 1주일 정도 넘었습니다. 회사다닐 때보다 더 여러가지 바쁘게 하고 있는 탓인지 시간이 정말 빠르게 흘러가네요. 벌써 10월 중순이라니. ​ 너무 멀지 않은 미래에 구직활동겸 인터뷰 준비도 다시 해야하고, 이번 기회에 기본기에 대한 것들도 한 번 공부해보자는 생각에 코딩인터뷰 책도 한 권 보기 시작했습니다. 사실 원래 보려고 했던 2017년 출간된 다른 서적을 구하지못해서 구하기 전까지 훑어보자는 생각으로 구해온 책입니다. ​ 책의 저자는 아마존 수석 개발자, 하이데라바드의 Microsoft, IBM 연구소 등에서 근무한 경력이 있고 컴퓨터 과학 석사까지 마친 엘리트 느낌의 개발자입니다. ​ 책의 구성은 마치, 정보처리 계통의 자격증 시험 교과서같은 느낌입니다. 그만큼 정보처리 기..

728x90
반응형