4-Month Study Plan — Rusty Basics → Amazon/Google-style Interview Ready (Python)¶
প্রোফাইল: basics rusty · দিনে সর্বোচ্চ 2–3 ঘণ্টা (~15–18 hrs/week, মোট ~280–300 hrs) · ভাষা: Python · deadline: ~17 সপ্তাহ (June → early Oct 2026)।
সঙ্গী file: 00-source-roadmaps/youkn0wwho-full-topic-map.md — §x.y = ওই map-এর section নম্বর (theory link + ★ starred problem-এর জন্য ব্যবহার করো)।
৪ মাসের শর্ত: এই সময়সীমা তোমাকে interview-first অগ্রাধিকার নিতে বাধ্য করে। Codeforces এখানে সপ্তাহে একটা speed-practice tool (Div 3/4), rating chase নয় — Specialist/Expert হতে ৯–১২+ মাস লাগে আর সেটা তোমার interview ঠিক করবে না। CP-only সব কিছু কাটা; প্রতিটা সপ্তাহ Amazon/Google যা আসলে জিজ্ঞেস করে তার সাথে মেলানো। কাটা topic-গুলো নিচে তালিকা করা — অফার পাওয়ার পরে ফিরে এসো।
Ground rules (প্রতি সপ্তাহে)¶
- দৈনিক ভাগ: ~40 min theory (একটা topic, আগে ★ resource) + 80–110 min solving।
- মূল practice: LeetCode (interview-এর ভাষা)। Map-এর ★ problem = কোনো topic দুর্বল লাগলে supplement।
- Speed practice: সপ্তাহে ১টা CF Div 3/4 contest (live বা virtual) + পরদিন upsolve। ঘড়ি ধরে দ্রুত-ও-নির্ভুল coding-এর অভ্যাস — সরাসরি interview-তে কাজে লাগে।
- Struggle timer: ৩০–৩৫ min আটকে থাকলে → editorial → scratch থেকে আবার লেখো → revision list-এ যোগ করো।
- Revision: রবিবার = এই মাসের ২–৩টা failed problem ফাঁকা file-এ আবার solve।
- Week 5 থেকে: সপ্তাহে অন্তত ৩ বার ইংরেজিতে জোরে কথা বলতে বলতে solve করো — mock-এর পেশি এখন থেকেই; DSA-র চেয়ে বেশি candidate এখানেই বাদ পড়ে।
- এই repo-তে log রাখো — নিচের chapter folder; সবুজ ঘর + পরিষ্কার note = portfolio।
Python setup (Week 1, একবার)¶
import sys; input = sys.stdin.readline · iterative DFS/BFS অভ্যাস (recursion limit) · collections.deque/defaultdict/Counter · heapq, bisect, itertools, math · CF submission PyPy 3-এ · list/dict/set/sort-এর cost জেনে রাখো।
Phase ↔ repo chapters ↔ map sections¶
| Phase | Weeks | Repo chapters | Map sections |
|---|---|---|---|
| 1 Foundations | 1–3 | 01-…fundamentals/, 02-arrays-and-strings/, 05-hashing/ |
§1.5, §1.8–§1.11, §1.16 |
| 2 Linear DS + Recursion | 4–6 | 03-linked-list/, 04-stack-and-queue/, 06-recursion-and-backtracking/, 08-heap-priority-queue/ |
§2.16 + LC tags |
| 3 Trees + Graphs | 7–10 | 07-trees/, 09-graphs/, 10-disjoint-set-union/ |
§3.1, §3.5–§3.6 (light), §3.15, §2.5, §2.4 |
| 4 DP + Greedy | 10–13 | 12-dynamic-programming/ |
§8.1, §8.8, §8.6 (light), §11.1 |
| 5 Interview conversion | 13–17 | 13-interview-master-problems/ |
— |
Phase 1 — Foundations (Weeks 1–3)¶
Complexity analysis · arrays & strings · prefix sums · binary search · two pointers · sliding window (এগুলো খুব শক্ত করে drill করো — FAANG-এর রুটি-রুজি) · sorting + custom keys · hashing patterns · bit manipulation basics।
- [ ] Wk 1: Python toolkit + complexity + arrays/strings + prefix sums
- [ ] Wk 2: binary search (on-answer সহ) + two pointers
- [ ] Wk 3: sliding window + hashing patterns + bit basics
- Target: ~45–55 problem (LC Easy → প্রথম Medium) · প্রথম CF Div4
Phase 2 — Linear DS + Recursion (Weeks 4–6)¶
Linked list (reverse, cycle, merge) · stack/queue + monotonic stack · heap (top-K, k-way merge) · recursion/backtracking (subsets, permutations, combinations, board search) · LRU cache।
- [ ] Wk 4: linked list + stack/queue
- [ ] Wk 5: monotonic stack + heap
- [ ] Wk 6: backtracking + LRU + intervals (merge/insert)
- Target: ~40 problem, Medium-এর ভাগ বাড়ছে
Phase 3 — Trees + Graphs (Weeks 7–10)¶
Tree traversal (recursive + iterative) · BST ops · LCA (simple) · diameter/height pattern · trie (light) · BFS/DFS on grids & graphs · topological sort · union-find · Dijkstra (concept + ২-৩টা problem) · bipartite check।
- [ ] Wk 7: tree traversal + BST
- [ ] Wk 8: tree pattern (diameter, paths) + trie
- [ ] Wk 9: BFS/DFS + grids + components
- [ ] Wk 10: topo sort + union-find + Dijkstra
- Target: ~45 problem · CF Div3 C নাগালের মধ্যে
Phase 4 — DP + Greedy (Weeks 10–13)¶
1D DP (climb/house robber/jump) · coin change · knapsack · LIS · LCS/edit distance · grid DP · partition/subset-sum · bitmask DP (১–২টা problem, concept) · tree DP (১–২টা problem) · greedy-vs-DP judgement।
- [ ] Wk 11: 1D DP + coin change + knapsack
- [ ] Wk 12: LIS + LCS/edit distance + grid DP
- [ ] Wk 13: subset/partition + bitmask & tree DP-র স্বাদ + ১৫-problem mixed sprint
- Target: ~35 DP problem — DP হলো #1 filter; অর্ধেক রেখে দিয়ো না
Phase 5 — Interview Conversion (Weeks 13–17, Phase 4-এর সাথে overlap)¶
- [ ] NeetCode 150 — বাকিটা শেষ করো (বেশিরভাগ Phase 1–4-এই overlap হয়ে গেছে)
- [ ] Company-tagged: Amazon-tagged + Google-tagged (recent) — ৪০–৬০টা problem
- [ ] Mocks: Wk 14 থেকে, সপ্তাহে ১–২টা — Pramp / peers; পুরো loop simulation: clarify → brute force → optimize → code → test, জোরে কথা বলে
- [ ] Behavioral: ৮টা STAR story, Amazon Leadership Principles-এর সাথে মেলানো (Wk 15)
- [ ] OOD basics: parking lot, LRU, rate limiter — Python-এ (Wk 16)
- [ ] CS one-pagers: OS / DBMS / HTTP-TCP — phone-screen গভীরতা পর্যন্ত
- [ ] Resume + pipeline (Wk 13 থেকে শুরু, অপেক্ষা কোরো না): project = এই repo, referral LinkedIn-এ (Bangladesh→FAANG মূলত referral-নির্ভর), Amazon/Google এবং mid-tier কোম্পানিতে apply করো আসল interview rep-এর জন্য
- Target: ৪+ mock শেষ, applications Wk 15-এর মধ্যে বেরিয়ে গেছে
Milestones¶
| End of | Solved (cumulative) | Signal |
|---|---|---|
| Month 1 | ~55–65 | LC Easy সাবলীল, Medium শুরু, ৩টা CF contest |
| Month 2 | ~110–125 | Medium = default; linear DS + backtracking শেষ |
| Month 3 | ~165–185 | trees/graphs/DP core শেষ; প্রথম mock |
| Month 4 | ~210–240 | tagged list + ৪+ mock; interview scheduled |
৪-মাসের জন্য কাটা হলো (অফারের পরে করবে)¶
Segment tree/BIT (§2.1–§2.2) · sparse table · SCC/bridges (§3.3) · flows/matching (§3.18–§3.19) · KMP/Z/suffix structure (§7) — শুধু string hashing concept · digit DP, CHT, DP optimization (§8.2–§8.5) · GCD/sieve/modpow-এর বাইরের number theory (§4) · combinatorics-এর গভীরতা (§5) · matrix expo (§6.3) · game theory (§9) · geometry (§10)। ৫৭০-topic map তোমার দীর্ঘমেয়াদি reference থাকবে; এই কাট-লিস্টই ঠিক সেই কারণে এটা filter-করা।
Reality check: ~৩০০ ঘণ্টা মনোযোগী পরিশ্রম একজন rusty-basics মানুষকে সত্যিকারের interview-capable বানায় — টানটান, কিন্তু সম্ভব যদি সাপ্তাহিক quota ধরে রাখো। যা নিশ্চিত করতে পারে না: interview call (referral + resume + timing) আর question pool-এর ভাগ্য। কোনো সপ্তাহ পিছিয়ে গেলে আগে bitmask/tree-DP/Dijkstra-র গভীরতা কাটো — কখনো binary search/sliding window/DP-core/mock কাটবে না।