Interview Preparation
Agenda
- 
	
Overview of the Interview Process
 - 
	
Getting Ready
 - 
	
Strategies for a Great Interview
 - 
	
Problem Solving
 
Interview Process
General Aptitude
Similar to those in entrance exams
CS Fundamentals
DBMS, OS, OOPS, Networks
Puzzles
Data Structures and Algorithms
Resume Based Questions
Behavioral
Questions
Design
- 
	
Database Design
 - 
	
Object-Oriented Design
 - 
	
System Design
 
Getting Ready
Choose a Programming Language
Java
C++
Python
Websites
- 
	
GeeksForGeeks
 - 
	
Interviewbit
 - 
	
Leetcode (NeetCode)
 - 
	
Interviewcake
 - 
	
Hackerrank
 - 
	
Hackerearth
 - 
	
Codechef
 - 
	
CodeForces
 
Books
- 
	
DS and Algorithms Made Easy - by Narasimha Karumanchi
 - 
	
CTCI - Cracking the Coding Interview
 - 
	
EPI - elements-of-programming-interviews - by adnan aziz
 
Company Specific Preparation
Interview Experiences
The Resume
- 
	
Tailor Your Resume for a given company.
 - 
	
The most important points that differentiate you from everyone should come first.
 - 
	
The Resume should be of high quality. Refer this video.
 - 
	
Include your contact information, ideally, a Url to a personal homepage.
 - 
	
Have your friends, seniors or alumnus review your resume.
 
Mock Interviews
Strategies for a Great Interview
Approaching the Problem
- 
	
Clarify the Question
 - 
	
Work on concrete examples
 - 
	
Spell out brute-force solution
 - 
	
Think out loud
 - 
	
Apply Patterns
 
Presenting the Solution
- 
	
Libraries
 - 
	
Focus on top-level algorithm
 - 
	
Manage the Whiteboard
 - 
	
Assume valid inputs
 - 
	
Test for corner cases
 - 
	
Syntax
 - 
	
Your Interviewer is not Alan Turing
 
General Conversation
- 
	
Can the candidate clearly communicate a complex idea?
 - 
	
Is the candidate passionate about his work?
 - 
	
Is there a potential interest match with some project?
 - 
	
Use SBI/STAR format.
 
Other Advice
- 
	
Multiple possible solutions
 - 
	
Be strong with basics
 - 
	
Be Honest
 - 
	
Keep a positive spirit
 - 
	
Don't apologize
 - 
	
Appearance
 - 
	
Be aware of your body language
 
Problem Solving
Data Structures
- 
	
Primitive
 - 
	
Arrays
 - 
	
Strings
 - 
	
Lists
 - 
	
Stack And Queues
 - 
	
Binary Trees
 - 
	
Heaps
 - 
	
Hash Tables
 - 
	
Binary Search Trees
 
Analysis Patterns
- 
	
Concrete Examples
 - 
	
Case Analysis
 - 
	
Iterative Refinement
 - 
	
Reduction
 - 
	
Graph Modelling
 
Algorithm Design Patterns
- 
	
Searching
 - 
	
Sorting
 - 
	
Recursion
 - 
	
Divide and Conquer
 - 
	
Dynamic Programming
 - 
	
Greedy Algorithms
 
- 
	
Find the height of the tree with leaves are connected
 - 
	
Search in an infinite array
 - 
	
Line parallel to y axis intersecting most lines
 - 
	
Min cost of visiting stores.
 - 
	
Implement Queue - find in O(1), delete in order(1)
 - 
	
Create and Delete New Folder Windows
 - 
	
Wood Log Problem : given getWeight, find the mid
 - 
	
Implement git diff
 - 
	
Implement back functionality in the internet browser
 - 
	
Implement playlist which plays random songs
 - 
	
LeaderBoard - pubg
 - 
	
Find path b/w 2 nodes in Infinite Tree
 
Interview Problems [ref]
Any Questions?
Interview Preparation Tips
By Sahil Nishal
Interview Preparation Tips
- 855