Giter Site home page Giter Site logo

coding-interview-prep's Introduction

Coding Interview Preparation Plan

This is my personal coding interview preparation plan that I hope to follow during the time frame. Many things were adopted from other interview prep guides, some were suggested by top KZ coders that I know. Everything was then customized according to my knowledge and experience. Feel free to customize it for yourself.

Time frame: ~6 month (mid May - mid November)

Goal: at least 1 offer to big tech company in Europe/US

Background

Plan is based on existing preparation guides:

To stay motivated during preparation:

Overview

The areas I know:

  • Back-end software development - Django MVC/REST, asynchronous Tornado, Play for Java, JAX-RS
  • Machine Learning - built language models with RNNs
  • iOS Development - 1 year experience (long ago, probably forgot)

The areas I need to work on:

  • Algorithms & Data Structures (Stacks, Queues, Graphs, Trees, etc.) - 80% of time
  • Object-Oriented Programming (in C++)
  • System Design (Scalability ๐Ÿ˜)
  • Dynamic Programming
  • Computer Architecture (Cache, RAM, etc.) - review the course at NU
  • Operating Systems (Processes and Threads, Scheduling) - review the course at NU
  • Computer Networks (especially TCP/IP) - review the course at NU

Plan

I have decided to split my plan into two phases (three months each): summer and fall phases.

First phase: Summer Time

Time to dedicate:

  • 2 hrs on weekdays, 5 hours on weekends
  • 12 weeks
  • Total: ( 2 x 5 + 5 x 2 ) x 12 = 240 hrs (be realistic, 200 hrs will be good too๐Ÿ˜‰)

Objective: solve > 200 problems on Leetcode! ๐Ÿ˜Ž

Programming language chosen: C++

Areas to work on:

  • Algorithms (e.g. sorting)
  • Data Structures (e.g. lists, stacks, queues, hash-map)
  • Graphs (e.g. BFS, DFS)
  • Trees (e.g. BST)
  • Object-Oriented Programming (in C++)
  • Dynamic Programming
  • Mock Interviews - once a month

Where to study:

Comments:

  • Push solved problems to Github for later usage to refresh memory

Second Phase: Fall Term

Time to dedicate:

  • TBD but less than previous phase due to university studies

Objective: solve 100 more Leetcode problems! ๐Ÿ˜Ž

Areas to work on:

  • Computer Architecture (Cache, RAM, etc.)
  • Operating Systems (Processes and Threads, Scheduling)
  • Computer Networks (especially TCP/IP)
  • System Design (Scalability uuh, cool)
  • Mock Interviews - once a week (on weekends)
  • Keep solving LeetCode problems + Cracking the Coding Interview

Where to study:

Extra Time

Everything listed here is optional. Even though it is not that realistic to dedicate time to all these, I will try doing it during rest time at leisure ๐Ÿ˜„

Read Books:

Develop own website/landing page:

Improve existing codes:

Complete started courses:

Open Source projects to contribute:

Physical:

  • Buy a whiteboard/glassboard, put it in front of a mirror - good investment

coding-interview-prep's People

Stargazers

Eldar Kusdavletov avatar

Watchers

James Cloos avatar Ernar Kusdavletov  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.