Skip to content

Latest commit

 

History

History
259 lines (204 loc) · 7.74 KB

File metadata and controls

259 lines (204 loc) · 7.74 KB

Algorithm & Full-Stack Practice Repository (React + TypeScript + .NET)

This repository demonstrates my full-stack development skills with React/TypeScript on the frontend and C#/ASP.NET Core + SQL on the backend, showcasing scalable solutions, algorithm practice, and real technical assessments for interview preparation.

🛠️ Tech Stack

Frontend

  • React + TypeScript - Component development and UI logic
  • Vite - Build tooling
  • React Testing Library / Vitest - Testing

Algorithms & Logic

  • TypeScript - All algorithm practice (LeetCode-style problems, data structures, interview patterns)
  • Jest / Vitest - Unit testing
  • Focus: Arrays, strings, hash maps, recursion, two pointers, sliding window, functional programming

Backend

  • ASP.NET Core Web API - RESTful services
  • Entity Framework Core - ORM
  • SQL Server - Database
  • xUnit / NUnit - Testing

📂 Repository Structure

algorithm-practice/
├── easy/
│   ├── react/          # Beginner React/TypeScript UI challenges
│   ├── typescript/     # Basic algorithms & logic (TypeScript)
│   └── csharp/         # Basic backend problems (ASP.NET Core + SQL)
├── medium/
│   ├── react/          # Intermediate frontend challenges
│   ├── typescript/     # Intermediate algorithms (TypeScript)
│   └── csharp/         # Intermediate backend/OOP problems
├── hard/
│   ├── react/          # Advanced frontend algorithms / UI logic
│   ├── typescript/     # Complex algorithms & data structures (TypeScript)
│   └── csharp/         # Complex backend / enterprise patterns
├── data-structures/
│   ├── react/          # Frontend-focused structures
│   ├── typescript/     # Classic data structures (TypeScript)
│   └── csharp/         # Backend structures & SQL operations
├── technical-assessments/  # ⭐ Real technical tests from companies
│   ├── react/          # Frontend take-home assessments (React + TypeScript)
│   ├── fullstack/      # Full-stack projects (React + TypeScript + C#)
│   └── backend/        # Backend-only assessments (C#/SQL)
└── README.md

🚀 Quick Start

React Frontend Projects

cd easy/react/problem-name/solution
npm install
npm run dev          # Start development server
npm test             # Run tests

TypeScript Algorithm Problems

cd easy/typescript/two-sum
npm install
npm test             # All algorithms use TypeScript

C# Backend Projects

cd easy/csharp/rest-api-crud
dotnet restore
dotnet run           # Run API
dotnet test          # Run tests

Full-Stack Technical Assessments

cd technical-assessments/fullstack/company-name-yyyy-mm/solution

# Frontend (React + TypeScript)
cd frontend
npm install && npm run dev

# Backend (C# + SQL)
cd backend
dotnet restore && dotnet run

📋 What's Inside

React & TypeScript (Frontend)

  • Component architecture and hooks
  • State management patterns
  • API integration and async operations
  • Performance optimization
  • Real technical assessments

Algorithms & Logic (TypeScript)

All algorithm exercises are implemented in TypeScript

Common interview patterns including:

  • Array manipulation (two pointers, sliding window)
  • String algorithms
  • Hash maps and sets
  • Recursion and dynamic programming
  • Tree and graph traversal
  • Time & space complexity analysis

ASP.NET Core Backend

  • RESTful API design
  • CRUD operations with Entity Framework
  • Authentication & authorization (JWT)
  • Database design and SQL optimization
  • Integration testing

Technical Assessments

  • Complete end-to-end solutions
  • Architecture decision documentation
  • Performance analysis
  • Real interview feedback (when available)

📁 Problem File Structure

React Projects

problem-name/
├── README.md                  # Problem statement
├── solution/                  # Complete Vite/React project
│   ├── src/
│   │   ├── App.tsx
│   │   ├── App.test.tsx
│   │   └── components/
│   └── package.json
├── analysis.md                # Technical analysis
└── interview-questions.md

TypeScript Algorithms

problem-name/
├── README.md                  # Problem statement
├── solution.ts                # TypeScript implementation
├── solution.test.ts           # Test cases
├── analysis.md                # Complexity analysis
└── interview-questions.md

C# Backend

problem-name/
├── README.md                  # Problem statement
├── Api/                       # Web API project
├── Core/                      # Domain logic
├── Infrastructure/            # Data access
├── Tests/                     # Unit & integration tests
└── analysis.md

📊 Complexity Analysis

All solutions include:

For Algorithms (TypeScript):

Time: O(n log n) - sorting dominates
Space: O(n) - hash map storage
Trade-offs: Why this approach was chosen

For React Projects:

Rendering Performance: O(n) - list rendering
State Updates: O(1) - direct state access
Bundle Size: ~145KB (production build)

For Full-Stack Assessments:

API Response Time: ~50ms (average)
Database Queries: Optimized with indexes
Frontend Bundle: 245KB gzipped
Lighthouse Score: 95+ (Performance)

🧪 Testing Standards

  • React: 80%+ component coverage with React Testing Library
  • TypeScript Algorithms: Unit tests for all public functions
  • C# Backend: Integration tests for API endpoints + unit tests

💡 Example Problems

React (Frontend)

  • todo-list-advanced - State management with Context API
  • data-table-with-filters - Complex UI interactions
  • infinite-scroll - Performance optimization

TypeScript (Algorithms)

  • two-sum - Hash map pattern (TypeScript)
  • valid-parentheses - Stack implementation (TypeScript)
  • merge-intervals - Sorting algorithm (TypeScript)

C# (Backend)

  • rest-api-crud - Entity Framework + SQL
  • authentication-jwt - Security patterns
  • rate-limiting-middleware - API optimization

Technical Assessments

  • shopping-cart-2025-01 - E-commerce (React + TypeScript + .NET)
  • task-manager-2024-12 - Full CRUD app with authentication
  • api-gateway-2024-11 - Microservices architecture (.NET)

📝 Developer Profile

Full-Stack Developer with expertise in React + TypeScript for modern frontend development and C#/ASP.NET Core for scalable backend systems. All algorithm practice is implemented in TypeScript to strengthen JavaScript/TypeScript interview skills while maintaining backend proficiency with .NET.


📚 Resources


🎯 Key Highlights

Frontend-first approach with React + TypeScript
All algorithms in TypeScript (not mixed with C#)
Backend expertise with C#/ASP.NET Core
Real technical assessments from actual interviews
Full-stack thinking across the entire development cycle


📌 Note

Solutions prioritize clarity and learning over premature optimization, with focus on:

  • Clean, testable code
  • Proper separation of concerns
  • Industry best practices
  • Interview-ready explanations