Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions 紀錄/48 2022 0906 CTCI 1st.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# LeetCode 讀書會第 48 次聚會 2022/09/06

## leetcode 讀書會通知

1. 項目: 第 48 次聚會
2. 目的: 線上一起寫題目, 由有想法的人帶領, 先解題, 再看該題有趣的解法
3. 時間: 09/06 (二) 20:00 ~ 21:00
4. 地點: google meet 線上 (前 10 分鐘預備鏈接)
5. 項目: Crack the coding interview I, II
6. 共筆: GitHub https://github.com/programmingbookclub/Leetcode-club

## **The Interview Process**
This section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.

* Why?
* How Questions are Selected
* It's All Relative
* Frequently Asked Questions


## **Behind the Scenes**
Learn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Palantir, Microsoft, Apple and Facebook.

* The Microsoft Interview
* The Amazon Interview
* The Google Interview
* The Apple Interview
* The Facebook Interview
* The Palantir Interview
## **Special Situations** (skip)
This section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.

* Experienced Candidates
* Testers and SDETs
* Program and Product Managers
* Dev Leads and Managers
* Start-Ups
* Acquisitions and Acquihires
* For Interviewers


## **Before the Interview** (Skip)
In order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.

* Getting the Right Experience
* Building a Network
* Preparation Map


## **Behavioral Preparation** (Skip)
Although most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.

* Interview Preparation Grid
* Know Your Technical Projects
* Responding to Behavioral Projects
* So, tell me about yourself

## **Big O** (Skip)
This is a critical topic for an interview. In order to optimize your solution, you need to be able to discuss the efficiency of your algorithm.

* An Analogy
* Time Complexity
* Space Complexity
* Drop the Constants
* Drop the Non-Dominant Terms
* Multi-Part Algorithms: Add vs. Multiply
* Amortized Time
* Log N Runtimes
* Recursive Runtimes
* Examples and Exercises**

## **Technical Questions (+ 5 Algorithm Approaches)**
This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.

* How to Prepare
* What You Need To Know
* Walking Through a Problem
* Optimize & Solve Technique #1: Look for BUD
* Optimize & Solve Technique #2: DIY (Do It Yourself)
* Optimize & Solve Technique #3: Simplify and Generalize
* Optimize & Solve Technique #4: Base Case and Build
* Optimize & Solve Technique #5: Data Structure Brainstorm
* Best Conceivable Runtime (BCR)
* Handling Incorrect Answers
* When You’ve Heard a Question Before
* The “Perfect” Language for Interviews
* What Good Coding Looks Like
* Don’t Give Up!**


## The Offer and Beyond** (skip)

* Handling Offers and Rejection
* Evaluating the Offer
* Negotiation
* On the Job



## **189 Programming Questions and Answers**
This section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include:

* Arrays and Strings
* Linked Lists
* Stacks and Queues
* Trees and Graphs
* Bit Manipulation
* Math and Logic Puzzles
* Object-Oriented Design (Low priority)
* Recursion and Dynamic Programming
* Sorting and Searching
* Scalability and Memory Limits
* Testing
* C and C++ (skip)
* Java
* Databases
* Threads and Locks (Low priority)
* Assorted Moderate Problems
* Assorted Hard Problems

## Hints

---