Last active
May 5, 2019 05:09
-
-
Save thamaraiselvam/0346804a8f329f411771246253be7750 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Pair programming | |
- State what you know | |
- Ask questions | |
- Start Simple | |
- Should be extendable | |
- Write tests | |
Data structure | |
------------------- | |
tree ( Eg: Filesystem tree, PATH /usr/home/tom) | |
-undirected graph , acyclic(no cycle) connected graph | |
-n nodes n- 1 edges | |
-node connected by one path | |
-Root, parent, child, key, edges, leaf nodes(bottom , no child), sub tree | |
Binary Tree: | |
-Only max two children | |
Binary search tree | |
-lesser on left, bigger on right | |
Uses: | |
syntax trees (compilers and calculators) | |
On insertion: | |
if < on left | |
if > on right | |
if same do nothing | |
on removal: | |
find: | |
reached null node (not found) | |
== 0 found | |
< go to left | |
> go to right | |
replace to successor | |
if leaf - no effect | |
if it has right node | |
if it has left node | |
if it has both - find smallest on right || find largest on left | |
Traversal: | |
Preorder - print before | |
In order - print in middle | |
post order - print after | |
level order - print level by level - BFS - using queue | |
Hashing: | |
DS that map -> key and values | |
keys - hasing - unique - fixed range | |
uses: | |
check words frequencies | |
Heap: | |
binary tree: | |
1.Max heap - root node max of all nodes | |
2. min heap - root node min of all nodes | |
Dikistra Algo: | |
find value shortest path using its distance between two nodes | |
Algorithms | |
--------------- | |
- Sorting and Searching | |
Merge Sort | |
Quick Sort | |
Insertion Sort | |
selection Sort | |
Bubble Sort | |
radix sort | |
- Bit Manipulation | |
- Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair | |
- Divide and Conquer | |
- Greedy | |
- Dynamic Programming - Extremely important | |
- Probability and basic Number Theory | |
- Try famous Problems for solutions | |
Other languages | |
- Angular - Learn all basics | |
Problems: | |
- Facebook mutual friends create design | |
- Software excelence | |
- tic tak toe gam | |
- data structures used for file search and tree traversal and insertion | |
- app like split wise | |
Social Cause: | |
- caste based system - DONe | |
- LBGT - DONE | |
- women in tech - DONE | |
Technology Depth | |
- Microservices - DONE ( Highly maintanable and testable, loosly couples, independent deployement) | |
- OS - DONE - Threads, Processes (Instance of computer program, it can have single or multiple threads) - DONE | |
- Memory Management - DONE- Single contiguous, partitioned , paged, segmented => First(first free) , best(smallest process can adopt), worst (largest), next fit(after first it start from where it left from) - DONE | |
- Scalability Issues - DONE -(Architecture issues(Microservices, load balancer..etc), database scalling(split database, replicas, sharding..etc), CPU Bound(heavy calulcation, no caching, no async could cuase it), IO bound(more time than cpu process, SSD could fix)) | |
- Linux booting process | |
BIOS(basic i/o system) => search ->load -> execute -> MBR boot loader programs | |
MBL(master boot loader) => MBL -> executes GRUB boot loader | |
GRUB(Grand Unified boot loader) => loads ->execute ->Kernal (If multple kernal images it will show on system) | |
Kernal => execute init() program -> Mount FS and initilize RAM and init other hardwares | |
Init => execute run level programs | |
Run level Programs => executes startups ..etc | |
- Linux commands | |
ps => get processes | |
grep => print by regular expression | |
sed => replace strings in text file | |
ifconfig, ls,rm,find,touch,vi,emacs,rmdir,chmod,chown, init 0, init 1, init 6 | |
- CSS3, Saas - DONE - can import, var, reuse ,strcutured way of writing css | |
- Docker - Hypervisor (separate os for each machine and fixed resouces), Docker engine talks directly to Host os and docker file -> images -> containers | |
- Git commands - DONE | |
-Browser background: | |
DNS look up to get IP | |
Browser cache -> System Cache -> router Cache -> resolver (ISP) Cache -> | |
ROOT Server (8 server all over the world) -> It gives top level domain -> (.com) -> that server -> Name server with its ip ->it gives ip address for that site | |
Resolver -> OS -> Browser IP received -> | |
Make http request to server -> request -> server Agreed and send Acknowldge ->client agreed and send ack -> connection estableshed -> server sends data with headers to browser then browser shows it |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment