Tech Interview Preparation 101
Agenda
- 
	
A brief overview of the interview process
 - 
	
Getting to know the right resources
 - 
	
The Essentials
 
Step 1
Understanding what is asked in a tech interview
Aptitude
Quantitative Aptitude
Core CS
OS, DBMS, Networks
Core CS
- Paging, thrashing, segmentation
 - deadlocks, semaphore
 - Cache replacement policies
 - Normalization, ACID Properties
 - SQL, NoSQL databases
 - Writing nested queries
 - TCP / IP Stack
 - Subnets, topologies
 - sockets, ports
 
Data Structures
and Algorithms
DS Algo
- Union Find
 - Linked Lists
 - Trees, BTree, BST, Tries
 - Stacks, Queues
 - BFS, DFS
 - HashSets, HashMaps
 - Arrays
 - Strings
 - Heaps,
 - Priority Queues
 - Graphs
 
- Bit Manipulation
 - Binary Search
 - Recursion
 - Backtracking
 - Dynamic Programming
 - Graph Algorithms
 - Greedy
 - Union Find
 - Two pointer
 - Sliding window
 
Resume Based Questions
Behavioral
Questions
System Design
( Less Common )
Step 2
Preparation
Choosing a programming language
JAVA
C++
Python
Choosing the right resource for preparation
Websites
- 
                
GeeksforGeeks
 - 
                
Interviewbit
 - 
                
Interviewcake
 - 
                
Leetcode
 - 
                
Hackerrank
 - 
                
Hackerearth
 - 
                
codechef
 - 
                
topcoder, codeforces
 
Books
- DS and Algorithms Made Easy - by Narasimha Karumanchi
 - CTCI - Cracking the Coding Interview
 - EPI - elements-of-programming-interviews - by adnan aziz
 - Java Programming Interviews Exposed
 - System Design Primer
 - https://www.educative.io/courses/grokking-the-system-design-interview
 
Company Specific Preparation
If you're targeting a specific company, it makes sense to study it's standard set of questions
Interview
            Experiences
    - 
                
DUCS Alumni Interview Experiences
 - 
                
Interview Experiences on geeksforgeeks
 - 
                
Interview Experience on Leetcode
 
Step 3
The Essentials
The art of Resume
- 
                
Very Very underrated in DUCS
 - 
                
A resume is your first impression
 - 
                
Making a strong resume is an iterative process
 - 
                
You can tailor resumes to suit specific companies
 - 
                
Single page resumes are now a standard
 - 
                
Try to consistent fill the content on the page
 - 
                
Always use consistent and breathable spacing
 - 
                
Never use more than 2 fonts and 3 font sizes
 - 
                
Do not use any colors, pictures, progress bars
 - 
                
Never ever do a spelling mistake
 - 
                
Never lie on a resume
 - 
                
Never over-commit and under deliver
 
Communication
- 
                
Extremely important
 - 
                
If you can't express your thoughts with clarity, you're probably gonna have a tough time.
 - 
                
Assess yourself
 - 
                
Work on your communication skills
 - 
                
The preferred language is English
 
Coding Style
- 
                
Each language has a certain set of standard coding practices.
 - 
                
Know them well.
 - 
                
Use them in your code often
 - 
                
Know your language well
 - 
                
Make sure you know nuances of your language
 
Dev Skills
- 
                
There's no substitute for General Knowledge.
 - 
                
This will give you an edge in all rounds of all companies.
 - 
                
You'll realize it's important in critical rounds when the stakes are high.
 
Lessons Learned
- 
	
Assess yourself
 - 
	
Start Early
 - 
	
Enjoy the prep
 - 
	
Revise
 
Any Questions?
That's all.
Tech Interview Preparation 101
By Jatin Rohilla
Tech Interview Preparation 101
Tech Interview Preparation 101
- 475