Top Related Projects
A complete computer science study plan to become a software engineer.
💯 Curated coding interview preparation materials for busy software engineers
Everything you need to know to get the job.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.
Quick Overview
Olshansk/interview is a GitHub repository containing a curated list of technical interview preparation materials. It covers various topics such as algorithms, data structures, system design, and behavioral questions. The repository serves as a comprehensive resource for job seekers in the tech industry.
Pros
- Extensive collection of resources covering multiple aspects of technical interviews
- Well-organized structure with clear categorization of topics
- Regularly updated with new materials and contributions from the community
- Includes both free and paid resources, catering to different learning preferences
Cons
- May be overwhelming for beginners due to the vast amount of information
- Some links may become outdated over time if not regularly maintained
- Lacks personalized guidance on which resources to prioritize based on individual needs
- Does not provide direct practice problems or coding exercises within the repository itself
Note: As this is not a code library, the code example and quick start sections have been omitted as per the instructions.
Competitor Comparisons
A complete computer science study plan to become a software engineer.
Pros of coding-interview-university
- More comprehensive coverage of computer science topics
- Structured learning path with clear progression
- Extensive list of free learning resources and practice problems
Cons of coding-interview-university
- Can be overwhelming due to the sheer amount of content
- Less focus on specific interview questions and techniques
- May take longer to complete due to its breadth
Code Comparison
While both repositories focus on interview preparation, they don't contain significant code samples. However, coding-interview-university does include some pseudocode examples for algorithms:
# Example from coding-interview-university
def binary_search(list, item):
low = 0
high = len(list) - 1
while low <= high:
mid = (low + high) // 2
guess = list[mid]
if guess == item:
return mid
if guess > item:
high = mid - 1
else:
low = mid + 1
return None
interview doesn't provide code examples but focuses more on curating links to external resources and interview questions.
Both repositories serve as valuable resources for interview preparation, with coding-interview-university offering a more in-depth study guide for computer science fundamentals, while interview provides a curated list of resources and questions specifically tailored for technical interviews.
💯 Curated coding interview preparation materials for busy software engineers
Pros of tech-interview-handbook
- More comprehensive coverage of topics, including system design and behavioral questions
- Better organized with clear sections for different interview stages
- Regularly updated with contributions from a larger community
Cons of tech-interview-handbook
- May be overwhelming for beginners due to its extensive content
- Less focus on specific programming languages compared to interview
Code comparison
tech-interview-handbook:
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
interview:
def binary_search(a, x):
lo = 0
hi = len(a)
while lo < hi:
mid = (lo+hi)//2
if a[mid] < x:
lo = mid+1
else:
hi = mid
return lo
Both repositories provide valuable resources for technical interview preparation. tech-interview-handbook offers a more comprehensive and structured approach, covering a wider range of topics and interview stages. However, it may be overwhelming for beginners. interview, while less extensive, provides a more focused approach with language-specific examples. The code comparison shows similar implementations of binary search, with tech-interview-handbook's version being slightly more verbose but potentially easier to understand for beginners.
Everything you need to know to get the job.
Pros of interviews
- More comprehensive coverage of algorithms and data structures
- Includes implementations in multiple programming languages (Java, Python, JavaScript)
- Actively maintained with recent updates
Cons of interviews
- Less focus on system design and behavioral questions
- May be overwhelming for beginners due to the large amount of content
- Lacks a clear structure or learning path for users
Code Comparison
interviews (Java):
public ListNode reverseList(ListNode head) {
ListNode prev = null;
while (head != null) {
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}
return prev;
}
interview (Python):
def reverse_linked_list(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
return prev
Both repositories provide similar implementations for reversing a linked list, with interviews using Java and interview using Python. The core logic remains the same, demonstrating the consistency in approach across different programming languages.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Pros of system-design-primer
- More comprehensive coverage of system design topics
- Includes visual diagrams and illustrations for better understanding
- Regularly updated with new content and improvements
Cons of system-design-primer
- Focuses primarily on system design, lacking broader interview preparation
- May be overwhelming for beginners due to its extensive content
- Less emphasis on coding problems and solutions
Code comparison
While both repositories don't primarily focus on code examples, system-design-primer does include some code snippets for illustrating concepts. For example:
# system-design-primer
class LRUCache:
def __init__(self, capacity):
self.capacity = capacity
self.cache = collections.OrderedDict()
def get(self, key):
if key not in self.cache:
return -1
self.cache.move_to_end(key)
return self.cache[key]
interview doesn't typically include code snippets, as it focuses more on curating links and resources rather than providing direct examples.
Summary
system-design-primer is a comprehensive resource for system design topics with visual aids and occasional code examples. It's regularly updated but may be overwhelming for beginners. interview, on the other hand, offers a broader range of interview preparation resources but lacks the depth in system design and code examples found in system-design-primer.
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
Pros of javascript-algorithms
- Focuses specifically on JavaScript implementations of algorithms and data structures
- Includes detailed explanations and complexity analysis for each algorithm
- Provides a wide range of algorithms, from basic to advanced
Cons of javascript-algorithms
- Limited to JavaScript, while interview covers multiple languages
- Lacks system design and behavioral interview preparation content
- May not cover all interview-specific coding challenges
Code Comparison
javascript-algorithms (Binary Search implementation):
function binarySearch(array, key) {
let left = 0;
let right = array.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (array[mid] === key) return mid;
if (array[mid] < key) left = mid + 1;
else right = mid - 1;
}
return -1;
}
interview (Python example for reversing a linked list):
def reverse_list(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
return prev
Both repositories offer valuable resources for technical interview preparation, but they cater to different aspects of the process. javascript-algorithms provides in-depth coverage of algorithms and data structures specifically in JavaScript, while interview offers a broader range of topics and languages for comprehensive interview preparation.
A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.
Pros of Front-end-Developer-Interview-Questions
- Highly focused on front-end development, providing in-depth questions specific to this domain
- Regularly updated with contributions from a large community of developers
- Well-organized into categories, making it easy to find relevant questions
Cons of Front-end-Developer-Interview-Questions
- Limited to front-end topics, lacking coverage of other areas of software development
- May be overwhelming for beginners due to its extensive list of questions
- Doesn't provide answers or explanations for the questions
Code Comparison
Front-end-Developer-Interview-Questions:
function duplicateEncode(word) {
return word
.toLowerCase()
.split('')
.map((char, index, array) =>
array.indexOf(char) === array.lastIndexOf(char) ? '(' : ')'
)
.join('');
}
interview:
def is_palindrome(s):
return s == s[::-1]
The Front-end-Developer-Interview-Questions repository focuses on JavaScript and front-end specific code examples, while the interview repository covers a broader range of programming languages and concepts.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Content
Found a dead link? Try archive.is or the Wayback Machine.
Algorithms
Books
- Jeff Erickson - Algorithms
- Steven Skiena â The Algorithm Design Manual
- Udi Manber â Introduction to Algorithms: A Creative Approach
- Cormen, Leiserson, Rivest, Stein â Introduction to Algorithms
- Sedgewick, Wayne â Algorithms
- Antti Laaksonen â Competitive Programmer's Handbook
- Steven & Felix Halim â Competitive Programming
- Jon Bentley â Programming Pearls
- E-Maxx Algorithms
- vhf/free-programming-books
- it-ebooks.info
- S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani -Algorithms
Coding practice
- LeetCode
- LeetCode w/ Explanations labuladong/fucking-algorithm
- InterviewBit
- Codility
- Intervue.io
- HackerRank
- Project Euler
- Spoj
- Google Code Jam practice problems
- HackerEarth
- Top Coder
- CodeChef
- Codewars
- CodeSignal
- CodeKata
- Firecode
- CoderPad
- Exercism
Guides
- GeeksForGeeks â A CS portal for geeks
- Learneroo â Algorithms
- Top Coder tutorials
- Infoarena training path (RO)
- Steven & Felix Halim â Increasing the Lower Bound of Programming Contests (UVA Online Judge)
Misc
- Top 10 Algorithms in Interview Questions
- Hard interview questions that have a short recursive solution
- Grow Your Technical Skills with Google
- JavaScript Algorithms and Data Structures
- Data Structure Interview Questions
Guides
Articles
-
Steve Yegge â Get That Job at Google
-
Steve Yegge â Ten Tips for a (Slightly) Less Awful Resume
-
Carlos Bueno â Get That Job at Facebook
-
Daniel Blumenthal â How to Prepare for Technical Interviews
-
David Byttow â ABC: Always Be Coding
-
David Byttow â Four Steps to Google, Without a Degree
-
Thomas L. Friedman â How to Get a Job at Google [part 1] [part 2]
-
Andrew Rothbart â Preparing for a technical interview with programming contests
-
Mina Azib â Resources for Preparing for the Google Interview
-
Bill Sourour â How To Win the Coding Interview
-
Ammon Bartram â How To Pass a Programming Interview
-
Tony Wu - Medium Blog
- Guide for Behavioral Interviews
- Mastering the Remote System Design Interview
- Backend Coding Interview Prep
- Frontend Coding Interview Prep
- Questions for your Interviewer
- General Interview Prepation
- Behavioral Interviews: Stories (TMW)
- Guide to Technical Presentations / Retrospectives
- Smarter Way to Prep for System Design (Backend)
Books
- Gayle McDowell â The Google Resume
- Gayle McDowell â Cracking the Coding Interview
- Giguere, Mongan, Kindler â Programming Interviews Exposed
- Aziz, Lee, Prakash â Elements of Programming Interviews [code]
- Narashima Karumanchi â Coding Interview Questions
Courses
- MIT â Hacking a Google Interview
- Coderust 2.0 ($$)
- Interview Cake ($$$) [review]
- How to Ace the Software Engineering Interview ($$)
- Grokking the System Design Interview ($$)
- Algorithms: Design and Analysis
- Algorithms and Data Structures - Part 1
- Algorithms and Data Structures - Part 2
Misc
- Pramp - Top 8 Mistakes in Technical Interviews According to Data
- Joel Spolsky â The Guerrilla Guide to Interviewing (v.3)
- Steve Yegge â Done, and Gets Things Smart
- Steve Yegge â Five Essential Phone Interview Questions
- Daniel Blumenthal â Questions I Want to Ask, but Can't
- 50+ Interviews with Facebook, Twitter, Amazon & others
- Technical Interviews Make Me Cry
- How I hustled my way to a developer job at Khan Academy
- How does an interviewer define the difficulty level of a question?
- Aaron Swartz â How I Hire Programmers
- Phil Calçado â On Asking Job Candidates to Code
- Moxie Marlinspike â Career Advice
- Dan Luu â We Only Hire the Trendiest
- Reginald Long â How I went from failing every interview to a job at Amazon
- Shivan Kaul Sahib - 'Clean your desk' : My Amazon interview experience
- Key Values - A website which helps to find the best team due to your values
- Laurie Voss - You suck at technical interviews
- Google's "Director of Engineering" Hiring Test
- IT-Career useful links
- Resume helper
Mock interviews
- interviewing.io
- mockinterview.app
- Pramp "Practice coding interviews for free"
- Refdash
- Gainlo
- Candidacy.io
- Skilled
- Meetapro "Experienced FAANG interviewers"
Q&A
- How to prepare for my Google/Facebook interview if I have 6 months left?
- How should I prepare for my Google interview if I have 1 month left?
- What is the best advice for an engineering internship interview at Google or Facebook?
- What graph topics should I study in order to be adequately prepared for a Google Software Engineer interview?
Sites
- Coding for Interviews
- Career Cup
- HiredInTech
- Codela
- TestDome
- FreeCodeCamp "Learn to code and help nonprofits"
- Dynamic Programming Practice Problems
- Codility Lessons
- Introduction to Theoretical Computer Science
- Scaler Topics
Videos
-
How to: Work at Google â Candidate Coaching Session for Technical Interviewing [45:45]
-
Gayle McDowell â Cracking the Coding Interview [1:14:24]
-
Gayle McDowell - Cracking the Coding Interview (examples) [9:05]
-
Google Recruiters Share Non-Technical Interview Tips [28:23]
-
Moishe Lettvin â What I Learned Doing 250 Interviews at Google [1:00:24]
-
Sean Lee â How to Get a Job at the Big 4 [42:34]
-
Ladies Storm Hackathons â Interview Prep Round 1: Strings, Arrays, Linked Lists [1:12:39]
-
Randall Koutnik â Rethinking the Developer Career Path [25:03]
Languages and technologies
Android
ASP.NET
- Shailendra Chauhan â ASP.NET MVC Interview Questions & Answers
- Top 10 ASP.NET MVC Interview Questions
- ASP.NET Interview Questions
C#
Go
JavaScript
- Free books by Dr. Axel Rauschmayer
- You Don't Know JS
- Superhero.js
- h5bp/Front-end-Developer-Interview-Questions
- Javascript Interview Questions and Answers
- JavaScript Modern Interview Code Challenges
Node
PHP
Python
- The Hitchhiker's Guide to Python
- quantifiedcode/python-anti-patterns
- The Insider's Guide to Python Interviewing
- Book: Elements of Programming Interviews in Python
- Python Interview Questions
React
- markerikson/react-redux-links
- 12 Essential React.js Interview Questions
- React Interview Questions
- React Interview Questions and Answers
Other topics
Crypto
- Coursera, Stanford, Dan Boneh â Cryptography I
- Boneh, Shoup â A Graduate Course in Applied Cryptography
- The Cryptopals Crypto Challenges
- Praetorian Tech Challenges
- Cryptography Services Challenges
Funny
- Aphyr â Reversing the technical interview
- Aphyr â Hexing the technical interview
- Aphyr â Typing the technical interview
Maths
- MIT - Mathematics for Computer Science
- Graham, Knuth, Patashnik â Concrete Mathematics: A Foundation for Computer Science
- Bogart, Drysdale, Stein â Discrete Math for Computer Science Students
Networking
- Joyent â TCP Puzzlers
- Andrew Tanenbaum â Computer Networks
- Kurose, Ross â Computer Networking: A Top-Down Approach
- W. Richard Stevens â TCP/IP Illustrated, Vol. 1: The Protocols
- W. Richard Stevens â UNIX Network Programming
Operating systems
- UCB CS162 Operating Systems [class] [videos]
- The Eudyptula Challenge
- What is the difference between a process and a thread?
- OS Interview Questions
System design
- System Design Newsletter by Neo Kim
- ML Eng Interview Guide by Patrick Halina
- Ticket Sales Site
- donnemartin/system-design-primer
- Grokking the System Design Interview
- This is a paid course but has several free previews such as Designing Instagram
- binhnguyennus/awesome-scalability
- Architecture of Open Source Applications
- How should I prepare system design questions for Google/Facebook interview?
- Jeff Atwood â How Good an Estimator Are You?
- 0xAX/linux-insides
Advanced but great:
- Brendan Burns - Designing Distributed Systems [pdf]
- Raph Levien â Rope Science
Similar repos
- MaximAbramchuck/awesome-interview-questions
- donnemartin/interactive-coding-challenges
- schmatz/cs-interview-guide
- mission-peace/interview
- prakhar1989/awesome-courses
- SITZ/JobPuzzles
- davidhampgonsalves/interview-resources
- blakeembrey/code-problems
- ChiperSoft/InterviewThis
- ruby-jokes/job_interview
- what-happens-when
- poteto/hiring-without-whiteboards
- liwei606/interview
- yangshun/tech-interview-handbook
- ashishps1/awesome-behavioral-interviews
Top Related Projects
A complete computer science study plan to become a software engineer.
💯 Curated coding interview preparation materials for busy software engineers
Everything you need to know to get the job.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot