๐งฐ Data Structs & Algos
โ๏ธ System Design
๐ค Interviewing
Product Management
Java
Android
Python
Shell
Web
Javascript
C/C++
Version Control
๐ Database
๐งน Clean Code
๐ Design Patterns
๐ฌ Testing
๐ผ๏ธ Frameworks
๐ More
๐ ๏ธ ASM
๐ป Operating Systems
๐ฉ Hardware
๐ญ Compilers / Interpreters
๐งฎ Notable Languages
- Complexity:
- Best, worst and average case - Wikipedia
- Big-O Cheat Sheet
- Concurrency:
- The Deadlock Empire - Slay dragons, master concurrency!
- Dynamic Programming:
- General Prep:
- Coding Interview Prep - freeCodeCamp ๐
- Coding Interview University - jwasham
- Facebook Interview Questions & Prep - 2021
- Data Structure and Algorithms - Tutorials Point
- Tech Interview Handbook ๐
- Computer Science: Algorithms - Khan Academy ๐
- Introduction to Algorithms (playlist) - MIT ๐
- Algorithms, 4th Edition - Princeton ๐
- Algorithms, Part I - Princeton/Coursera ๐
- Algorithms, Part II - Princeton/Coursera ๐
- Algorithm Design - HiredInTech ๐
- Patterns:
- Practice:
- Reference:
- Data Structures - Wikibooks ๐
- Algorithms - Wikibooks ๐
- Dictionary of Algorithms and Data Structures - NIST
- Outline of Computer Science - Wikipedia
- Sorting:
- Sorting algorithms - Wikipedia
- Sorting Algorithm Animations - Toptal
- Part 1: A Simple Framework For Mobile System Design Interviews
- Part 2: Additional Topics For Mobile System Design Interviews
- Best practices for REST API design
- Object-Oriented Reengineering Patterns ๐
- System Design - HiredInTech ๐
- Resume Tips - CareerCup
- Craft A Solid Resume - Anthony D. Mays
- My Personal Formula for a Winning Resume - Lazlo Bock
- Ace Your Interview Behavioral Questions - Alex Chiou
- Sample Strengths & Weaknesses
- 6 Things Absolutely Needed for Google Interview - Anthony D. Mays [
]
- Preparing for the Google Tech Interview - Anthony D. Mays
- Example Coding/Engineering Interview - Google
- Preparing for Your Software Engineering Interview - Facebook
- Top Interview Questions - LinkedIn (engineering)
- Interview Questions and Answers - LinkedIn (behavioral)
- SDE Interview Prep - Amazon
- Cracking the Frontend Interview - freeCodeCamp
- Frontend Interview Prep Handbook ๐
- The STAR Method
- Engineering Interviews: Grading Rubric - Medium
- Soft Skills - HiredInTech ๐
- Planning a project... - Microsoft
- How to Prepare for PM Interviews
- Getting Real - Basecamp
- Making Sense of Minimum Viable Products (MVPs)
- Agile Product Ownership in a Nutshell
- Agile/Scrum Training (Playlist) - CollabNet
- Agile Management - Google Project Management Certificate
- No Estimates - Allen Holub
- Fail Fast, Move On - Michael Kรผsters
- Feasibility Study - Wikipedia
- Program Management - Wikipedia
- Project Manager - Wikipedia
- Tuckman's Stages of Group Development - Wikipedia
- The Wall of Technical Debt - Mathias Verraes
- With Goals, FAST Beats SMART - MIT Sloan
- Oblique Leadership Style - Tackboom Shift
- Java Tutorial - Oracle ๐
- Java Tutorials - Jakob Jenkov
- Java API Docs - Oracle (Collections: overview ; reference)
- Java Style Guide - Google
- Java Language Spec - Oracle
- Programming Methodology - Stanford ๐
- Software Construction in Java - MIT ๐
- Advanced Software Construction in Java - MIT ๐
- Computer Sc - Data Structures and Algorithms - IIT Delhi ๐
- Introduction to Computer Science in Java - Princeton ๐
- Design Patterns in Java Tutorial - Tutorials Point
- Coding Standard for Java - SEI
- Java Design Patterns & Principles
- Android Cliffnotes - CodePath
- Docs - Android 4.2 (API Level 17 - Jelly Bean MR1) - MIT
- Docs - Android 4.4 (API Level 19 - Kitkat)
- Docs - Android 6.0 (API Level 23 - Marshmallow)
- Docs - Android (Current / Latest - Not Greatest
)
- Learn Android - Tutorials Point
- Android Programming Succinctly - Syncfusion ๐
- Android Books - CommonsWare ๐
- GUI Design for Android Apps - Apress ๐
- AOSP
- Android Secure Coding Standard - SEI
- Android Development Tutorials - Vogella
- Time Complexities - CPython
- Python Style Guide - Google
- PEP-8 Style Guide - python.org
- Python API Docs - python.org
- Dive Into Python 3 ๐
- Python 3 Patterns, Recipes and Idioms ๐
- The Python Tutorial - python.org ๐
- Python for Everybody ๐ ๐
- Introduction to Programming in Python - Princeton ๐
- Think Python ๐
- Tkinter GUI Reference - New Mexico Tech
- Pytest
- UNIX Documentation - Stanford
- Shell Style Guide - Google
- System Administration - ArchWiki
- Environment Variables - Wikipedia
- NO_COLOR
- Bash Guide for Beginners - tldp.org
- BASH Programming - Introduction HOW-TO - tldp.org
- Advanced Bash-Scripting Guide - tldp.org
- GNU/Linux Command-Line Tools Summary - tldp.org
- Linux Dictionary - tldp.org
- Essentials of Linux Network Administration - ActualTech
- Using the Terminal - Linode
- Using Linux - Raspberry Pi Documentation
- Windows Batch Scripting - Wikibooks
- Bash Shell Scripting - Wikibooks
- Bourne Shell Scripting - Wikibooks
- Guidance on Web Accessibility and the ADA - DOJ
- HTML โ Living Standard - whatwg
- HTML/CSS Style Guide - Google
- Medium's CSS
- CSS Cheatsheet
- CSS Quick Ref
- HTTP Headers - MDN
- Introduction to Progressive Web Apps (PWAs) - MDN
- Security Considerations - W3C (RFC 2616)
- 21 Server Security Tips to Secure Your Server - Phoenix NAP
- Recommended Server Side TLS Configurations - Mozilla wiki
- JMeter - Apache
- ECMAScript spec (latest)
- ECMAScript spec (ES5)
- ECMAScript spec (ES3)
- Javascript Style Guide - Google
- Javascript Tutorial - W3Schools ๐
- JavaScript Algorithms and Data Structures - freeCodeCamp ๐
- The Modern Javascript Tutorial - javascript.info
- Eloquent Javascript ๐
- You Don't Know JS (book series) ๐
- Functional-Light JavaScript ๐
- Structure and Interpretation of Computer Programs (SICP) - Comparison Edition ๐
- What every JavaScript developer should know about Unicode
- RegEx101 playground
- References
- C Reference Card (ANSI)
- C++ Reference Card
- C/C++ Reference - cppreference.com
- C Language Reference - Open Watcom ๐
- C++ Standard Library Containers - Microsoft
- STL Quick Reference
- The GNU C Library Reference Manual - gnu.org [
]
- C++23 Standard (final draft)
- C Reference Card (ANSI)
- Tutorials
- A Tour of C++ - isocpp.org
- A Tour of C++ Containers - stroustrup.com
- C++ Tutorial (0x/11) - cplusplus.com [
(98/03)]
- Google's C++ Class
- The GNU C Reference Manual - gnu.org [
]
- Welcome back to C++ (Modern C++) - Microsoft
- Think C++ (1999, AP Exam oriented) - Downey (github)
- Guidelines
- C++ Core Guidelines - Stroustrup / Sutter
- C++ Tips - abseil.io
- Guidelines for the use of the C++14 language in critical and safety-related systems - Autosar
- JSF Air Vehicle C++ Coding Standards
- HIC++ Coding Standard - Perforce
- C Coding Standard - SEI
- C++ Coding Standard - SEI
- Style Guides
- C++ Style Guide - Google
- Coding Conventions - Qt
- LLVM Coding Standards - LLVM
- PPP Style Guide - Stroustrup
- OOP in C
- Object-Oriented Programming in C - Dr. Dobb's Journal
- Object-Oriented Programming (OOP) in C - Michael Safyan
- Object-Oriented Programming With ANSI-C - Axel-Tobias Schreiner ๐
- Courses
- Programming Abstractions - Stanford ๐
- Programming Paradigms - Stanford ๐
- Performance Engineering of Software Systems - MIT ๐
- Advanced Programming in Unix ๐
- Other Guides
- C++ Programming - Wikibooks
- Optimizing C++ - Wikibooks
- From Source to Binary: The Inner Workings of GCC - Redhat
- Modern C - Jens Gustedt ๐
- Quick Guide to GDB - Beej
- TC++PL4 Exercises - Stroustrup
- Teach Yourself C++ in 21 Days ๐
- The C Book - gbdirect ๐
- Git Tutorial - W3Schools ๐
- Pro Git ๐
- Git Succintly ๐
- SQL Tutorial - W3Schools ๐
- SQL Indexing and Tuning
- SQLite Command Line Shell
- SQL Dialects Reference - Wikibooks
- SQL Exercises - Wikibooks
- Summary of Clean Code
- Cยณ: Common Coding Conventions
- Clean Code: Smells and Heuristics
- Rules for Variable and Class Naming - Tim Ottinger
- Software Development People & Patterns - WikiWikiWeb
- How to Make a Good Pull Request
- Clean Code (playlist) - Robert Cecil Martin, Sandi Metz, et al
- An Introduction to Object-Oriented Design
- Design Patterns (GoF) - Wikipedia
- Design Patterns - a4m33nms
- Implementation Patterns (sample chapter) - Kent Beck
- Pattern Digest
- Portland Pattern Repository
- How to Design Programs ๐
- MVC Pattern - Trygve Reenskaug
- The Three Laws of TDD
- Testability
- Mutation Testing with Python
- Snapshot Testing with Git - Karl Bartel
- Donโt Use Frameworks - Victor's Blog
- A framework author's case against frameworks - Adrian Holovaty
- Guides: Principles and standards - 18F
- Techniques for WCAG 2.1 - w3c
- Build an Effective Dev Portfolio ๐
- Tech Dev Guide - Google ๐
- Software Engineering at Google ๐
- Mathematics for Computer Science - MIT ๐
- Flame Graphs and How to Read Them - RubyConf
- Joel on Software - Joel Spolsky
- UML 2.5.1 (2017) spec - OMG
- UML Basics - Umbrello
- Contextual Design: Evolved (HCI) - holtzblatt ๐
- Elements of Programming - Stepanov / McJones ๐
- CS143: Compilers - Stanford (based on dragon book) ๐
- JSON
- TOML
- References
- Common x86 Instructions
- i386 Programmer's Manual - MIT ๐
- Common x86 Instructions
- IA-32 Tutorials
- x86-64 Tutorials
- Optimization Guides
- Optimizing Assembly - Agner Fog
- Software Optimization Guide - AMD
- Optimization Reference Manual - Intel
- Optimizing Assembly - Agner Fog
- General Guides
- Computer Organization and Design Fundamentals ๐
- Operating Systems: Three Easy Pieces ๐
- Wiki - OSDev
- Linux Insides
- The Linux Kernel Documentation - kernel.org
- The Linux Kernel (2.0.33) - tldp.org
- Operating Systems From 0 to 1 - Tu, Do Hoang ๐
- STRUCTURE OF COMPUTER SYSTEMS - BARUCH ๐
- Crafting Interpreters - Nystrom ๐
- GNU Octave - Matlab
- Lua
- Racket ( Lisp / Scheme )
- Write Yourself a Scheme in 48 Hours - Wikibooks
- Scheme Programming - Wikibooks
- Self
- Squeak - Smalltalk