7
7
8
8
## Interview Footsteps to crack your Dream Company
9
9
10
- ![ saurav]
11
-
12
- This repository is a part of [ HacktoberFest -an event organised by DigitalOcean ] ( https://hacktoberfest.digitalocean.com/ ) .
13
- You are requested to create your profile using the above link to be a part of it.
14
-
15
10
This repository contains examples of various algorithms written on different programming languages...
16
11
17
- ## Contributors
12
+ # Interview resources
13
+ Various algorithms written on different programming languages...
14
+
18
15
19
- [ ![ ] ( https://sourcerer.io/fame/xlogix/fnplus/Algorithms-Hacktoberfest/links/2 ) [ ![ ] ( https://sourcerer.io/fame/xlogix/fnplus/Algorithms-Hacktoberfest/image/3 )]
20
16
## Important Data Structures
21
17
22
18
| Data Structure | C | CPP | Java | Python |
23
19
| :----------------------------------------------------------------------------------------------- | :-------------------------------------:| :-------------------------------------:| :-------------------------------------:| :-------------------------------------:|
24
- | [ Queue] ( https://en.wikipedia.org/wiki/Queue_(abstract_data_type) ) | | [ :octocat:] ( queue/Cpp ) | | |
25
- | [ Stack] ( https://en.wikipedia.org/wiki/Stack_(abstract_data_type) ) | | | [ :octocat:] ( stack/Java ) | [ :octocat:] ( stack/Python ) |
20
+ | [ Dynamic array] ( https://en.wikipedia.org/wiki/Dynamic_array ) | | | | |
21
+ | [ Stack] ( https://en.wikipedia.org/wiki/Stack_(abstract_data_type) ) | | | | |
22
+ | [ Singly Linked List] ( https://en.wikipedia.org/wiki/Linked_list ) | | | | |
23
+ | [ Double Linked List] ( https://en.wikipedia.org/wiki/Doubly_linked_list ) | | | | |
24
+ | [ Circular Linked List] ( https://en.wikipedia.org/wiki/Linked_list ) | | | | |
25
+ | [ Hash Tables] ( https://en.wikipedia.org/wiki/Hash_table ) | | | | |
26
+ | [ Heap] ( https://en.wikipedia.org/wiki/Heap_(data_structure) ) | | | | |
27
+ | [ Fibonacci Heaps] ( https://en.wikipedia.org/wiki/Fibonacci_heap ) | | | | |
28
+ | [ Disjoints Sets] ( https://en.wikipedia.org/wiki/Stack_(abstract_data_type) ) | | | | |
29
+ | [ Adjacency matrix] ( https://en.wikipedia.org/wiki/List_of_data_structures#Hash-based_structures ) | | | | |
30
+ | [ Queue] ( https://en.wikipedia.org/wiki/Queue_(abstract_data_type) ) | | | | |
31
+ | [ Priority Queue] ( https://en.wikipedia.org/wiki/Priority_queue ) | | | | |
26
32
27
33
## Important Algorithms
28
34
29
35
| Maths | C | CPP | Java | Python |
30
36
| :----------------------------------------------------------------------------------------------- | :-------------------------------------:| :-------------------------------------:| :-------------------------------------:| :-------------------------------------:|
31
- | [ Euclidean GCD] ( https://en.wikipedia.org/wiki/Euclidean_algorithm ) | [ :octocat:] ( euclidean_gcd/C ) | [ :octocat:] ( euclidean_gcd/C ) | [ :octocat:] ( euclidean_gcd/Java ) | [ :octocat:] ( euclidean_gcd/Python ) |
32
- | [ fibonacci series] ( https://en.wikipedia.org/wiki/Fibonacci_number ) | [ :octocat:] ( shell_sort/C ) | | | [ :octocat:] ( shell_sort/Python ) |
37
+ | [ Euclidean GCD] ( https://en.wikipedia.org/wiki/Euclidean_algorithm ) | | | | |
38
+ | [ Fibonacci series] ( https://en.wikipedia.org/wiki/Fibonacci_number ) | | | | |
39
+ | [ Pallindrome number] ( https://en.wikipedia.org/wiki/Palindromic_number ) | | | | |
40
+ | [ Perfect number] ( https://en.wikipedia.org/wiki/Perfect_number ) | | | | |
33
41
34
42
35
43
| Searching and Sorting | C | CPP | Java | Python |
36
44
| :----------------------------------------------------------------------------------------------- | :-------------------------------------:| :-------------------------------------:| :-------------------------------------:| :-------------------------------------:|
37
- | [ QuickSort] ( https://en.wikipedia.org/wiki/Quicksort ) | | | | [ :octocat: ] ( quicksort/Python ) |
38
- | [ Merge Sort] ( https://en.wikipedia.org/wiki/Merge_sort ) | | | | [ :octocat: ] ( merge_sort/Python ) |
39
- | [ Insertion Sort] ( https://en.wikipedia.org/wiki/Insertion_sort ) | [ :octocat: ] ( insertion_sort/C ) | [ :octocat: ] ( insertion_sort/Cpp ) | | [ :octocat: ] ( insertion_sort/Python ) |
40
- | [ Counting Sort] ( https://en.wikipedia.org/wiki/Counting_sort ) | | | | [ :octocat: ] ( counting_sort/Python ) |
41
- | [ Radix Sort] ( https://en.wikipedia.org/wiki/Radix_sort ) | | | | [ :octocat: ] ( radix_sort/Python ) |
42
- | [ Bubble Sort] ( https://en.wikipedia.org/wiki/Bubble_sort ) | [ :octocat: ] ( bubble_sort/C ) | [ :octocat: ] ( bubble_sort/Cpp ) | | |
43
- | [ Heap Sort] ( https://en.wikipedia.org/wiki/Heapsort ) | | | | [ :octocat: ] ( heap_sort/python ) |
44
- | [ Linear Search] ( https://en.wikipedia.org/wiki/Linear_search ) | | [ :octocat: ] ( binary_search/Cpp ) | | [ :octocat: ] ( binary_search/Python ) |
45
- | [ Binary Search] ( https://en.wikipedia.org/wiki/Binary_search_algorithm ) | | [ :octocat: ] ( binary_search/Cpp ) | | [ :octocat: ] ( binary_search/Python ) |
45
+ | [ QuickSort] ( https://en.wikipedia.org/wiki/Quicksort ) | | | | |
46
+ | [ Merge Sort] ( https://en.wikipedia.org/wiki/Merge_sort ) | | | | |
47
+ | [ Insertion Sort] ( https://en.wikipedia.org/wiki/Insertion_sort ) | | | | |
48
+ | [ Counting Sort] ( https://en.wikipedia.org/wiki/Counting_sort ) | | | | |
49
+ | [ Radix Sort] ( https://en.wikipedia.org/wiki/Radix_sort ) | | | | |
50
+ | [ Bubble Sort] ( https://en.wikipedia.org/wiki/Bubble_sort ) | | | | |
51
+ | [ Heap Sort] ( https://en.wikipedia.org/wiki/Heapsort ) | | | | |
52
+ | [ Linear Search] ( https://en.wikipedia.org/wiki/Linear_search ) | | | | |
53
+ | [ Binary Search] ( https://en.wikipedia.org/wiki/Binary_search_algorithm ) | | | | |
46
54
47
55
| Tree traversal | C | CPP | Java | Python |
48
56
| --------------- | -----| ------| ------| ---------------|
@@ -53,19 +61,112 @@ This repository contains examples of various algorithms written on different pro
53
61
| [ Height of the Tree] ( ) | | | | | |
54
62
| [ Depth of the Tree] ( ) | | | | |
55
63
| [ AVL Tree] ( https://en.wikipedia.org/wiki/AVL_tree ) | | | | |
56
- | [ Spanning Tree] ( https://en.wikipedia.org/wiki/Spanning_tree ) | | | | |
64
+ | [ Spanning Tree] ( https://en.wikipedia.org/wiki/Spanning_tree ) | | | | |
65
+ | [ Segment Tree] ( https://en.wikipedia.org/wiki/Segment_tree ) | | | | |
66
+ | [ Fenwick Tree] ( https://en.wikipedia.org/wiki/Fenwick_tree ) | | | | |
67
+ | [ Trie] ( https://en.wikipedia.org/wiki/Trie ) | | | | |
57
68
58
69
59
70
| Graph Traversal | C | CPP | Java | Python |
60
71
| --------------- | -----| ------| ------| ---------------|
61
72
| [ Breadth First Search] ( https://en.wikipedia.org/wiki/Breadth-first_search ) | | | | |
62
73
| [ Depth First Search] ( https://en.wikipedia.org/wiki/Depth-first_search ) | | | | |
63
-
64
-
65
- ## Coding Practices / Learning Footsteps
66
-
67
- ### Maths
68
- * [ Project Euler] ( https://projecteuler.net )
74
+ | [ Topological Sort] ( https://en.wikipedia.org/wiki/Topological_sorting ) | | | | |
75
+ | [ Kruskals Algorithms] ( https://en.wikipedia.org/wiki/Kruskal%27s_algorithm ) | | | | |
76
+ | [ Prim's Algorithms] ( https://en.wikipedia.org/wiki/Prim%27s_algorithm ) | | | | |
77
+ | [ Belmon Ford Algorithms] ( https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm ) | | | | |
78
+ | [ Floyd-Warshall Algorithm] ( https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm ) | | | | |
79
+ | [ Dijkstra's Algorithm] ( https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm ) | | | | |
80
+
81
+ ## Curated resources
82
+
83
+ ### Coding Practices
84
+ * [ Project Euler] ( https://projecteuler.net )
85
+ * [ LeetCode] ( https://leetcode.com/ )
86
+ * [ InterviewBit] ( https://www.interviewbit.com/ )
87
+ * [ Codility] ( https://codility.com/ )
88
+ * [ HackerRank] ( https://www.hackerrank.com/ )
89
+ * [ Project Euler] ( https://projecteuler.net/ )
90
+ * [ Spoj] ( https://spoj.com/ )
91
+ * [ Google Code Jam practice problems] ( https://code.google.com/codejam/contests.html )
92
+ * [ HackerEarth] ( https://www.hackerearth.com/ )
93
+ * [ Top Coder] ( https://www.topcoder.com/ )
94
+ * [ CodeChef] ( https://www.codechef.com/ )
95
+ * [ Codewars] ( https://www.codewars.com/ )
96
+ * [ CodeSignal] ( https://codesignal.com )
97
+ * [ CodeKata] ( http://codekata.com/ )
98
+ * [ Firecode] ( https://www.firecode.io/ )
99
+
100
+ ### Video Lectures
101
+
102
+ * Data Structures
103
+ * [ UC Berkeley Data Structures] ( https://www.youtube.com/watch?v=mFPmKGIrQs4&index=1&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd )
104
+ * [ MIT Advanced Data Structures] ( https://www.youtube.com/watch?v=T0yzrZL1py0&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=1 )
105
+ * Algorithms
106
+ * [ MIT Introduction to Algorithms] ( https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=1 )
107
+ * [ MIT Advanced Algorithms] ( https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c )
108
+
109
+ ### Interview Books
110
+
111
+ * [ Competitive Programming 3 - Steven Halim & Felix Halim] ( https://www.amazon.com/Competitive-Programming-3rd-Steven-Halim/dp/B00FG8MNN8 )
112
+ * [ Cracking The Coding Interview - Gayle Laakmann McDowell] ( https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=sr_1_1?s=books&ie=UTF8 )
113
+ * [ Cracking The PM Interview - Gayle Laakmann McDowell & Jackie Bavaro] ( https://www.amazon.com/Cracking-PM-Interview-Product-Technology-ebook/dp/B00ISYMUR6/ref=sr_1_1?s=books&ie=UTF8 )
114
+ * [ Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein] ( https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=sr_1_1?ie=UTF8&qid=1490295989&sr=8-1& )
115
+
116
+ ### Guides
117
+
118
+ * [ GeeksForGeeks – A CS portal for geeks] ( http://www.geeksforgeeks.org/ )
119
+ * [ Learneroo – Algorithms] ( https://www.learneroo.com/subjects/8 )
120
+ * [ Top Coder tutorials] ( http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=Static )
121
+ * [ Infoarena training path] ( http://www.infoarena.ro/training-path ) (RO)
122
+ * Steven & Felix Halim – [ Increasing the Lower Bound of Programming Contests] ( https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=118 ) (UVA Online Judge)
123
+
124
+ ### Courses
125
+
126
+ * MIT – [ Hacking a Google Interview] ( https://courses.csail.mit.edu/iap/interview/materials.php )
127
+ * [ Coderust 2.0 ($$)] ( https://www.educative.io/collection/5642554087309312/5679846214598656?authorName=Coderust )
128
+ * [ Interview Cake ($$$)] ( https://www.interviewcake.com/ ) [[ review] ( https://www.quora.com/How-helpful-was-the-paid-program-from-Interview-Cake-in-your-interview-preparation )]
129
+ * [ How to Ace the Software Engineering Interview ($$)] ( https://interviewsteps.com/products/how-to-ace-the-software-engineering-interview )
130
+ * [ Grokking the System Design Interview ($$)] ( https://www.educative.io/collection/5668639101419520/5649050225344512 )
131
+
132
+ ### Sites
133
+
134
+ * [ Coding for Interviews] ( http://codingforinterviews.com/ )
135
+ * [ Career Cup] ( https://www.careercup.com/ )
136
+ * [ HiredInTech] ( https://www.hiredintech.com/ )
137
+ * [ Codela] ( https://www.codela.net/ )
138
+ * [ TestDome] ( https://www.testdome.com/ )
139
+ * [ FreeCodeCamp] ( https://www.freecodecamp.com/ ) * "Learn to code and help nonprofits"*
140
+ * [ Dynamic Programming Practice Problems] ( https://people.cs.clemson.edu/~bcdean/dp_practice/ )
141
+
142
+ ### Videos
143
+
144
+ * [ How to: Work at Google – Candidate Coaching Session for Technical Interviewing [ 45:45]] ( https://www.youtube.com/watch?v=oWbUtlUhwa8 )
145
+ * Gayle McDowell – [ Cracking the Coding Interview [ 1:14:24]] ( https://www.youtube.com/watch?v=rEJzOhC5ZtQ )
146
+ * Gayle McDowell - [ Cracking the Coding Interview (examples) [ 9:05]] ( https://www.youtube.com/watch?v=aClxtDcdpsQ )
147
+ * [ Google Recruiters Share Technical Interview Tips [ 31:06]] ( https://www.youtube.com/watch?v=qc1owf2-220 )
148
+ * [ Google Recruiters Share Non-Technical Interview Tips [ 28:23]] ( https://www.youtube.com/watch?v=DINxNbBOEoI )
149
+ * Moishe Lettvin – [ What I Learned Doing 250 Interviews at Google [ 1:00:24]] ( https://www.youtube.com/watch?v=r8RxkpUvxK0 )
150
+ * Sean Lee – [ How to Get a Job at the Big 4 [ 42:34]] ( https://www.youtube.com/watch?v=YJZCUhxNCv8 )
151
+ * Ladies Storm Hackathons – [ Interview Prep Round 1: Strings, Arrays, Linked Lists [ 1:12:39]] ( https://www.youtube.com/watch?v=fIpliB-ton8 )
152
+ * Randall Koutnik – [ Rethinking the Developer Career Path [ 25:03]] ( https://www.youtube.com/watch?v=yIPbE7BssOs )
153
+
154
+ ### System Design
155
+
156
+ * [ donnemartin/system-design-primer] ( https://github.com/donnemartin/system-design-primer )
157
+ * [ Grokking the System Design Interview] ( https://www.educative.io/courses/grokking-the-system-design-interview )
158
+ * This is a paid course but has several free previews such as [ Designing Instagram] ( https://www.educative.io/courses/grokking-the-system-design-interview/m2yDVZnQ8lG )
159
+ * [ binhnguyennus/awesome-scalability] ( https://github.com/binhnguyennus/awesome-scalability )
160
+ * Raph Levien – [ Rope Science] ( https://github.com/google/xi-editor/blob/master/doc/rope_science/intro.md )
161
+ * [ Architecture of Open Source Applications] ( http://aosabook.org/en/index.html )
162
+ * [ How should I prepare system design questions for Google/Facebook interview?] ( http://www.quora.com/Job-Interviews/How-should-I-prepare-system-design-questions-for-Google-Facebook-Interview )
163
+ * Jeff Atwood – [ How Good an Estimator Are You?] ( http://blog.codinghorror.com/how-good-an-estimator-are-you/ )
164
+ * [ 0xAX/linux-insides] ( https://github.com/0xAX/linux-insides )
165
+
166
+ ### Computer Science News
167
+
168
+ * [ Hacker News] ( https://news.ycombinator.com/ )
169
+ * [ Lobsters] ( https://lobste.rs/ )
69
170
70
171
71
172
## Contributing
@@ -74,15 +175,13 @@ This repository contains examples of various algorithms written on different pro
74
175
2 . Clone the forked repository to local system.
75
176
3 . Create your feature branch: ` git checkout -b my-new-feature `
76
177
4 . Commit your changes: ` git commit -am 'Add some feature' ` .
77
-
78
178
Go through [ Commit Messages guidelines] ( CONTRIBUTING.md#write-good-commit-messages )
79
179
5 . Push to the branch: ` git push origin my-new-feature `
80
180
6 . Submit a pull request :smile :
81
181
182
+ See [ Contributor.md] ( Contributor.md )
183
+ ilename] </pre > |
82
184
83
- ## Support
84
-
85
- Feel free to contact us at our
[ E-mail
] ( [email protected] ) , we'd be happy to help!
86
185
87
186
## Notes
88
187
@@ -91,3 +190,5 @@ Other members can add their reviews to a PR but the merging should be done by on
91
190
92
191
## Authors
93
192
* [ Saurav Jaiswal] ( http://sauravjaiswalsj.me )
193
+
194
+
0 commit comments