This repository contains implementation of classic algorithms, mock interview questions as well as different materials to prepare for SWE / SRE job.
- Graph/
- Linked lists/
- Stacks/
- Heap/
- Binary Trees/
- Doubly Linked List
- Set
- Tries
- Queues
- Priority Queue
- Vectors / ArrayLists
- Hash Tables
- Map (Binary tree)
- Circular buffer
- Bunch
- Pool
- Breadth first search/
- Depth first search/
- Dijkstra Shortest Path/
- Finding biggest island/
- Merge sort/
- Quick sort/
- Random Select/
- Determenistic Select/
- Min cut search in graphs/
- Find in an array a subarray, which has the max sum of all elements/
- A program which plays tic-tac-toe/
- Tree insert / find etc./
- Reverse a linked list/
- Checking if the code with different brackets is valid (recursive and with stack)/
- Water spillage in the labyrinth/
- Binary search/
- Find cycle in the linked list (returning true or false)/
- Reverse linked list (hare and turtle)/
- Producer - Consumer problem/
- Find biggest island in O(nm) with recursion/
- Given / 3, / 2, -1 operations find min num of steps to get 1 (top-down)/
- Given / 3, / 2, -1 operations find min num of steps to get 1 (bottom-up)/
- Given / 3, / 2, -1 operations find min num of steps to get 1 (2 threads)/
- Paint houses so that 2 same colors never go together /
- Backpack problem/
- Given a target value and an array find three items that match it/
- Find cycle in the linked list using two pointers, return start point
- Remove duplicates from a list of strings which is larger than the available memory (i.e. with reloads from disk)
- Count the number of disjoint objects in a bitmap
- Tree balancing
- Invariants
- Finite automata
- Bit manipulation
- NP-complete problem
- Optimistic problem
- Java concurrency vs threads
- External Sorting
- RPC calls
- MapReduce
- Deadlock
- Big-O Time
- Recursion
- Singleton Design Pattern
- Factory design pattern
- Memory (Stack vs Heap)
- Cracking the Coding Interview by Gayle Laakmann McDowell
- Hackerrank - interactive problem solving/
- Algorithms: Design and Analysis, Part 1/
- Algorithms: Design and Analysis, Part 2/
- Project Euler - interactive problem solving/
- Programming Paradigms (Stanford)/
- Java Recursion exercises/
- Parameters passing in java/
- Game programming in Java/
- Java Memory Model/
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook
- Site Reliability Engineering: How Google Runs Production Systems
- Linux Administration games/
- Bash scripting guide/
- Yandex.Root 2010 Q&A - RU lang/
- Hack The Kernel at ops-class.org/
- Operating Systems and System Programming/
- Networking/
- UNIX and Linux System Administration Handbook
- Sending and receiving packets/
- Technical guide from Google/
- TCP/IP Network Administration by By Craig Hunt