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
- 424