Internship Roadmap B22
Week 0: Be in good spirits, plan things out and start preparing
Week 1 - 2: By the end of these weeks you should be comfortable with any one language of
your choice, able to analyse complexities and straightforward bugs in code.
    C++, python
       How c/cpp program is compiled (files which are created in process), function call,
       memory(types, allocation, heap/stack), storage classes, enums, Difference between c
       and python?
    C++ Stl -
       How containers and iterators(How they work behind the scenes, vector
       implementation using c-style array), maps(Hashing), operator overloading
    OOPS -
       memory (allocation), virtual function, access modifiers, abstract classes, diamond
       problem, padding in struct.
    Sorting - Searching algorithms - all the algorithms with different time complexities and
    their pros and cons over the other, hands on
    Others -
       Binary Search
       Hashing, collision resolution techniques
       basics of number theory (primes-seive, divisors), modulo
       bitmanipulation
Week 3 - 5 :
    Stack and Queue, Two pointers, LinkedLists
        monotonic stack, Cycle in LinkedList
        Heaps
    string algorithms
    Trees
        four traversals both recursive and iterative, dfs, bfs, diameter of tree, Flood fill,
        Backtracking
    Graph and related algorithms and problems -
        0-1 bfs, Topological sorting, prims, kruskal,
    Greedy and Dynamic programming(DP) -
        bottom-up, top-down, identify dp states
        Variants of Knapsack, Job scheduling, LIS, LCS
    other data structures and techniques -
        DSU, Trie, Binary lifting
        Divide and conquer, meet in the middle
        Sweep Line algorithms
Notes:
    You have to explain your code and approach in interviews, best way you can learn is to
    become speaker in post contest discussion which are held by yacc.
    Prepare on a specific topic, sometimes they might ask you for a presentation on any one
    of the topics of your choice (AI, ML, Web, etc.)
    Make projects alongside.
    give all Codeforces, Leetcode, Yacc contest. And solve problem everyday.
    Solve aptitude and puzzles.
Must do questions
    Leetcode Top 100 Interview questions
    Leetcode Blind 75 Must Do
Some questions asked in our interviews and for our seniors
    How to implement custom malloc and free
    https://leetcode.com/problems/student-attendance-record-ii/
    https://leetcode.com/problems/reverse-linked-list/
    https://leetcode.com/problems/binary-tree-level-order-traversal/
    https://leetcode.com/problems/median-of-two-sorted-arrays/
    https://leetcode.com/problems/regular-expression-matching/
    https://leetcode.com/problems/beautiful-arrangement/
    https://leetcode.com/problems/russian-doll-envelopes/
    https://leetcode.com/problems/total-cost-to-hire-k-workers/description/
    https://leetcode.com/problems/house-robber/
    https://leetcode.com/problems/house-robber-ii/
    https://leetcode.com/problems/bulb-switcher/
After preparing for technical rounds
    https://drive.google.com/drive/folders/1ChO-iKZ0ccO2Y6DiSqYnFrVVg5mgt3OR?
    usp=drive_link This contains the company details and interview experience of seniors
    Go through the interview experience and questions asked by various companies in GFG
    interview experience archives and Company wise questions
    (https://www.geeksforgeeks.org/company-preparation/)
    Prepare for HR round, like having a basic idea of what type of question they ask in HR
    round(https://www.mindtools.com/worksheets/50CommonInterviewQuestionsandAnswe
    rs.pdf )
    Check out puzzles asked by various companies ( https://www.geeksforgeeks.org/top-20-
    puzzles-commonly-asked-during-sde-interviews/ )