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

 

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.