| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:75563b16-3ea5-358a-0ff9-8ad158931003 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | CE58:1960:25F36EF:36D601E:6A4FB1AE |
| html-safe-nonce | cc2a324099987a912d666ac5593cd0b77c45a3a6871aa164c67bbc5832a3e3ad |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRTU4OjE5NjA6MjVGMzZFRjozNkQ2MDFFOjZBNEZCMUFFIiwidmlzaXRvcl9pZCI6IjY2MjM4NTIzMjU1MDQwMDQ1MjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | ca8872cfceac048e942a30371b82c42c03235b1e30d3adb3a5909ddea041bcaa |
| hovercard-subject-tag | repository:445887837 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/yychenca/coding-interview-guide |
| twitter:image | https://opengraph.githubassets.com/9bfdf34db5d51469e3b8124493fcad961449089b86b125206f62f43b993af1ff/yychenca/coding-interview-guide |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/9bfdf34db5d51469e3b8124493fcad961449089b86b125206f62f43b993af1ff/yychenca/coding-interview-guide |
| og:image:alt | A systematic coding interview guide. Contribute to yychenca/coding-interview-guide development by creating an account on GitHub. |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 |
| turbo-cache-control | no-cache |
| go-import | github.com/yychenca/coding-interview-guide git https://github.com/yychenca/coding-interview-guide.git |
| octolytics-dimension-user_id | 13532690 |
| octolytics-dimension-user_login | yychenca |
| octolytics-dimension-repository_id | 445887837 |
| octolytics-dimension-repository_nwo | yychenca/coding-interview-guide |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 281275333 |
| octolytics-dimension-repository_parent_nwo | zmcddn/coding-interview-guide |
| octolytics-dimension-repository_network_root_id | 281275333 |
| octolytics-dimension-repository_network_root_nwo | zmcddn/coding-interview-guide |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 4b249b445842943ed31549e027f57a8ade9881ed |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/yychenca/coding-interview-guide#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fyychenca%2Fcoding-interview-guide |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fyychenca%2Fcoding-interview-guide |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=yychenca%2Fcoding-interview-guide |
| Reload | https://github.com/yychenca/coding-interview-guide |
| Reload | https://github.com/yychenca/coding-interview-guide |
| Reload | https://github.com/yychenca/coding-interview-guide |
|
yychenca
| https://github.com/yychenca |
| coding-interview-guide | https://github.com/yychenca/coding-interview-guide |
| zmcddn/coding-interview-guide | https://github.com/zmcddn/coding-interview-guide |
|
Notifications
| https://github.com/login?return_to=%2Fyychenca%2Fcoding-interview-guide |
|
Fork
0
| https://github.com/login?return_to=%2Fyychenca%2Fcoding-interview-guide |
|
Star
1
| https://github.com/login?return_to=%2Fyychenca%2Fcoding-interview-guide |
|
Code
| https://github.com/yychenca/coding-interview-guide |
|
Pull requests
0
| https://github.com/yychenca/coding-interview-guide/pulls |
|
Actions
| https://github.com/yychenca/coding-interview-guide/actions |
|
Projects
| https://github.com/yychenca/coding-interview-guide/projects |
|
Security and quality
0
| https://github.com/yychenca/coding-interview-guide/security |
|
Insights
| https://github.com/yychenca/coding-interview-guide/pulse |
|
Code
| https://github.com/yychenca/coding-interview-guide |
|
Pull requests
| https://github.com/yychenca/coding-interview-guide/pulls |
|
Actions
| https://github.com/yychenca/coding-interview-guide/actions |
|
Projects
| https://github.com/yychenca/coding-interview-guide/projects |
|
Security and quality
| https://github.com/yychenca/coding-interview-guide/security |
|
Insights
| https://github.com/yychenca/coding-interview-guide/pulse |
| https://github.com/yychenca/coding-interview-guide |
| Branches | https://github.com/yychenca/coding-interview-guide/branches |
| Tags | https://github.com/yychenca/coding-interview-guide/tags |
| https://github.com/yychenca/coding-interview-guide/branches |
| https://github.com/yychenca/coding-interview-guide/tags |
| 117 Commits | https://github.com/yychenca/coding-interview-guide/commits/master/ |
| https://github.com/yychenca/coding-interview-guide/commits/master/ |
| SystemDesign | https://github.com/yychenca/coding-interview-guide/tree/master/SystemDesign |
| SystemDesign | https://github.com/yychenca/coding-interview-guide/tree/master/SystemDesign |
| Templates | https://github.com/yychenca/coding-interview-guide/tree/master/Templates |
| Templates | https://github.com/yychenca/coding-interview-guide/tree/master/Templates |
| images | https://github.com/yychenca/coding-interview-guide/tree/master/images |
| images | https://github.com/yychenca/coding-interview-guide/tree/master/images |
| .gitignore | https://github.com/yychenca/coding-interview-guide/blob/master/.gitignore |
| .gitignore | https://github.com/yychenca/coding-interview-guide/blob/master/.gitignore |
| README.md | https://github.com/yychenca/coding-interview-guide/blob/master/README.md |
| README.md | https://github.com/yychenca/coding-interview-guide/blob/master/README.md |
| README | https://github.com/yychenca/coding-interview-guide |
| https://github.com/yychenca/coding-interview-guide#the-coding-interview-guide |
| https://github.com/yychenca/coding-interview-guide#preface-1-how-to-use-this-repo |
| QA SECTION | https://github.com/yychenca/coding-interview-guide#appendix-1-question--answer |
| https://github.com/yychenca/coding-interview-guide/blob/master/images/how-to-use-the-repo.png |
| https://github.com/yychenca/coding-interview-guide#preface-2-before-get-started-remember-the-following-facts |
| https://github.com/yychenca/coding-interview-guide#table-of-content |
| The Coding Interview Guide | https://github.com/yychenca/coding-interview-guide#the-coding-interview-guide |
| Preface 1: How to use this repo | https://github.com/yychenca/coding-interview-guide#preface-1-how-to-use-this-repo |
| Preface 2: Before get started, REMEMBER the following facts | https://github.com/yychenca/coding-interview-guide#preface-2-before-get-started-remember-the-following-facts |
| Table of Content | https://github.com/yychenca/coding-interview-guide#table-of-content |
| Section 1: Data Structures and Algorithms | https://github.com/yychenca/coding-interview-guide#section-1-data-structures-and-algorithms |
| Chapter 1: Data Structures | https://github.com/yychenca/coding-interview-guide#chapter-1-data-structures |
| 1.1 Array | https://github.com/yychenca/coding-interview-guide#11-array |
| 1.2 Linked List | https://github.com/yychenca/coding-interview-guide#12-linked-list |
| 1.3 Stack | https://github.com/yychenca/coding-interview-guide#13-stack |
| 1.3.1 Arithmetic Expressions | https://github.com/yychenca/coding-interview-guide#131-arithmetic-expressions |
| 1.4 Queue | https://github.com/yychenca/coding-interview-guide#14-queue |
| 1.5 Hash Table | https://github.com/yychenca/coding-interview-guide#15-hash-table |
| 1.6 Trees | https://github.com/yychenca/coding-interview-guide#16-trees |
| 1.6.1 Tree Traversal: access the nodes of the tree | https://github.com/yychenca/coding-interview-guide#161-tree-traversal-access-the-nodes-of-the-tree |
| 1.6.2 Binary Search Tree (BST) | https://github.com/yychenca/coding-interview-guide#162-binary-search-tree-bst |
| 1.6.3 Heap / Priority Queue / Binary Heap | https://github.com/yychenca/coding-interview-guide#163-heap--priority-queue--binary-heap |
| 1.6.4 More Trees | https://github.com/yychenca/coding-interview-guide#164-more-trees |
| 1.7 Graph | https://github.com/yychenca/coding-interview-guide#17-graph |
| 1.7.1 Vocabulary and Definitions | https://github.com/yychenca/coding-interview-guide#171-vocabulary-and-definitions |
| 1.7.2 Graph Representation | https://github.com/yychenca/coding-interview-guide#172-graph-representation |
| 1.7.3 Graph Algorithms | https://github.com/yychenca/coding-interview-guide#173-graph-algorithms |
| Chapter 2: Common Algorithm Types | https://github.com/yychenca/coding-interview-guide#chapter-2-common-algorithm-types |
| 2.1 Brute Force | https://github.com/yychenca/coding-interview-guide#21-brute-force |
| 2.2 Search | https://github.com/yychenca/coding-interview-guide#22-search |
| 2.2.1 Sequential Search | https://github.com/yychenca/coding-interview-guide#221-sequential-search |
| 2.2.2 Binary Search | https://github.com/yychenca/coding-interview-guide#222-binary-search |
| 2.3 Sort | https://github.com/yychenca/coding-interview-guide#23-sort |
| 2.3.1 Bubble Sort | https://github.com/yychenca/coding-interview-guide#231-bubble-sort |
| 2.3.2 Selection Sort | https://github.com/yychenca/coding-interview-guide#232-selection-sort |
| 2.3.3 Insertion Sort | https://github.com/yychenca/coding-interview-guide#233-insertion-sort |
| 2.3.4 Shell Sort | https://github.com/yychenca/coding-interview-guide#234-shell-sort |
| 2.3.5 Merge Sort | https://github.com/yychenca/coding-interview-guide#235-merge-sort |
| 2.3.6 Quick Sort | https://github.com/yychenca/coding-interview-guide#236-quick-sort |
| 2.3.7 Heap Sort | https://github.com/yychenca/coding-interview-guide#237-heap-sort |
| 2.4 Recursion | https://github.com/yychenca/coding-interview-guide#24-recursion |
| 2.4.1 Recursive function in Python | https://github.com/yychenca/coding-interview-guide#241-recursive-function-in-python |
| 2.5 Backtracking | https://github.com/yychenca/coding-interview-guide#25-backtracking |
| 2.6 Dynamic Programming | https://github.com/yychenca/coding-interview-guide#26-dynamic-programming |
| 2.7 Divide and Conquer | https://github.com/yychenca/coding-interview-guide#27-divide-and-conquer |
| 2.8 Greedy | https://github.com/yychenca/coding-interview-guide#28-greedy |
| 2.9 Branch and Bound | https://github.com/yychenca/coding-interview-guide#29-branch-and-bound |
| Chapter 3: Frequently Used Technics and Algorithms | https://github.com/yychenca/coding-interview-guide#chapter-3-frequently-used-technics-and-algorithms |
| 3.1 Must know for interview | https://github.com/yychenca/coding-interview-guide#31-must-know-for-interview |
| 3.2 Good to know but can be skipped | https://github.com/yychenca/coding-interview-guide#32-good-to-know-but-can-be-skipped |
| Summary | https://github.com/yychenca/coding-interview-guide#summary |
| Section 2: System Design | https://github.com/yychenca/coding-interview-guide#section-2-system-design |
| Chapter 4: System Design Interview Template | https://github.com/yychenca/coding-interview-guide#chapter-4-system-design-interview-template |
| Chapter 5: System Design Components | https://github.com/yychenca/coding-interview-guide#chapter-5-system-design-components |
| Chapter 6: Classic Designs | https://github.com/yychenca/coding-interview-guide#chapter-6-classic-designs |
| Chapter 7: System Design Case Study | https://github.com/yychenca/coding-interview-guide#chapter-7-system-design-case-study |
| Section 3: Transferrable Skills and Offer | https://github.com/yychenca/coding-interview-guide#section-3-transferrable-skills-and-offer |
| Chapter 8: Behavioral Questions (BQ) | https://github.com/yychenca/coding-interview-guide#chapter-8-behavioral-questions-bq |
| 8.1 Four things to remember for the BQ | https://github.com/yychenca/coding-interview-guide#81-four-things-to-remember-for-the-bq |
| 8.2 How to prepare for BQ | https://github.com/yychenca/coding-interview-guide#82-how-to-prepare-for-bq |
| Chapter 9: Offer Negotiation | https://github.com/yychenca/coding-interview-guide#chapter-9-offer-negotiation |
| Appendix 1: Question & Answer | https://github.com/yychenca/coding-interview-guide#appendix-1-question--answer |
| A1.1 Technical Questions | https://github.com/yychenca/coding-interview-guide#a11-technical-questions |
| A1.1.1 How to use LeetCode as a beginner | https://github.com/yychenca/coding-interview-guide#a111-how-to-use-leetcode-as-a-beginner |
| A1.1.2 How to solve LeetCode problem EFFECTIVELY | https://github.com/yychenca/coding-interview-guide#a112-how-to-solve-leetcode-problem-effectively |
| A1.1.3 How to solve LeetCode problem EFFICIENTLY | https://github.com/yychenca/coding-interview-guide#a113-how-to-solve-leetcode-problem-efficiently |
| A1.1.4 Pay close attention to these when solving problem (gain max value of leetcode problem) | https://github.com/yychenca/coding-interview-guide#a114-pay-close-attention-to-these-when-solving-problem-gain-max-value-of-leetcode-problem |
| A1.1.5 Why you should use a template for the algorithm and data structures | https://github.com/yychenca/coding-interview-guide#a115-why-you-should-use-a-template-for-the-algorithm-and-data-structures |
| A1.1.6 What should I do if I lost confident when practicing leetcode | https://github.com/yychenca/coding-interview-guide#a116-what-should-i-do-if-i-lost-confident-when-practicing-leetcode |
| A1.1.7 I still can't solve new problems even if I finished x number of problems on LeetCode | https://github.com/yychenca/coding-interview-guide#a117-i-still-cant-solve-new-problems-even-if-i-finished-x-number-of-problems-on-leetcode |
| A1.2 Interview Questions | https://github.com/yychenca/coding-interview-guide#a12-interview-questions |
| A1.2.1 What's the interview process look like | https://github.com/yychenca/coding-interview-guide#a121-whats-the-interview-process-look-like |
| A1.2.2 How to write an effective resume | https://github.com/yychenca/coding-interview-guide#a122-how-to-write-an-effective-resume |
| A1.2.3 I have applied to many jobs but still no interview | https://github.com/yychenca/coding-interview-guide#a123-i-have-applied-to-many-jobs-but-still-no-interview |
| A1.2.4 How to solve an algorithm/data structure problem in interview | https://github.com/yychenca/coding-interview-guide#a124-how-to-solve-an-algorithmdata-structure-problem-in-interview |
| A1.3 General Questions | https://github.com/yychenca/coding-interview-guide#a13-general-questions |
| A1.3.1 Large Company VS Small Company | https://github.com/yychenca/coding-interview-guide#a131-large-company-vs-small-company |
| A1.3.2 How to get your FIRST job! (How to become more competitive among the candidates) | https://github.com/yychenca/coding-interview-guide#a132-how-to-get-your-first-job-how-to-become-more-competitive-among-the-candidates |
| Appendix 2: Resources | https://github.com/yychenca/coding-interview-guide#appendix-2-resources |
| A2.1 Learning Experience | https://github.com/yychenca/coding-interview-guide#a21-learning-experience |
| A2.1.1 Online MOOC courses | https://github.com/yychenca/coding-interview-guide#a211-online-mooc-courses |
| A2.2 How to solve Algorithm Questions | https://github.com/yychenca/coding-interview-guide#a22-how-to-solve-algorithm-questions |
| A2.3 OOD (Object Oriented Design) | https://github.com/yychenca/coding-interview-guide#a23-ood-object-oriented-design |
| A2.3.1 SOLID Principals | https://github.com/yychenca/coding-interview-guide#a231-solid-principals |
| A2.3.2 Clean Code - Uncle Bob lessons | https://github.com/yychenca/coding-interview-guide#a232-clean-code---uncle-bob-lessons |
| A2.4 Design Patterns | https://github.com/yychenca/coding-interview-guide#a24-design-patterns |
| A2.5 Async in Python | https://github.com/yychenca/coding-interview-guide#a25-async-in-python |
| A2.6 System Design | https://github.com/yychenca/coding-interview-guide#a26-system-design |
| A2.7 Machine Learning | https://github.com/yychenca/coding-interview-guide#a27-machine-learning |
| A2.8 Reinforcement Learning | https://github.com/yychenca/coding-interview-guide#a28-reinforcement-learning |
| Postface | https://github.com/yychenca/coding-interview-guide#postface |
| https://github.com/yychenca/coding-interview-guide#section-1-data-structures-and-algorithms |
| Problem Solving with Algorithms and Data Structures using Python | https://runestone.academy/runestone/books/published/pythonds/index.html |
| https://camo.githubusercontent.com/588cbe951879ece02265f1fb66664d9145798b5648080e0fe8b1205b87d435cc/68747470733a2f2f72756e6573746f6e652e61636164656d792f72756e6573746f6e652f626f6f6b732f7075626c69736865642f707974686f6e64732f5f696d616765732f6e6577706c6f742e706e67 |
| https://github.com/yychenca/coding-interview-guide#chapter-1-data-structures |
| https://github.com/yychenca/coding-interview-guide#11-array |
| https://github.com/yychenca/coding-interview-guide#12-linked-list |
| Details and Templates | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/linked_list.md |
| https://github.com/yychenca/coding-interview-guide#13-stack |
| https://github.com/yychenca/coding-interview-guide#131-arithmetic-expressions |
| https://github.com/yychenca/coding-interview-guide#14-queue |
| https://github.com/yychenca/coding-interview-guide#15-hash-table |
| https://camo.githubusercontent.com/1b4cce0ce3bc16343332caf63b774d63edc7996131a1855973048dd345b60556/687474703a2f2f696e746572616374697665707974686f6e2e6f72672f72756e6573746f6e652f7374617469632f707974686f6e64732f5f696d616765732f636861696e696e672e706e67 |
| https://github.com/yychenca/coding-interview-guide#16-trees |
| https://github.com/yychenca/coding-interview-guide#161-tree-traversal-access-the-nodes-of-the-tree |
| Details and Templates | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/tree_traversal.md |
| https://github.com/yychenca/coding-interview-guide#162-binary-search-tree-bst |
| Leetcode Binary Search Tree topic | https://leetcode.com/explore/learn/card/introduction-to-data-structure-binary-search-tree/ |
| https://github.com/yychenca/coding-interview-guide#163-heap--priority-queue--binary-heap |
| https://camo.githubusercontent.com/88e947ceb7107f5ae5995d77bec88b00d2e66785ce248c6433718fd491269805/687474703a2f2f696e746572616374697665707974686f6e2e6f72672f72756e6573746f6e652f7374617469632f707974686f6e64732f5f696d616765732f686561704f726465722e706e67 |
| this discussion | https://stackoverflow.com/questions/749199/when-would-i-want-to-use-a-heap |
| https://github.com/yychenca/coding-interview-guide#164-more-trees |
| Details in Wiki | https://en.wikipedia.org/wiki/Red%E2%80%93black_tree |
| Details in Wiki | https://en.wikipedia.org/wiki/B%2B_tree |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/trie.md |
| Binary Index Tree (Fenwick Tree) | https://www.geeksforgeeks.org/binary-indexed-tree-or-fenwick-tree-2/ |
| 315. Count of Smaller Numbers After Self | https://leetcode.com/problems/count-of-smaller-numbers-after-self/ |
| https://github.com/yychenca/coding-interview-guide#17-graph |
| https://github.com/yychenca/coding-interview-guide#171-vocabulary-and-definitions |
| https://github.com/yychenca/coding-interview-guide#172-graph-representation |
| https://camo.githubusercontent.com/6eec01239dfa9b04e739e4f9504bbc8aa06ce28a5bc351e924c31bcd8516b485/687474703a2f2f696e746572616374697665707974686f6e2e6f72672f72756e6573746f6e652f7374617469632f707974686f6e64732f5f696d616765732f61646a4d61742e706e67 |
| https://camo.githubusercontent.com/7724dd58d985e5df86d62757409d2ba7b96eed2d8c8bcff62039defc89b40fcb/687474703a2f2f696e746572616374697665707974686f6e2e6f72672f72756e6573746f6e652f7374617469632f707974686f6e64732f5f696d616765732f61646a6c6973742e706e67 |
| https://github.com/yychenca/coding-interview-guide#173-graph-algorithms |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/graph_traversal.md |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/dijkstra.md |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/topological_sort.md |
| More Info | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/graph_SCC.md |
| More Info | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/prim_spanning_tree.md |
| https://github.com/yychenca/coding-interview-guide#chapter-2-common-algorithm-types |
| https://github.com/yychenca/coding-interview-guide#21-brute-force |
| https://github.com/yychenca/coding-interview-guide#22-search |
| https://github.com/yychenca/coding-interview-guide#221-sequential-search |
| https://github.com/yychenca/coding-interview-guide#222-binary-search |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/binary_search.md |
| https://github.com/yychenca/coding-interview-guide#23-sort |
| https://github.com/yychenca/coding-interview-guide#231-bubble-sort |
| https://github.com/yychenca/coding-interview-guide#232-selection-sort |
| https://github.com/yychenca/coding-interview-guide#233-insertion-sort |
| https://github.com/yychenca/coding-interview-guide#234-shell-sort |
| https://github.com/yychenca/coding-interview-guide#235-merge-sort |
| Details and Templates | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/merge_sort.md |
| https://github.com/yychenca/coding-interview-guide#236-quick-sort |
| Details and Templates | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/quick_sort.md |
| https://github.com/yychenca/coding-interview-guide#237-heap-sort |
| https://github.com/yychenca/coding-interview-guide#24-recursion |
| https://github.com/yychenca/coding-interview-guide#241-recursive-function-in-python |
| https://github.com/yychenca/coding-interview-guide#25-backtracking |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/backtrack.md |
| https://github.com/yychenca/coding-interview-guide#26-dynamic-programming |
| https://github.com/yychenca/coding-interview-guide#27-divide-and-conquer |
| https://github.com/yychenca/coding-interview-guide#28-greedy |
| More details | https://www.hackerearth.com/practice/algorithms/greedy/basics-of-greedy-algorithms/tutorial/ |
| https://github.com/yychenca/coding-interview-guide#29-branch-and-bound |
| https://github.com/yychenca/coding-interview-guide#chapter-3-frequently-used-technics-and-algorithms |
| https://github.com/yychenca/coding-interview-guide#31-must-know-for-interview |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/matrix_traversal.md |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/sliding_window.md |
| Template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/union_find.md |
| Monotonic Stack template | https://github.com/yychenca/coding-interview-guide/blob/master/Templates/monotonic_stack.md |
| https://github.com/yychenca/coding-interview-guide#32-good-to-know-but-can-be-skipped |
| https://github.com/yychenca/coding-interview-guide#summary |
| https://github.com/yychenca/coding-interview-guide#section-2-system-design |
| https://github.com/yychenca/coding-interview-guide#chapter-4-system-design-interview-template |
| System Design Template | https://leetcode.com/discuss/career/229177/My-System-Design-Template |
| System Design - InterviewBit | https://www.interviewbit.com/courses/system-design/ |
| SNAKE - System Design Principles to crack a system design in 5 steps | Bowen's blog | https://bowenli86.github.io/2016/06/28/system%20design/SNAKE-System-Design-Principles-to-crack-a-system-design-in-5-steps/ |
| https://github.com/yychenca/coding-interview-guide#chapter-5-system-design-components |
| https://github.com/yychenca/coding-interview-guide/blob/master/images/System-Components.png |
| Internet Protocol Suite | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/internet_protocol_suite.md |
| Load Balancer, Reverse Proxy, API Gateway | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/load_balancer.md |
| Cache | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/cache.md |
| Replication & Partition | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/replication_partition.md |
| Transaction & Isolation | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/transaction_isolation.md |
| Consistency & Consensus | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/consistency_consensus.md |
| RDBMS | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/RDBMS.md |
| NoSQL | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/nosql_db.md |
| Data Storage Systems | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/storage_system.md |
| What happens when you navigate to an url | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/navigate_url.md |
| How to scale web app from monolithic to distributed | https://github.com/yychenca/coding-interview-guide/blob/master/SystemDesign/scale_web_app.md |
| https://github.com/yychenca/coding-interview-guide#chapter-6-classic-designs |
| https://github.com/yychenca/coding-interview-guide#chapter-7-system-design-case-study |
| https://github.com/yychenca/coding-interview-guide#section-3-transferrable-skills-and-offer |
| https://github.com/yychenca/coding-interview-guide#chapter-8-behavioral-questions-bq |
| https://github.com/yychenca/coding-interview-guide#81-four-things-to-remember-for-the-bq |
| https://github.com/yychenca/coding-interview-guide#82-how-to-prepare-for-bq |
| Amazon leadership Principles | https://www.amazon.jobs/en/principles |
| Amazon's 14 Leadership Principles Video via Jeff Bezo | https://www.youtube.com/watch?v=B-xdfQv3I1k |
| Amazon asks these 35 questions in 95% of job interviews | https://www.youtube.com/watch?v=dse8OTDlRcM&list=PLLucmoeZjtMTarjnBcV5qOuAI4lE5ZinV&index=18 |
| How to predict your interview questions | https://interviewgenie.com/blog-1/2020/5/4/how-to-predict-your-interview-questions |
| Leetcode Interview Thoughts Amazon and Google | https://leetcode.com/discuss/interview-question/455991/i-got-an-offer-from-amazon-sde-i-and-google-l3-heres-my-thoughts |
| How to sell yourself in interviews — Interview Genie | https://interviewgenie.com/blog-1/2018/6/6/how-to-sell-yourself-in-interviews |
| How to answer interview questions about the Amazon leadership principle “Frugality” — Interview Genie | https://interviewgenie.com/blog-1/2019/4/9/how-to-answer-amazon-frugality-interview-questions |
| https://github.com/yychenca/coding-interview-guide#chapter-9-offer-negotiation |
| Ten Rules for Negotiating a Job Offer | https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/ |
| https://github.com/yychenca/coding-interview-guide#appendix-1-question--answer |
| https://github.com/yychenca/coding-interview-guide#a11-technical-questions |
| https://github.com/yychenca/coding-interview-guide#a111-how-to-use-leetcode-as-a-beginner |
| https://github.com/yychenca/coding-interview-guide#a112-how-to-solve-leetcode-problem-effectively |
| https://github.com/yychenca/coding-interview-guide#a113-how-to-solve-leetcode-problem-efficiently |
| https://github.com/yychenca/coding-interview-guide#a114-pay-close-attention-to-these-when-solving-problem-gain-max-value-of-leetcode-problem |
| https://github.com/yychenca/coding-interview-guide#a115-why-you-should-use-a-template-for-the-algorithm-and-data-structures |
| https://github.com/yychenca/coding-interview-guide#a116-what-should-i-do-if-i-lost-confident-when-practicing-leetcode |
| https://github.com/yychenca/coding-interview-guide#a117-i-still-cant-solve-new-problems-even-if-i-finished-x-number-of-problems-on-leetcode |
| https://github.com/yychenca/coding-interview-guide#a12-interview-questions |
| https://github.com/yychenca/coding-interview-guide#a121-whats-the-interview-process-look-like |
| https://github.com/yychenca/coding-interview-guide#a122-how-to-write-an-effective-resume |
| https://github.com/yychenca/coding-interview-guide#a123-i-have-applied-to-many-jobs-but-still-no-interview |
| https://github.com/yychenca/coding-interview-guide#a124-how-to-solve-an-algorithmdata-structure-problem-in-interview |
| https://github.com/yychenca/coding-interview-guide#a13-general-questions |
| https://github.com/yychenca/coding-interview-guide#a131-large-company-vs-small-company |
| https://github.com/yychenca/coding-interview-guide#a132-how-to-get-your-first-job-how-to-become-more-competitive-among-the-candidates |
| https://github.com/yychenca/coding-interview-guide#appendix-2-resources |
| https://github.com/yychenca/coding-interview-guide#a21-learning-experience |
| Everything About Python — Beginner To Advanced | https://medium.com/fintechexplained/everything-about-python-from-beginner-to-advance-level-227d52ef32d2 |
| Coding Interview University | https://github.com/jwasham/coding-interview-university |
| GitHub - TheAlgorithms/Python: All Algorithms implemented in Python | https://github.com/TheAlgorithms/Python |
| VisuAlgo - visualising data structures and algorithms through animation | https://visualgo.net/en |
| https://github.com/yychenca/coding-interview-guide#a211-online-mooc-courses |
| CS 61A: Structure and Interpretation of Computer Programs | https://cs61a.org/ |
| CS 61B: Data Structures Spring 2019 | https://sp19.datastructur.es/ |
| CS 61C: Computer Architecture (Machine Structures) | https://cs61c.org/ |
| MIT6.046: Design and Analysis of Algorithms | https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/ |
| MIT6.824: Distributed Systems | https://pdos.csail.mit.edu/6.824/ |
| https://github.com/yychenca/coding-interview-guide#a22-how-to-solve-algorithm-questions |
| Fucking Algorithm - Algorithm template - Java, Python - English, Chinese | https://github.com/labuladong/fucking-algorithm/tree/english |
| Algorithm Pattern - Algorithm template - Go - Chinese | https://github.com/greyireland/algorithm-pattern |
| Hello Algorithm - Leetcode Solution - Java - English, Chinese | https://github.com/geekxh/hello-algorithm |
| LeetCode Topics and Interview Questions Collection - Leetcode Solution - Java - English, Chinese | https://github.com/yuanguangxin/LeetCode |
| Top 10 algorithms in Interview Questions | https://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions/#algo3 |
| CHEATSHEET: LEETCODE COMMON TEMPLATES & COMMON CODE PROBLEMS - English | https://cheatsheet.dennyzhang.com/cheatsheet-leetcode-a4 |
| LeetCode 101 - A LeetCode Grinding Guide (C++ Version) - Chinese | https://github.com/changgyhub/leetcode_101/blob/master/LeetCode%20101%20-%20A%20LeetCode%20Grinding%20Guide%20(C%2B%2B%20Version).pdf |
| https://github.com/yychenca/coding-interview-guide#a23-ood-object-oriented-design |
| https://github.com/yychenca/coding-interview-guide#a231-solid-principals |
| S.O.L.I.D. Principles of Object-Oriented Design - A Tutorial on Object-Oriented Design | https://www.youtube.com/watch?v=GtZtQ2VFweA&ab_channel=LaraconEU |
| Understanding the Single Responsibility Principle | https://www.youtube.com/watch?v=L2m-S0Pj_Xk&ab_channel=edutechional |
| Understanding the Open Closed Principle | https://www.youtube.com/watch?v=Ryhy7333mqQ&ab_channel=edutechional |
| Understanding the Liskov Substitution Principle | https://www.youtube.com/watch?v=Mmy1EUKC_iE&ab_channel=edutechional |
| OOP Design Principles: Interface Segregation Principle | https://www.youtube.com/watch?v=Ye1h3zKl1lg&ab_channel=edutechional |
| OOP Design Principles: Dependency Inversion Principle | https://www.youtube.com/watch?v=qL2-5g_lJTs&ab_channel=edutechional |
| Refactoring From Trash to SOLID | https://medium.com/swlh/refactoring-from-trash-to-solid-74b10005ccd3 |
| https://github.com/yychenca/coding-interview-guide#a232-clean-code---uncle-bob-lessons |
| Clean Code - Uncle Bob / Lesson 1: SOLID principals, refactor, DRY | https://www.youtube.com/watch?v=7EmboKQH8lM&ab_channel=UnityCoin |
| Clean Code - Uncle Bob / Lesson 2: Comments, docs, naming, reviews | https://www.youtube.com/watch?v=2a_ytyt9sf8&ab_channel=UnityCoin |
| Clean Code - Uncle Bob / Lesson 3: Software growth, QA, teamwork | https://www.youtube.com/watch?v=Qjywrq2gM8o&ab_channel=UnityCoin |
| Clean Code - Uncle Bob / Lesson 4: TDD | https://www.youtube.com/watch?v=58jGpV2Cg50&ab_channel=UnityCoin |
| Clean Code - Uncle Bob / Lesson 5: Architecture, project development | https://www.youtube.com/watch?v=sn0aFEMVTpA&ab_channel=UnityCoin |
| Clean Code - Uncle Bob / Lesson 6: project management | https://www.youtube.com/watch?v=l-gF0vDhJVI&ab_channel=UnityCoin |
| https://github.com/yychenca/coding-interview-guide#a24-design-patterns |
| Design Patterns | https://www.tutorialspoint.com/design_pattern/filter_pattern.htm |
| Design Patterns in Python | https://github.com/faif/python-patterns |
| https://github.com/yychenca/coding-interview-guide#a25-async-in-python |
| Demystifying Python's Async and Await Keywords | https://www.youtube.com/watch?v=F19R_M4Nay4&ab_channel=JetBrainsTV |
| Thinking Outside the GIL with AsyncIO and Multiprocessing - PyCon 2018 | https://www.youtube.com/watch?v=0kXaLh8Fz3k&ab_channel=PyCon2018 |
| Advanced asyncio: Solving Real-world Production Problems - PyCon 2019 | https://www.youtube.com/watch?v=bckD_GK80oY&ab_channel=PyCon2019 |
| https://github.com/yychenca/coding-interview-guide#a26-system-design |
| System Design Interview | https://www.youtube.com/c/SystemDesignInterview/videos |
| The System Design Primer | https://github.com/donnemartin/system-design-primer |
| Distributed systems for fun and profit | http://book.mixu.net/distsys/single-page.html |
| System Design Cheatsheet | https://gist.github.com/vasanthk/485d1c25737e8e72759f |
| System Design Cheatsheet - Guvi - Medium | https://medium.com/guvi/system-design-cheatsheet-251c6fe7f20c |
| CheatSheet: System Design For Job Interview – CheatSheet | https://cheatsheet.dennyzhang.com/cheatsheet-systemdesign-a4 |
| GitHub - puncsky/system-design-and-architecture: Learn how to design large-scale systems. Prep for the system design interview. | https://github.com/puncsky/system-design-and-architecture |
| GitHub - checkcheckzz/system-design-interview: System design interview for IT companies | https://github.com/checkcheckzz/system-design-interview |
| High Performance Browser Networking (O'Reilly) | https://hpbn.co/ |
| GitHub - binhnguyennus/awesome-scalability: The Patterns of Scalable, Reliable, and Performant Large-Scale Systems | https://github.com/binhnguyennus/awesome-scalability |
| The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems | http://www.aosabook.org/en/distsys.html |
| Engineering Blogs | https://github.com/kilimchoi/engineering-blogs |
| Google MapReduce: Simplified Data Processing on Large Clusters | https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf |
| The Google File System | https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf |
| TAO: Facebook’s Distributed Data Store for the Social Graph | https://www.usenix.org/system/files/conference/atc13/atc13-bronson.pdf |
| Dynamo: Amazon’s Highly Available Key-value Store | https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf |
| https://github.com/yychenca/coding-interview-guide#a27-machine-learning |
| 100 Days of Machine Learning Coding | https://github.com/Avik-Jain/100-Days-Of-ML-Code |
| https://github.com/yychenca/coding-interview-guide#a28-reinforcement-learning |
| Reinforcement Learning Methods and Tutorials | https://github.com/MorvanZhou/Reinforcement-learning-with-tensorflow |
| https://github.com/yychenca/coding-interview-guide#postface |
| Here is my patron page | https://www.patreon.com/CZTechHut |
|
Readme
| https://github.com/yychenca/coding-interview-guide#readme-ov-file |
| Please reload this page | https://github.com/yychenca/coding-interview-guide |
|
Activity | https://github.com/yychenca/coding-interview-guide/activity |
|
0
forks | https://github.com/yychenca/coding-interview-guide/forks |
|
Report repository
| https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fyychenca%2Fcoding-interview-guide&report=yychenca+%28user%29 |
| Releases | https://github.com/yychenca/coding-interview-guide/releases |
| Packages
0 | https://github.com/users/yychenca/packages?repo_name=coding-interview-guide |
| Please reload this page | https://github.com/yychenca/coding-interview-guide |
| Contributors | https://github.com/yychenca/coding-interview-guide/graphs/contributors |
| Please reload this page | https://github.com/yychenca/coding-interview-guide |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |