Skip to content

🎯 Master 400+ senior-level interview questions for Angular, React, Next.js & Redux. Professional study platform featuring beautiful UI, progress tracking, practice modes, and PWA support. Built with React 19, TypeScript & Tailwind CSS.

License

Notifications You must be signed in to change notification settings

htirawi/frontend-interview-prep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Frontend Interview Prep

A professional, multi-framework interview preparation application built with React, TypeScript, and Tailwind CSS. Practice with 500+ curated questions across Angular, React, Next.js, Redux, and Random topics.

πŸš€ Features

  • Multi-Framework Support: Practice questions for Angular (227), React (80), Next.js (50), Redux (100), and Random topics (52)
  • Interactive Quiz System: Dynamic quiz interface with multiple question types (multiple choice, fill-in-blank, true/false, multiple checkbox)
  • Enhanced Question Cards: Rich markdown rendering with syntax highlighting and comparison tables
  • Study Features: Bookmarks, notes, progress tracking, and study timer
  • Study Analytics: Comprehensive performance tracking and analytics dashboard
  • Offline Support: Progressive Web App with offline capabilities
  • Responsive Design: Optimized for desktop and mobile devices
  • Dark Mode: Toggle between light and dark themes
  • PWA Support: Install as a Progressive Web App
  • Keyboard Shortcuts: Navigate efficiently with keyboard controls
  • Code Quality: Comprehensive pre-push validation system
  • Architecture: Clean separation of concerns with custom hooks and services
  • Path Aliases: Modern import organization with TypeScript path mapping

πŸ› οΈ Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS
  • Build Tool: Vite
  • Testing: Vitest, Testing Library
  • Code Quality: ESLint, Prettier, Husky, Pre-push validation
  • Architecture: Custom hooks, services, context API
  • Deployment: Vercel, Netlify ready

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ common/          # Shared components (LazyLoader, MarkdownRenderer, etc.)
β”‚   β”œβ”€β”€ features/        # Feature-specific components (StudyAnalytics, StatsPanel)
β”‚   β”œβ”€β”€ forms/           # Form components (SearchBar, FilterPanel, QuestionRating)
β”‚   β”œβ”€β”€ interactive-quiz/ # Interactive quiz system components
β”‚   β”œβ”€β”€ layout/          # Layout components (Sidebar, etc.)
β”‚   β”œβ”€β”€ navigation/      # Navigation components (FrameworkSelector, etc.)
β”‚   β”œβ”€β”€ quiz/            # Quiz components (QuizTimer, QuizProgress, etc.)
β”‚   β”œβ”€β”€ study/           # Study mode components
β”‚   └── tables/          # Table components (ComparisonTable, RegularTable)
β”œβ”€β”€ pages/              # Main application pages
β”‚   β”œβ”€β”€ ModeSelection.tsx
β”‚   β”œβ”€β”€ FrameworkSelection.tsx
β”‚   β”œβ”€β”€ InterviewPage.tsx
β”‚   β”œβ”€β”€ InteractiveQuizPage.tsx
β”‚   └── QuizSelection.tsx
β”œβ”€β”€ data/               # Question data and framework definitions
β”‚   β”œβ”€β”€ angular-enhanced.ts    # 227 Angular questions
β”‚   β”œβ”€β”€ react-enhanced.ts      # 80 React questions
β”‚   β”œβ”€β”€ nextjs-enhanced.ts     # 50 Next.js questions
β”‚   β”œβ”€β”€ random-enhanced.ts     # 52 Random topic questions
β”‚   β”œβ”€β”€ redux.ts               # 100 Redux questions
β”‚   └── interactive-quiz.ts    # Interactive quiz data
β”œβ”€β”€ services/           # Business logic services
β”‚   β”œβ”€β”€ InteractiveQuizService.ts
β”‚   β”œβ”€β”€ QuestionService.ts
β”‚   β”œβ”€β”€ QuizService.ts
β”‚   └── PerformanceService.ts
β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ useFrameworkManager.ts
β”‚   β”œβ”€β”€ useStudyAnalytics.ts
β”‚   └── useKeyboardShortcuts.ts
β”œβ”€β”€ contexts/           # React context providers
β”‚   β”œβ”€β”€ ThemeContext.tsx
β”‚   └── SidebarContext.tsx
β”œβ”€β”€ types/              # TypeScript type definitions
β”‚   β”œβ”€β”€ interactive-quiz.ts
β”‚   β”œβ”€β”€ quiz-results.ts
β”‚   β”œβ”€β”€ study-components.ts
β”‚   └── ui.ts
β”œβ”€β”€ core/               # Core functionality
β”‚   └── components/     # Core components (ErrorBoundary, etc.)
β”œβ”€β”€ shared/             # Shared utilities and components
β”œβ”€β”€ utils/              # Utility functions
└── styles/             # Global styles and animations

docs/                   # Documentation
β”œβ”€β”€ guides/             # Setup and usage guides
β”œβ”€β”€ management/         # Project management docs
└── status/             # Project status and completion docs

scripts/                # Development and deployment scripts
β”œβ”€β”€ pre-push-validation.js  # Comprehensive validation script
└── README.md               # Scripts documentation

πŸš€ Quick Start

  1. Install dependencies:

    pnpm install
  2. Start development server:

    pnpm dev
  3. Build for production:

    pnpm build

🎯 Usage

Study Mode

  1. Select Framework: Choose from Angular (227), React (80), Next.js (50), Redux (100), or Random topics (52)
  2. Practice Questions: Navigate through questions with keyboard shortcuts
  3. Track Progress: Bookmark questions and add personal notes
  4. Study Modes: Sequential, random, or bookmarked-only practice

Interactive Quiz Mode

  1. Choose Quiz Type: Select framework and difficulty level
  2. Multiple Question Types:
    • Multiple Choice (single answer)
    • Multiple Checkbox (multiple answers)
    • Fill in the Blank
    • True/False
  3. Real-time Feedback: Immediate scoring and progress tracking
  4. Performance Analytics: Detailed breakdown of performance by question type
  5. Study Recommendations: Personalized suggestions for improvement

πŸ“š Question Content

Angular (227 Questions)

  • Core concepts, components, services, routing
  • Forms (template-driven and reactive)
  • Component communication and lifecycle hooks
  • Authentication & authorization with JWT
  • Angular 16-19 features (Signals, Control Flow, SSR improvements)
  • Performance optimization and testing

React (80 Questions)

  • Hooks, state management, and lifecycle
  • Server Components and Concurrent Features
  • Error boundaries and context API
  • Performance optimization and testing
  • Advanced patterns and best practices

Next.js (50 Questions)

  • App Router vs Pages Router
  • SSG, SSR, ISR, and CSR strategies
  • Image optimization and performance
  • API routes and middleware
  • Deployment and production optimization

Redux (100 Questions)

  • State management patterns
  • Redux Toolkit and modern practices
  • Middleware and async operations
  • Testing and debugging

Random Topics (52 Questions)

  • Git workflows and advanced commands
  • CSS units, Grid, Flexbox, and animations
  • SASS features and best practices
  • TypeScript advanced features
  • Web APIs and modern JavaScript
  • Build tools (Webpack, Vite, ESBuild)
  • Docker and containerization

⌨️ Keyboard Shortcuts

  • ← β†’ Navigate between questions
  • A Toggle answer visibility
  • B Bookmark/unbookmark question

πŸ§ͺ Testing

# Run tests
pnpm test

# Run tests with UI
pnpm test:ui

# Run tests with coverage
pnpm test:coverage

πŸ”§ Development

Code Quality & Validation

This project includes a comprehensive pre-push validation system that ensures code quality before changes reach the repository.

Pre-Push Validation Script

# Run comprehensive validation (automatically runs on git push)
pnpm pre-push

# Individual validation checks
pnpm check:any          # Find any types in source code
pnpm check:unused       # Find unused variables
pnpm check:console      # Find console.log statements

Standard Development Commands

# Lint code
pnpm lint

# Lint with strict rules (zero warnings)
pnpm lint:strict

# Fix linting issues
pnpm lint:fix

# Format code
pnpm format

# Type check
pnpm type-check

# Validate everything
pnpm validate

Pre-Push Validation Features

The validation system automatically checks:

  • βœ… TypeScript Compilation: Ensures no type errors
  • βœ… ESLint Quality: Enforces coding standards
  • βœ… Prettier Formatting: Consistent code formatting
  • βœ… Production Build: Verifies build success
  • βœ… Test Suite: Runs all tests
  • βœ… Any Type Detection: Finds any types (excluding example code)
  • βœ… Unused Variables: Identifies unused variables and imports
  • βœ… Console Statements: Detects console.log usage

Architecture Improvements

The codebase has been refactored with modern React best practices:

  • Path Aliases: Clean imports using @components, @services, @types, etc.
  • Custom Hooks: useFrameworkManager, useQuestionNavigation, useProgressManager, useStudyAnalytics
  • Services: FrameworkService, QuestionService, InteractiveQuizService for business logic
  • Context API: SidebarContext, ThemeContext for state management
  • Type Safety: Comprehensive TypeScript types and interfaces
  • Component Composition: Reusable table components and utilities
  • Performance: Lazy loading, code splitting, and optimized bundles
  • Offline Support: Service worker integration for offline functionality

πŸ“š Documentation

πŸ†• Recent Updates

v2.1 - Production Ready & Modern Architecture

  • βœ… Path Aliases: Modern import organization with TypeScript path mapping
  • βœ… Console Log Cleanup: Removed all console.log statements from production code
  • βœ… Interactive Quiz System: Complete quiz interface with multiple question types
  • βœ… Study Analytics: Comprehensive performance tracking and analytics dashboard
  • βœ… Offline Support: Progressive Web App with service worker integration
  • βœ… Component Organization: Clean folder structure with feature-based organization
  • βœ… Type Safety: Enhanced TypeScript types and interfaces
  • βœ… Performance: Lazy loading and code splitting optimizations

v2.0 - Pre-Push Validation System

  • βœ… Comprehensive validation: Pre-push hooks with TypeScript, ESLint, Prettier checks
  • βœ… Code quality enforcement: Automatic detection of any types and unused variables
  • βœ… Architecture refactoring: Custom hooks, services, and context API
  • βœ… Enhanced question content: 500+ questions across all frameworks
  • βœ… Table components: Beautiful comparison tables for difference questions
  • βœ… Type safety: Comprehensive TypeScript types and interfaces

Question Additions

  • Angular: Added 67 new questions (Forms, Component Communication, Auth, Angular 16-19)
  • React: Added 53 new questions (Advanced hooks, Server Components, Concurrent Features)
  • Next.js: Added 40 new questions (App Router, Performance, Deployment)
  • Random: Added 52 new questions (Git, CSS, SASS, TypeScript, Web APIs, Build Tools)

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run pre-push validation: pnpm pre-push
  5. Ensure all checks pass
  6. Submit a pull request

Development Workflow

# Before making changes
git checkout -b feature/your-feature

# Make your changes, then validate
pnpm pre-push

# Commit and push (validation runs automatically)
git add .
git commit -m "feat: your changes"
git push

🎯 Benefits of Pre-Push Validation

  • πŸ›‘οΈ Quality Assurance: Prevents bad code from reaching the repository
  • ⚑ Faster Development: Automated checks instead of manual code review
  • πŸ”„ Consistency: Ensures all team members follow the same standards
  • πŸ› Early Bug Detection: Catches issues before they become problems
  • πŸ“š Learning: Developers learn best practices through validation feedback
  • πŸš€ Production Ready: Ensures code is always deployable

πŸ“Š Project Statistics

  • Total Questions: 500+ across 5 categories
  • Code Quality: 95/100 production readiness score
  • Test Coverage: Comprehensive test suite
  • Type Safety: 100% TypeScript coverage
  • Performance: Optimized for fast loading and smooth UX

πŸ“„ License

MIT License - see LICENSE for details.

πŸ‘¨β€πŸ’» Author

Hussein Tirawi - GitHub


Built with ❀️ for the frontend developer community.

Last updated: January 2025 - Pre-Push Validation System v2.0

About

🎯 Master 400+ senior-level interview questions for Angular, React, Next.js & Redux. Professional study platform featuring beautiful UI, progress tracking, practice modes, and PWA support. Built with React 19, TypeScript & Tailwind CSS.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages