To maintain a well-organized, revision-friendly, and interview-ready collection of resources and solved problems for placements.
- 🔗 GitHub Profile: Shubham-cyber-prog
- 📁 Repository Name:
Placement-Prep
- ✅ Topic-wise DSA implementations & problems
- ✅ Company-wise interview questions
- ✅ System Design notes & case studies
- ✅ Curated learning resources
- ✅ Real interview experiences & takeaways
- Students preparing for placements
- Beginners building DSA fundamentals
- Anyone targeting product-based companies
This repository serves as both a web platform for interactive placement preparation and a hub for curated content and resources.
Placement-Prep/
│
├── backend/ # Backend server and API
│ ├── config/ # Database and application configuration
│ ├── controllers/ # Route handlers for API endpoints
│ ├── middlewares/ # Authentication, error handling, and other middlewares
│ ├── models/ # MongoDB schemas and data models
│ ├── routes/ # API route definitions
│ └── utils/ # Utility functions and helpers
│
├── src/ # Frontend React application
│ ├── components/ # Reusable UI components (shadcn/ui based)
│ ├── hooks/ # Custom React hooks
│ ├── layouts/ # Page layout components
│ ├── lib/ # Utility libraries and configurations
│ └── pages/ # Application pages and views
│
├── public/ # Static assets (favicon, images, robots.txt)
│
├── Easy/ # Placement preparation content
│ └── Medium/ # Medium difficulty problems and solutions
│
├── package.json # Frontend dependencies and scripts
├── vite.config.ts # Vite build configuration
├── tailwind.config.ts # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
Note: The repository combines a full-stack web application for interactive learning with traditional content organization. Additional content directories (e.g., for Data Structures, Algorithms) are planned for future expansion.
A structured 12-week roadmap covering DSA, System Design, and Interview Preparation, designed to ensure consistent progress and effective revision.
Focus: Strengthening basics & fixing weak areas
-
⏱️ 30 mins — Theory Revision Revise core concepts (DSA, OS, DBMS, CN, etc.) to keep fundamentals strong.
-
🧠 60 mins — Problem Solving Solve DSA problems (LeetCode / GFG / CodeStudio) with a focus on logic and patterns.
-
🔁 30 mins — Previous Mistakes Review Analyze wrong solutions, optimize approaches, and note learnings.
Focus: Learning & implementation
-
📘 60 mins — New Topic Learning Learn a new concept or algorithm and understand its real‑world use cases.
-
💻 30 mins — Coding Practice Implement newly learned concepts through hands‑on coding.
-
📊 30 mins — Time & Space Complexity Analysis Analyze performance, optimize code, and compare multiple approaches.
Focus: Interview preparation
- 🎯 60 mins — Mock Interview / Company‑Specific Questions Practice behavioral + technical questions from product‑based companies.
📌 Consistency beats intensity. Follow this schedule daily and iterate weekly for maximum growth.
- ⏱️ Solve 2–3 problems in 60–90 minutes
- ⚙️ Focus on optimized solutions (Time & Space)
- 🧼 Write clean, modular, and readable code
- 🧪 Handle edge cases and explain trade-offs
- 📝 Requirements gathering (functional & non-functional)
- 🔌 API design (RESTful endpoints, contracts)
- 🗄️ Database schema (indexes, normalization)
- 📈 Scalability (caching, sharding, load balancing)
- 🧵 Operating Systems (Processes, Threads, Scheduling, Deadlocks)
- 🧮 DBMS (SQL queries, Indexes, Transactions)
- 🌐 Networking (TCP/IP, HTTP/HTTPS, DNS)
- ⭐ Use the STAR Method (Situation, Task, Action, Result)
- 🧩 Prepare 5–7 strong stories from projects/internships
- 🏢 Research company values & culture
- ❓ Prepare thoughtful questions for the interviewer
- ✍️ Start bullet points with action verbs
- 📊 Quantify achievements (numbers > words)
- 🎯 Tailor resume for each company/role
- 📄 Keep it 1 page, clean and ATS-friendly
- React - UI library for building the user interface
- TypeScript - Type-safe JavaScript for better development experience
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework for styling
- shadcn/ui - Modern UI components built on Radix UI
- React Router - Declarative routing for React applications
- React Query - Powerful data synchronization for React
- Socket.io - Real-time bidirectional communication
- Node.js - JavaScript runtime for server-side development
- Express - Minimal and flexible Node.js web application framework
- MongoDB - NoSQL database for flexible data storage
- Mongoose - Elegant MongoDB object modeling for Node.js
- JWT - JSON Web Tokens for secure authentication
- Socket.io - Real-time, bidirectional and event-based communication
- Git - Distributed version control system
- ESLint - Tool for identifying and reporting patterns in JavaScript/TypeScript
- Prettier - Code formatter for consistent code style
Welcome 👋 Follow these steps carefully to set up the project locally.
Make sure you have installed:
- Node.js (v18 or higher recommended)
- npm (comes with Node)
- Git
- MongoDB Atlas account
- VS Code (recommended)
Check versions:
node -v
npm -v
git --version
Placement-Prep/
├── frontend (Vite + React + Firebase)
└── backend (Express + MongoDB + JWT)
git clone https://github.com/your-username/placement-prep.git
cd placement-prep
cd frontend
npm install
- react
- vite
- firebase
- react-router-dom
- socket.io-client
- tailwindcss
- framer-motion
- react-hook-form
- zod
- recharts
- etc.
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_
npm run dev
Frontend runs on:
http://localhost:5173
Open new terminal:
cd backend
npm install
- express
- mongoose
- dotenv
- cors
- bcryptjs
- jsonwebtoken
- helmet
- morgan
- socket.io
- express-validator
- compression
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/placementprep
PORT=5000
JWT_SECRET=your_secret_key
npm start
Backend runs on:
http://localhost:5000
- Go to MongoDB Atlas
- Create cluster
- Create database user
- Whitelist your IP (0.0.0.0/0 for development)
- Copy connection string
- Never push
.envfile - Never commit API keys
- Always create a new branch before contributing
- Follow project folder structure
Check backend .env variable name
Check frontend .env and restart server
Kill process:
sudo kill -9 $(lsof -t -i:5000)
Terminal 1:
cd frontend
npm run dev
Terminal 2:
cd backend
npm start
We welcome contributions! 🚀 Here’s how you can help:
- Provide alternative approaches
- Add time & space complexity
- Include edge cases
- Fix typos and grammar
- Add clearer explanations
- Improve code comments
- Company-specific questions
- Interview experiences
- New problem solutions
# 1. Fork the repository
# 2. Create a new branch
git checkout -b feature/your-feature
# 3. Make your changes
# 4. Commit with a descriptive message
git commit -m "Add: Solution for Two Sum problem"
# 5. Push to your branch
git push origin feature/your-feature
# 6. Create a Pull RequestBig thanks to all the awesome contributors who helped make this project better! 🙌
Your efforts help students prepare for placements with quality resources 🚀
Thank you to everyone who has contributed!
If this repository helped you:
- ⭐ Star the repository
- 🔄 Share with friends
- 🐛 Report issues
- 💡 Suggest improvements
🚀 Happy Coding & Best Wishes for Your Interviews! 🎯
"The only way to learn coding is to write a lot of code and solve a lot of problems."
This project is licensed under the MIT License — see the LICENSE file for details.

