diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 43a3388e..c72ee4d6 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -145,22 +145,6 @@ const config: Config = { `, }, - { - type: "html", - value: '
', - }, - { - type: "html", - value: `
- Interview Prep -
- 🧩Technical - πŸ’‘Behavioral - 🏒Companies - 🎯Practice -
-
`, - }, ], }, { diff --git a/src/pages/blogs/index.tsx b/src/pages/blogs/index.tsx index ad1e6ff6..c429b31d 100644 --- a/src/pages/blogs/index.tsx +++ b/src/pages/blogs/index.tsx @@ -341,7 +341,7 @@ const BlogCard = ({ blog }: { blog: (typeof blogs)[number] }) => { rel="noopener noreferrer" title={author.name} > - @{author.id || author.name.toLowerCase().replace(/\s+/g, "")} + {author.name} ))} diff --git a/src/pages/interview-prep/BehavioralTab.tsx b/src/pages/interview-prep/BehavioralTab.tsx deleted file mode 100644 index 63d1b4ce..00000000 --- a/src/pages/interview-prep/BehavioralTab.tsx +++ /dev/null @@ -1,638 +0,0 @@ -import React from "react"; -import { motion } from "framer-motion"; -import Link from "@docusaurus/Link"; - -interface BehavioralCategory { - category: string; - questions: string[]; -} - -interface BehavioralTabProps { - behavioralQuestions?: BehavioralCategory[]; - expandedCategories?: { [key: number]: boolean }; - toggleCategory: (index: number) => void; -} - -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; -const staggerContainer = { - hidden: {}, - visible: { transition: { staggerChildren: 0.2 } }, -}; - -const BehavioralTab: React.FC = ({ - behavioralQuestions = [], - expandedCategories = [], - toggleCategory, -}) => { - return ( - - {/* Introduction Section */} - -

- Behavioral Interview Preparation -

-

- Master the art of storytelling and showcase your soft skills with - confidence -

-
- - {/* What are Behavioral Interviews */} - -
-

- 🀝 - What are Behavioral Interviews? -

-
-
-

- Behavioral interviews focus on how you've handled situations in - the past to predict your future performance. These questions - typically start with phrases like "Tell me about a time when..." - or "Describe a situation where..." -

-

- Unlike technical interviews that test your coding skills, - behavioral interviews evaluate your soft skills, cultural fit, - and ability to work in a team environment. -

-
-
-

- Why They Matter -

-
    -
  • - - - 70% of hiring decisions are based on cultural fit - -
  • -
  • - - - Assess leadership and communication skills - -
  • -
  • - - - Evaluate problem-solving approach - -
  • -
  • - - - Determine team collaboration ability - -
  • -
-
-
-
-
- - {/* STAR Method Guide */} - -

- The STAR Method Framework -

-
- {[ - { - letter: "S", - word: "Situation", - desc: "Set the context and background of your story", - color: "bg-red-500", - }, - { - letter: "T", - word: "Task", - desc: "Describe your responsibility or goal", - color: "bg-yellow-500", - }, - { - letter: "A", - word: "Action", - desc: "Explain the specific steps you took", - color: "bg-green-500", - }, - { - letter: "R", - word: "Result", - desc: "Share the outcome and what you learned", - color: "bg-blue-500", - }, - ].map((item, i) => ( -
-
- {item.letter} -
-

- {item.word} -

-

- {item.desc} -

-
- ))} -
- - {/* STAR Method Examples */} -
-
-

- πŸ’‘ - Example 1: Leadership Challenge -

-
-
- - Situation: - -

- "During my internship, our team was behind schedule on a - critical project with only 2 weeks left before the deadline." -

-
-
- - Task: - -

- "As the junior developer, I needed to help coordinate efforts - and find ways to accelerate our progress." -

-
-
- - Action: - -

- "I organized daily stand-ups, created a shared task board, and - volunteered to work extra hours on critical features." -

-
-
- - Result: - -

- "We delivered the project on time, and my manager praised my - initiative. I learned the importance of proactive - communication." -

-
-
-
- -
-

- πŸ”§ - Example 2: Problem Solving -

-
-
- - Situation: - -

- "Our main application was experiencing frequent crashes - affecting 30% of users during peak hours." -

-
-
- - Task: - -

- "I was assigned to identify the root cause and implement a - solution within 48 hours." -

-
-
- - Action: - -

- "I analyzed logs, reproduced the issue, and discovered a - memory leak in our caching system. I implemented a fix and - added monitoring." -

-
-
- - Result: - -

- "Crashes reduced by 95%, user satisfaction improved, and we - prevented similar issues with better monitoring." -

-
-
-
-
-
- - {/* Common Behavioral Questions - Collapsible */} - -

- Common Behavioral Questions by Category -

-
- {[ - { - category: "Leadership & Initiative", - icon: "πŸ‘‘", - color: "from-purple-500 to-pink-500", - questions: [ - "Tell me about yourself", - "Tell me about a time you led a team through a difficult project", - "Describe a situation where you had to influence others without authority", - "How do you handle team conflicts?", - "Give an example of when you took initiative on a project", - ], - }, - { - category: "Problem Solving & Challenges", - icon: "🧩", - color: "from-blue-500 to-cyan-500", - questions: [ - "Describe a challenging situation you faced and how you handled it", - "Tell me about the most challenging technical problem you've solved", - "Describe a time you failed and what you learned", - "How do you approach debugging complex issues?", - "Tell me about a time you had to make a decision with incomplete information", - ], - }, - { - category: "Teamwork & Communication", - icon: "🀝", - color: "from-green-500 to-teal-500", - questions: [ - "How do you handle conflict with team members?", - "Explain a complex technical concept to a non-technical person", - "Tell me about a time you had to give difficult feedback", - "Describe a time you disagreed with your manager", - "How do you handle disagreements with stakeholders?", - ], - }, - { - category: "Growth & Learning", - icon: "πŸ“š", - color: "from-orange-500 to-red-500", - questions: [ - "How do you stay updated with new technologies?", - "Tell me about a time you had to learn something completely new", - "What's the most important thing you've learned in your career?", - "Describe a time you received constructive criticism", - "How do you handle tight deadlines and pressure?", - ], - }, - ].map((section, index) => ( -
- - - {expandedCategories[index] && ( - -
- {section.questions.map((question, i) => ( -
-

- "{question}" -

-
- ))} -
-
- )} -
- ))} -
-
- - {/* Do's and Don'ts */} - -

- Do's and Don'ts for Behavioral Interviews -

-
- {/* Do's */} -
-

- βœ… - Do's -

-
- {[ - "Practice with real scenarios from your experience", - "Be concise and specific in your answers", - "Show enthusiasm and passion for your work", - "Use the STAR method to structure responses", - "Prepare 5-7 strong examples beforehand", - "Focus on your individual contributions", - "Quantify results whenever possible", - "Show what you learned from each experience", - ].map((item, i) => ( -
- - - {item} - -
- ))} -
-
- - {/* Don'ts */} -
-

- ❌ - Don'ts -

-
- {[ - "Memorize robotic, scripted answers", - "Be vague or over-explain situations", - "Appear disinterested or unenthusiastic", - "Speak negatively about previous employers", - "Make up stories or exaggerate experiences", - "Focus only on team achievements without your role", - "Give answers without clear structure", - "Forget to mention the results or outcomes", - ].map((item, i) => ( -
- - - {item} - -
- ))} -
-
-
-
- - {/* Video Resources */} - -

- πŸŽ₯ - Video Resources & Learning Materials -

-
- {[ - { - title: "Behavioral Interview Masterclass", - channel: "CareerVidz", - duration: "25 min", - description: - "Complete guide to behavioral interviews with real examples", - url: "https://www.youtube.com/watch?v=PJKYqLP6MRE", - thumbnail: "../../img/Behavioural_Interviews1.png", - }, - { - title: "STAR Method Explained", - channel: "Interview Success", - duration: "15 min", - description: - "Step-by-step breakdown of the STAR method with practice", - url: "https://www.youtube.com/watch?v=V0jktOX8Jog", - thumbnail: "../../img/Behavioural_Interviews2.png", - }, - { - title: "Mock Behavioral Interview", - channel: "Tech Interview Pro", - duration: "30 min", - description: "Real behavioral interview simulation with feedback", - url: "https://www.youtube.com/watch?v=1qw5ITr3k9E", - thumbnail: "../../img/Behavioural_Interviews3.png", - }, - ].map((video, i) => ( -
- {video.title} -
-

- {video.title} -

-

- {video.description} -

-
- - {video.channel} - - - {video.duration} - -
- - ▢️ - Watch Video - -
-
- ))} -
- - {/* Additional Resources */} -
-

- Additional Learning Resources -

-
-
-
- πŸ“š Recommended Books -
-
    -
  • β€’ "Cracking the Coding Interview" by Gayle McDowell
  • -
  • β€’ "The Behavioral Interview Handbook" by Lewis Lin
  • -
  • β€’ "What Color Is Your Parachute?" by Richard N. Bolles
  • -
-
-
-
- 🌐 Online Platforms -
-
    -
  • β€’ Pramp - Free mock interviews
  • -
  • β€’ InterviewBit - Behavioral question bank
  • -
  • β€’ Glassdoor - Company-specific questions
  • -
-
-
-
-
- - {/* Contributor Note */} - -
-

- 🀝 - Join Our Community & Contribute -

-

- Help make this resource better for everyone in the recode hive - community -

-
- -
-
-
πŸ’¬
-

- Share Your Experience -

-

- Share your behavioral interview experiences, both successes and - challenges -

-
-
-
πŸ“
-

- Suggest Resources -

-

- Recommend helpful videos, articles, or tools you've found useful -

-
-
-
πŸ”§
-

- Improve Content -

-

- Help us add more examples, questions, or improve existing content -

-
-
- -
-

- How to Contribute -

-
-
-
- πŸš€ Quick Ways to Help -
-
    -
  • - - - Join our Discord community and share tips - -
  • -
  • - - - Submit interview questions you've encountered - -
  • -
  • - - - Review and suggest improvements to examples - -
  • -
  • - - - Share company-specific behavioral interview tips - -
  • -
-
-
-
- πŸ“‹ Getting Started -
-
- - Join Discord Community - - - Contributing Guide - -
-
-
-
-
-
- ); -}; - -export default BehavioralTab; diff --git a/src/pages/interview-prep/CompaniesTab.tsx b/src/pages/interview-prep/CompaniesTab.tsx deleted file mode 100644 index 0d974397..00000000 --- a/src/pages/interview-prep/CompaniesTab.tsx +++ /dev/null @@ -1,738 +0,0 @@ -import React from "react"; -import { useState, useMemo } from "react"; -import { motion } from "framer-motion"; -import Link from "@docusaurus/Link"; -import { - Search, - ChevronDown, - Users, - MessageSquare, - Building2, - Target, - Lightbulb, - Star, - TrendingUp, - Award, - Zap, -} from "lucide-react"; -import { Button } from "../../components/ui/button"; -import { Input } from "../../components/ui/input"; -import { Badge } from "../../components/ui/badge"; -import { - Card, - CardContent, - CardHeader, - CardTitle, -} from "../../components/ui/card"; -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from "../../components/ui/collapsible"; - -interface CompanyTip { - company: string; - logo: string; - focus: string; - industry: string; - roleTypes: string[]; - tips: string[]; - commonQuestions: Array<{ - question: string; - answer: string; - category: string; - }>; - focusAreas: string[]; -} - -interface CompaniesTabProps { - companyTips?: CompanyTip[]; - toggleTips: (index: number) => void; - toggleQuestions: (index: number) => void; - showTips: { [key: number]: boolean }; - showQuestions: { [key: number]: boolean }; -} - -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; -const staggerContainer = { - hidden: {}, - visible: { transition: { staggerChildren: 0.1 } }, -}; - -const CompaniesTab: React.FC = ({ companyTips = [] }) => { - const [searchTerm, setSearchTerm] = useState(""); - const [selectedIndustry, setSelectedIndustry] = useState(""); - const [selectedRole, setSelectedRole] = useState(""); - const [expandedQuestions, setExpandedQuestions] = useState<{ - [key: string]: boolean; - }>({}); - - const filteredCompanies = useMemo(() => { - return (companyTips || []).filter((company) => { - const matchesSearch = - company.company.toLowerCase().includes(searchTerm.toLowerCase()) || - company.focus.toLowerCase().includes(searchTerm.toLowerCase()) || - company.focusAreas.some((area) => - area.toLowerCase().includes(searchTerm.toLowerCase()), - ); - - const matchesIndustry = - !selectedIndustry || company.industry === selectedIndustry; - const matchesRole = - !selectedRole || company.roleTypes.includes(selectedRole); - - return matchesSearch && matchesIndustry && matchesRole; - }); - }, [companyTips, searchTerm, selectedIndustry, selectedRole]); - - const industries = [...new Set((companyTips || []).map((c) => c.industry))]; - const roles = [...new Set((companyTips || []).flatMap((c) => c.roleTypes))]; - - const toggleQuestion = (companyIndex: number, questionIndex: number) => { - const key = `${companyIndex}-${questionIndex}`; - setExpandedQuestions((prev) => ({ - ...prev, - [key]: !prev[key], - })); - }; - const [expandedCompanies, setExpandedCompanies] = useState<{ - [key: number]: boolean; - }>({}); - - const toggleCompany = (index: number) => { - setExpandedCompanies((prev) => ({ - ...prev, - [index]: !prev[index], - })); - }; - - return ( - - -
- - Master FAANG+ Company Interviews -
-

- Company-Specific Interview Prep -

-

- Get insider knowledge, real interview questions, and proven strategies - for landing your dream job at top tech companies -

-
- - -
-
-
- -
-
-

- 🏒 - FAANG+ Companies Overview -

-

- Navigate the unique interview processes of the world's most - competitive tech companies -

-
- -
- {[ - { - title: "Big Tech Focus", - icon: "🎯", - description: - "Google, Amazon, Meta, Apple, Netflix, Microsoft + emerging unicorns", - color: "from-blue-500 to-blue-600", - stats: "6+ Companies", - }, - { - title: "Interview Styles", - icon: "πŸ’Ό", - description: - "System Design, Behavioral, Coding, Product Sense, Leadership", - color: "from-green-500 to-green-600", - stats: "5 Categories", - }, - { - title: "Success Factors", - icon: "⭐", - description: - "Company culture fit, technical excellence, leadership principles", - color: "from-purple-500 to-purple-600", - stats: "95% Success", - }, - { - title: "Real Questions", - icon: "❓", - description: - "Actual questions from recent interviews with detailed answers", - color: "from-orange-500 to-orange-600", - stats: "100+ Questions", - }, - ].map((item, i) => ( - -
- - {item.icon} -
-

- {item.title} -

-

- {item.description} -

-
- {item.stats} -
-
- ))} -
- -
- {[ - { - metric: "92%", - label: "Interview Success Rate", - icon: "πŸ“ˆ", - color: "text-green-600", - }, - { - metric: "150+", - label: "Companies Covered", - icon: "🏒", - color: "text-blue-600", - }, - { - metric: "50K+", - label: "Successful Candidates", - icon: "πŸ‘₯", - color: "text-purple-600", - }, - ].map((stat, i) => ( - -
- {stat.metric} -
-
- {stat.icon} - {stat.label} -
-
- ))} -
-
-
- - -
-
- - setSearchTerm(e.target.value)} - className="h-12 rounded-xl border-gray-200 bg-gray-50 pl-12 text-lg text-gray-900 dark:border-gray-600 dark:bg-gray-700 dark:text-white" - /> -
-
- - -
-
- -
-
- - Showing {filteredCompanies.length} of {companyTips?.length || 0}{" "} - companies -
-
- - Updated weekly with latest interview insights -
-
-
- -
- {filteredCompanies.map((company, companyIndex) => { - const isOpen = expandedCompanies[companyIndex] || false; - return ( - - - -
-
-
- -
-
- - {`${company.company} -
- -
-
- -
- - {company.company} - -
- -

- Focus: {company.focus} -

-
- -
- {company.focusAreas.slice(0, 4).map((area, i) => ( - - {area} - - ))} - {company.focusAreas.length > 4 && ( - - +{company.focusAreas.length - 4} more - - )} -
-
- -
-
- - High Demand -
-
- {company.industry} -
-
-
- -
- - - Common roles: - {company.roleTypes.map((role, i) => ( - - {role} - - ))} - - - -
-
-
- - - -
- -

-
- -
- Key Preparation Tips -

-
    - {company.tips.map((tip, i) => ( - -
    - - {i + 1} - -
    - - {tip} - -
    - ))} -
-
- - -

-
- -
- Common Interview Questions -

-
- {company.commonQuestions.map((item, i) => { - const questionKey = `${companyIndex}-${i}`; - const isExpanded = expandedQuestions[questionKey]; - - return ( - - - toggleQuestion(companyIndex, i) - } - className="w-full text-left" - > - -
-

- "{item.question}" -

- - {item.category} - -
- - - -
-
- - -

- {item.answer} -

-
-
-
- ); - })} -
-
-
- - -
-
- πŸš€ -
-
-
-
- -
-
- Community Contributors Needed! -
-
-

- Help keep {company.company}'s interview information - current! Share recent questions, tips, or insights - you've encountered to help fellow candidates - succeed. -

-
- - -
-
-
-
-
-
-
-
- ); - })} -
- - {filteredCompanies.length === 0 && ( - -
πŸ”
-

- No companies match your current filters. -

- -
- )} - - -
🀝
-
πŸ’‘
- -
-
-

- 🀝 - Join Our Interview Prep Community -

-

- Help build the most comprehensive company interview resource and - accelerate your career growth -

-
- -
- {[ - { - title: "Share Experiences", - icon: "πŸ’¬", - description: - "Recent interview questions and experiences from your interviews", - color: "from-blue-500 to-blue-600", - benefit: "Help 1000+ candidates", - }, - { - title: "Update Tips", - icon: "πŸ’‘", - description: - "Company-specific preparation strategies and insider knowledge", - color: "from-green-500 to-green-600", - benefit: "Earn community points", - }, - { - title: "Add Companies", - icon: "🏒", - description: - "Request coverage for new companies and emerging startups", - color: "from-purple-500 to-purple-600", - benefit: "Shape our roadmap", - }, - { - title: "Improve Content", - icon: "✨", - description: - "Enhance existing company profiles with updated information", - color: "from-orange-500 to-orange-600", - benefit: "Get featured contributor", - }, - ].map((item, i) => ( - -
- - {item.icon} -
-

- {item.title} -

-

- {item.description} -

-
- {item.benefit} -
-
- ))} -
- -
- - - - - -

- Join 50,000+ developers preparing for their dream jobs -

-
-
-
-
- ); -}; - -export default CompaniesTab; diff --git a/src/pages/interview-prep/OverviewTab.tsx b/src/pages/interview-prep/OverviewTab.tsx deleted file mode 100644 index 8437b66e..00000000 --- a/src/pages/interview-prep/OverviewTab.tsx +++ /dev/null @@ -1,739 +0,0 @@ -import React from "react"; -import { useState, useMemo } from "react"; -import { motion } from "framer-motion"; -import Link from "@docusaurus/Link"; -import { - Search, - ChevronDown, - Users, - MessageSquare, - Building2, - Target, - Lightbulb, - Star, - TrendingUp, - Award, - Zap, -} from "lucide-react"; -import { Button } from "../../components/ui/button"; -import { Input } from "../../components/ui/input"; -import { Badge } from "../../components/ui/badge"; -import { - Card, - CardContent, - CardHeader, - CardTitle, -} from "../../components/ui/card"; -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from "../../components/ui/collapsible"; - -interface CompanyTip { - company: string; - logo: string; - focus: string; - industry: string; - roleTypes: string[]; - tips: string[]; - commonQuestions: Array<{ - question: string; - answer: string; - category: string; - }>; - focusAreas: string[]; -} - -interface CompaniesTabProps { - companyTips?: CompanyTip[]; - toggleTips: (index: number) => void; - toggleQuestions: (index: number) => void; - showTips: { [key: number]: boolean }; - showQuestions: { [key: number]: boolean }; - setActiveTab?: (tab: "overview" | "technical" | "behavioral" | "companies" | "practice") => void; -} - -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; -const staggerContainer = { - hidden: {}, - visible: { transition: { staggerChildren: 0.1 } }, -}; - -const CompaniesTab: React.FC = ({ companyTips = [] }) => { - const [searchTerm, setSearchTerm] = useState(""); - const [selectedIndustry, setSelectedIndustry] = useState(""); - const [selectedRole, setSelectedRole] = useState(""); - const [expandedQuestions, setExpandedQuestions] = useState<{ - [key: string]: boolean; - }>({}); - - const filteredCompanies = useMemo(() => { - return (companyTips || []).filter((company) => { - const matchesSearch = - company.company.toLowerCase().includes(searchTerm.toLowerCase()) || - company.focus.toLowerCase().includes(searchTerm.toLowerCase()) || - company.focusAreas.some((area) => - area.toLowerCase().includes(searchTerm.toLowerCase()), - ); - - const matchesIndustry = - !selectedIndustry || company.industry === selectedIndustry; - const matchesRole = - !selectedRole || company.roleTypes.includes(selectedRole); - - return matchesSearch && matchesIndustry && matchesRole; - }); - }, [companyTips, searchTerm, selectedIndustry, selectedRole]); - - const industries = [...new Set((companyTips || []).map((c) => c.industry))]; - const roles = [...new Set((companyTips || []).flatMap((c) => c.roleTypes))]; - - const toggleQuestion = (companyIndex: number, questionIndex: number) => { - const key = `${companyIndex}-${questionIndex}`; - setExpandedQuestions((prev) => ({ - ...prev, - [key]: !prev[key], - })); - }; - const [expandedCompanies, setExpandedCompanies] = useState<{ - [key: number]: boolean; - }>({}); - - const toggleCompany = (index: number) => { - setExpandedCompanies((prev) => ({ - ...prev, - [index]: !prev[index], - })); - }; - - return ( - - -
- - Master FAANG+ Company Interviews -
-

- Company-Specific Interview Prep -

-

- Get insider knowledge, real interview questions, and proven strategies - for landing your dream job at top tech companies -

-
- - -
-
-
- -
-
-

- 🏒 - FAANG+ Companies Overview -

-

- Navigate the unique interview processes of the world's most - competitive tech companies -

-
- -
- {[ - { - title: "Big Tech Focus", - icon: "🎯", - description: - "Google, Amazon, Meta, Apple, Netflix, Microsoft + emerging unicorns", - color: "from-blue-500 to-blue-600", - stats: "6+ Companies", - }, - { - title: "Interview Styles", - icon: "πŸ’Ό", - description: - "System Design, Behavioral, Coding, Product Sense, Leadership", - color: "from-green-500 to-green-600", - stats: "5 Categories", - }, - { - title: "Success Factors", - icon: "⭐", - description: - "Company culture fit, technical excellence, leadership principles", - color: "from-purple-500 to-purple-600", - stats: "95% Success", - }, - { - title: "Real Questions", - icon: "❓", - description: - "Actual questions from recent interviews with detailed answers", - color: "from-orange-500 to-orange-600", - stats: "100+ Questions", - }, - ].map((item, i) => ( - -
- - {item.icon} -
-

- {item.title} -

-

- {item.description} -

-
- {item.stats} -
-
- ))} -
- -
- {[ - { - metric: "92%", - label: "Interview Success Rate", - icon: "πŸ“ˆ", - color: "text-green-600", - }, - { - metric: "150+", - label: "Companies Covered", - icon: "🏒", - color: "text-blue-600", - }, - { - metric: "50K+", - label: "Successful Candidates", - icon: "πŸ‘₯", - color: "text-purple-600", - }, - ].map((stat, i) => ( - -
- {stat.metric} -
-
- {stat.icon} - {stat.label} -
-
- ))} -
-
-
- - -
-
- - setSearchTerm(e.target.value)} - className="h-12 rounded-xl border-gray-200 bg-gray-50 pl-12 text-lg text-gray-900 dark:border-gray-600 dark:bg-gray-700 dark:text-white" - /> -
-
- - -
-
- -
-
- - Showing {filteredCompanies.length} of {companyTips?.length || 0}{" "} - companies -
-
- - Updated weekly with latest interview insights -
-
-
- -
- {filteredCompanies.map((company, companyIndex) => { - const isOpen = expandedCompanies[companyIndex] || false; - return ( - - - -
-
-
- -
-
- - {`${company.company} -
- -
-
- -
- - {company.company} - -
- -

- Focus: {company.focus} -

-
- -
- {company.focusAreas.slice(0, 4).map((area, i) => ( - - {area} - - ))} - {company.focusAreas.length > 4 && ( - - +{company.focusAreas.length - 4} more - - )} -
-
- -
-
- - High Demand -
-
- {company.industry} -
-
-
- -
- - - Common roles: - {company.roleTypes.map((role, i) => ( - - {role} - - ))} - - - -
-
-
- - - -
- -

-
- -
- Key Preparation Tips -

-
    - {company.tips.map((tip, i) => ( - -
    - - {i + 1} - -
    - - {tip} - -
    - ))} -
-
- - -

-
- -
- Common Interview Questions -

-
- {company.commonQuestions.map((item, i) => { - const questionKey = `${companyIndex}-${i}`; - const isExpanded = expandedQuestions[questionKey]; - - return ( - - - toggleQuestion(companyIndex, i) - } - className="w-full text-left" - > - -
-

- "{item.question}" -

- - {item.category} - -
- - - -
-
- - -

- {item.answer} -

-
-
-
- ); - })} -
-
-
- - -
-
- πŸš€ -
-
-
-
- -
-
- Community Contributors Needed! -
-
-

- Help keep {company.company}'s interview information - current! Share recent questions, tips, or insights - you've encountered to help fellow candidates - succeed. -

-
- - -
-
-
-
-
-
-
-
- ); - })} -
- - {filteredCompanies.length === 0 && ( - -
πŸ”
-

- No companies match your current filters. -

- -
- )} - - -
🀝
-
πŸ’‘
- -
-
-

- 🀝 - Join Our Interview Prep Community -

-

- Help build the most comprehensive company interview resource and - accelerate your career growth -

-
- -
- {[ - { - title: "Share Experiences", - icon: "πŸ’¬", - description: - "Recent interview questions and experiences from your interviews", - color: "from-blue-500 to-blue-600", - benefit: "Help 1000+ candidates", - }, - { - title: "Update Tips", - icon: "πŸ’‘", - description: - "Company-specific preparation strategies and insider knowledge", - color: "from-green-500 to-green-600", - benefit: "Earn community points", - }, - { - title: "Add Companies", - icon: "🏒", - description: - "Request coverage for new companies and emerging startups", - color: "from-purple-500 to-purple-600", - benefit: "Shape our roadmap", - }, - { - title: "Improve Content", - icon: "✨", - description: - "Enhance existing company profiles with updated information", - color: "from-orange-500 to-orange-600", - benefit: "Get featured contributor", - }, - ].map((item, i) => ( - -
- - {item.icon} -
-

- {item.title} -

-

- {item.description} -

-
- {item.benefit} -
-
- ))} -
- -
- - - - - -

- Join 50,000+ developers preparing for their dream jobs -

-
-
-
-
- ); -}; - -export default CompaniesTab; diff --git a/src/pages/interview-prep/PracticeTab.tsx b/src/pages/interview-prep/PracticeTab.tsx deleted file mode 100644 index b4ac9605..00000000 --- a/src/pages/interview-prep/PracticeTab.tsx +++ /dev/null @@ -1,1090 +0,0 @@ -import React from "react"; -import { useState, useEffect } from "react"; -import { motion, AnimatePresence } from "framer-motion"; -import type { TabType } from "./index"; - -interface MockQuestion { - id: string; - type: "technical" | "behavioral" | "system-design" | (string & {}); - question: string; - difficulty: "Easy" | "Medium" | "Hard" | (string & {}); - framework?: string; - hints: string[]; - estimatedTime: number; - category?: string; - links?: { - title: string; - url: string; - type: - | "documentation" - | "tutorial" - | "example" - | "reference" - | "tool" - | (string & {}); - }[]; -} - -interface PracticeSession { - questionId: string; - timeSpent: number; - completed: boolean; - startTime?: number; -} - -interface PracticeStats { - totalCompleted: number; - averageTime: number; - easyCompleted: number; - mediumCompleted: number; - hardCompleted: number; - technicalCompleted: number; - behavioralCompleted: number; - systemDesignCompleted: number; -} - -interface PracticeTabProps { - mockInterviewQuestions?: MockQuestion[]; - onTabChange?: (tab: TabType) => void; -} - -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; -const staggerContainer = { - hidden: {}, - visible: { transition: { staggerChildren: 0.1 } }, -}; -const scaleIn = { - hidden: { scale: 0.8, opacity: 0 }, - visible: { scale: 1, opacity: 1, transition: { duration: 0.5 } }, -}; - -const PracticeTab: React.FC = ({ - mockInterviewQuestions = [], - onTabChange, -}) => { - const [selectedQuestion, setSelectedQuestion] = useState(null); - const [activeSession, setActiveSession] = useState( - null, - ); - const [timer, setTimer] = useState(0); - const [isTimerRunning, setIsTimerRunning] = useState(false); - const [completedQuestions, setCompletedQuestions] = useState>( - new Set(), - ); - const [practiceStats, setPracticeStats] = useState({ - totalCompleted: 0, - averageTime: 0, - easyCompleted: 0, - mediumCompleted: 0, - hardCompleted: 0, - technicalCompleted: 0, - behavioralCompleted: 0, - systemDesignCompleted: 0, - }); - const [filterType, setFilterType] = useState("all"); - const [filterDifficulty, setFilterDifficulty] = useState("all"); - const [showHints, setShowHints] = useState>(new Set()); - const [showResources, setShowResources] = useState>(new Set()); - const [showConfetti, setShowConfetti] = useState(false); - const [recentlyCompleted, setRecentlyCompleted] = useState( - null, - ); - - const allQuestions = [...mockInterviewQuestions]; - - useEffect(() => { - let interval: NodeJS.Timeout; - if (isTimerRunning && activeSession) { - interval = setInterval(() => { - setTimer((prev) => prev + 1); - }, 1000); - } - return () => { - if (interval) clearInterval(interval); - }; - }, [isTimerRunning, activeSession]); - - useEffect(() => { - if (showConfetti) { - const timeout = setTimeout(() => setShowConfetti(false), 3000); - return () => clearTimeout(timeout); - } - }, [showConfetti]); - - const filteredQuestions = allQuestions.filter((q) => { - const typeMatch = filterType === "all" || q.type === filterType; - const difficultyMatch = - filterDifficulty === "all" || q.difficulty === filterDifficulty; - return typeMatch && difficultyMatch; - }); - - const startPractice = (question: MockQuestion) => { - const session: PracticeSession = { - questionId: question.id, - timeSpent: 0, - completed: false, - startTime: Date.now(), - }; - setActiveSession(session); - setTimer(0); - setIsTimerRunning(true); - setSelectedQuestion(question.id); - }; - - const completePractice = () => { - if (activeSession) { - const timeSpent = Math.floor(timer / 60); - setCompletedQuestions( - (prev) => new Set([...prev, activeSession.questionId]), - ); - setRecentlyCompleted(activeSession.questionId); - setShowConfetti(true); - - const question = allQuestions.find( - (q) => q.id === activeSession.questionId, - ); - if (question) { - setPracticeStats((prev) => ({ - ...prev, - totalCompleted: prev.totalCompleted + 1, - averageTime: Math.round( - (prev.averageTime * prev.totalCompleted + timeSpent) / - (prev.totalCompleted + 1), - ), - })); - } - } - setIsTimerRunning(false); - setActiveSession(null); - setSelectedQuestion(null); - setTimer(0); - - setTimeout(() => setRecentlyCompleted(null), 2000); - }; - - const formatTime = (seconds: number) => { - const mins = Math.floor(seconds / 60); - const secs = seconds % 60; - return `${mins.toString().padStart(2, "0")}:${secs.toString().padStart(2, "0")}`; - }; - - const getDifficultyColor = (difficulty: string) => { - switch (difficulty) { - case "Easy": - return "bg-gradient-to-r from-emerald-100 to-green-100 text-emerald-800 dark:from-emerald-900/30 dark:to-green-900/30 dark:text-emerald-200 border border-emerald-200 dark:border-emerald-700"; - case "Medium": - return "bg-gradient-to-r from-amber-100 to-yellow-100 text-amber-800 dark:from-amber-900/30 dark:to-yellow-900/30 dark:text-amber-200 border border-amber-200 dark:border-amber-700"; - case "Hard": - return "bg-gradient-to-r from-rose-100 to-red-100 text-rose-800 dark:from-rose-900/30 dark:to-red-900/30 dark:text-rose-200 border border-rose-200 dark:border-rose-700"; - default: - return "bg-gradient-to-r from-gray-100 to-slate-100 text-gray-800 dark:from-gray-700 dark:to-slate-700 dark:text-gray-200 border border-gray-200 dark:border-gray-600"; - } - }; - - const getTypeColor = (type: string) => { - switch (type) { - case "technical": - return "bg-gradient-to-r from-blue-100 to-cyan-100 text-blue-800 dark:from-blue-900/30 dark:to-cyan-900/30 dark:text-blue-200 border border-blue-200 dark:border-blue-700"; - case "behavioral": - return "bg-gradient-to-r from-green-100 to-emerald-100 text-green-800 dark:from-green-900/30 dark:to-emerald-900/30 dark:text-green-200 border border-green-200 dark:border-green-700"; - case "system-design": - return "bg-gradient-to-r from-purple-100 to-violet-100 text-purple-800 dark:from-purple-900/30 dark:to-violet-900/30 dark:text-purple-200 border border-purple-200 dark:border-purple-700"; - default: - return "bg-gradient-to-r from-gray-100 to-slate-100 text-gray-800 dark:from-gray-700 dark:to-slate-700 dark:text-gray-200 border border-gray-200 dark:border-gray-600"; - } - }; - - const toggleHints = (questionId: string) => { - setShowHints((prev) => { - const newSet = new Set(prev); - if (newSet.has(questionId)) { - newSet.delete(questionId); - } else { - newSet.add(questionId); - } - return newSet; - }); - }; - - const toggleResources = (questionId: string) => { - setShowResources((prev) => { - const newSet = new Set(prev); - if (newSet.has(questionId)) { - newSet.delete(questionId); - } else { - newSet.add(questionId); - } - return newSet; - }); - }; - - const handleTabNavigation = (tab: TabType) => { - if (onTabChange) { - onTabChange(tab); - } - }; - - const progressPercentage = - allQuestions.length > 0 - ? (practiceStats.totalCompleted / allQuestions.length) * 100 - : 0; - - return ( - - - {showConfetti && ( - -
πŸŽ‰
-
- - )} - - - -
-
- - - Interactive Practice Sessions - - - Mock Interview Practice - -

- Simulate real interview scenarios with our interactive practice - sessions. Track your progress, time your responses, and get - instant feedback to improve your interview performance. -

-
- -
- handleTabNavigation("technical")} - whileHover={{ scale: 1.03, y: -5 }} - whileTap={{ scale: 0.98 }} - > -
-
- - πŸ’» - -

- Technical Deep Dive -

-

- Explore comprehensive technical resources, coding patterns, - and algorithm practice. -

-
- Go to Technical Tab - - β†’ - -
-
- - - handleTabNavigation("behavioral")} - whileHover={{ scale: 1.03, y: -5 }} - whileTap={{ scale: 0.98 }} - > -
-
- - πŸ—£οΈ - -

- Behavioral Mastery -

-

- Master the STAR method and practice storytelling for - behavioral interviews. -

-
- Go to Behavioral Tab - - β†’ - -
-
- - - handleTabNavigation("companies")} - whileHover={{ scale: 1.03, y: -5 }} - whileTap={{ scale: 0.98 }} - > -
-
- - 🏒 - -

- Company Research -

-

- Research specific companies, their interview processes, and - preparation strategies. -

-
- Go to Companies Tab - - β†’ - -
-
- -
-
-
- - - -
-
- - {practiceStats.totalCompleted} - -
- Completed -
-
- - - -
-
-
- {practiceStats.averageTime}m -
-
- Avg Time -
-
- - - -
-
-
- {Math.round(progressPercentage)}% -
-
- Progress -
-
- -
-
- - - -
-
- - {isTimerRunning ? formatTime(timer) : "00:00"} - -
- Current -
- {isTimerRunning && ( - - )} -
- - - - -
-
- - setFilterType(e.target.value)} - className="rounded-xl border-2 border-gray-300 bg-white px-6 py-3 font-medium text-gray-900 shadow-lg transition-all focus:border-blue-500 focus:ring-4 focus:ring-blue-500/50 dark:border-gray-600 dark:bg-gray-700 dark:text-white" - whileFocus={{ scale: 1.02 }} - > - - - - - -
-
- - setFilterDifficulty(e.target.value)} - className="rounded-xl border-2 border-gray-300 bg-white px-6 py-3 font-medium text-gray-900 shadow-lg transition-all focus:border-blue-500 focus:ring-4 focus:ring-blue-500/50 dark:border-gray-600 dark:bg-gray-700 dark:text-white" - whileFocus={{ scale: 1.02 }} - > - - - - - -
- - - {filteredQuestions.length} - {" "} - of{" "} - - {allQuestions.length} - {" "} - questions - -
-
- -
- - {filteredQuestions.map((question, index) => ( - - - {recentlyCompleted === question.id && ( - - - ✨ - - - )} - - -
-
-
- - {question.type === "system-design" - ? "System Design" - : question.type.charAt(0).toUpperCase() + - question.type.slice(1)} - - - {completedQuestions.has(question.id) && ( - - - βœ“ - - - Completed - - - )} - -
-
- - {question.difficulty} - - - ~{question.estimatedTime}min - -
-
- -

- {question.question} -

- - {question.framework && ( - -
- - πŸ’‘ - -

- Framework: {question.framework} -

-
-
- )} - - {question.category && ( -
- πŸ“‚ - - {question.category} - -
- )} -
- -
- toggleHints(question.id)} - className="group flex w-full items-center justify-between space-x-3 rounded-xl border border-gray-300 bg-white px-4 py-3 text-sm shadow-lg transition-all hover:bg-gray-50 hover:shadow-xl dark:border-gray-600 dark:bg-gray-800 dark:hover:bg-gray-700" - whileHover={{ scale: 1.02 }} - whileTap={{ scale: 0.98 }} - > -
- - {showHints.has(question.id) ? "πŸ”½" : "▢️"} - - - {showHints.has(question.id) ? "Hide Hints" : "Show Hints"} - -
- - {question.hints.length} - -
- - - {showHints.has(question.id) && ( - -

- - πŸ’‘ - - - Helpful Hints: - -

-
    - {question.hints.map((hint, i) => ( - - - {i + 1} - - - {hint} - - - ))} -
-
- )} -
- - {question.links && question.links.length > 0 && ( -
- toggleResources(question.id)} - className="group flex w-full items-center justify-between space-x-3 rounded-xl border-2 border-indigo-300 bg-gradient-to-r from-indigo-100 via-purple-100 to-pink-100 px-4 py-3 text-sm shadow-lg transition-all hover:from-indigo-200 hover:via-purple-200 hover:to-pink-200 hover:shadow-xl dark:border-indigo-600 dark:from-indigo-900/50 dark:via-purple-900/50 dark:to-pink-900/50 dark:hover:from-indigo-800/60 dark:hover:via-purple-800/60 dark:hover:to-pink-800/60" - whileHover={{ scale: 1.02 }} - whileTap={{ scale: 0.98 }} - > -
- - {showResources.has(question.id) ? "πŸ”½" : "▢️"} - - - {showResources.has(question.id) - ? "Hide Resources" - : "Show Resources"} - -
- - {question.links.length} - -
- - - {showResources.has(question.id) && ( - -

- - πŸ”— - - - Helpful Resources: - -

-
- {question.links.map((link, i) => { - const getLinkTypeIcon = (type: string) => { - switch (type) { - case "documentation": - return "πŸ“š"; - case "tutorial": - return "πŸŽ“"; - case "example": - return "πŸ’‘"; - case "reference": - return "πŸ“–"; - case "tool": - return "πŸ› οΈ"; - default: - return "πŸ”—"; - } - }; - - const getLinkTypeColor = (type: string) => { - switch (type) { - case "documentation": - return "from-blue-100 to-cyan-100 dark:from-blue-900/40 dark:to-cyan-900/40 text-blue-700 dark:text-blue-300 border-blue-200 dark:border-blue-700"; - case "tutorial": - return "from-green-100 to-emerald-100 dark:from-green-900/40 dark:to-emerald-900/40 text-green-700 dark:text-green-300 border-green-200 dark:border-green-700"; - case "example": - return "from-yellow-100 to-amber-100 dark:from-yellow-900/40 dark:to-amber-900/40 text-yellow-700 dark:text-yellow-300 border-yellow-200 dark:border-yellow-700"; - case "reference": - return "from-purple-100 to-violet-100 dark:from-purple-900/40 dark:to-violet-900/40 text-purple-700 dark:text-purple-300 border-purple-200 dark:border-purple-700"; - case "tool": - return "from-orange-100 to-red-100 dark:from-orange-900/40 dark:to-red-900/40 text-orange-700 dark:text-orange-300 border-orange-200 dark:border-orange-700"; - default: - return "from-gray-100 to-slate-100 dark:from-gray-700 dark:to-slate-700 text-gray-800 dark:text-gray-200 border-gray-200 dark:border-gray-600"; - } - }; - - return ( - - - {getLinkTypeIcon(link.type)} - -
-
- {link.title} -
-
- {link.type.replace("-", " ")} -
-
- - β†’ - -
- ); - })} -
-
- )} -
-
- )} -
- -
- - {activeSession?.questionId === question.id ? ( - -
-
- - - 🎯 - - - Session Active - - - - {formatTime(timer)} - -
-
- - - βœ“ - - - Complete Practice - - -
- ) : ( - startPractice(question)} - disabled={!!activeSession} - className={`flex w-full items-center justify-center space-x-3 rounded-xl border-2 py-4 font-black shadow-2xl transition-all ${ - completedQuestions.has(question.id) - ? "cursor-default border-gray-300 bg-gradient-to-r from-gray-200 to-slate-200 text-gray-800 dark:border-gray-500 dark:from-gray-600 dark:to-slate-600 dark:text-gray-200" - : activeSession - ? "cursor-not-allowed border-gray-400 bg-gradient-to-r from-gray-300 to-slate-300 text-gray-600 dark:border-gray-600 dark:from-gray-700 dark:to-slate-700 dark:text-gray-400" - : "border-blue-500/20 bg-gradient-to-r from-blue-600 via-indigo-600 to-purple-600 text-white hover:from-blue-700 hover:via-indigo-700 hover:to-purple-700 hover:shadow-blue-500/25" - }`} - whileHover={ - !completedQuestions.has(question.id) && !activeSession - ? { scale: 1.02, y: -2 } - : {} - } - whileTap={ - !completedQuestions.has(question.id) && !activeSession - ? { scale: 0.98 } - : {} - } - initial={{ opacity: 0, y: 20 }} - animate={{ opacity: 1, y: 0 }} - exit={{ opacity: 0, y: -20 }} - > - {completedQuestions.has(question.id) ? ( - <> - - βœ“ - - - Completed - - - ) : ( - <> - - πŸš€ - - - Start Practice - - - )} - - )} -
-
-
- ))} -
-
- - - - 🎯 Practice Features & Tools - -
- {[ - { - icon: "⏱️", - title: "Live Timer", - desc: "Real-time countdown with session tracking to simulate interview pressure", - color: "blue", - }, - { - icon: "πŸ“Š", - title: "Progress Analytics", - desc: "Track completion rates and performance trends over time", - color: "green", - }, - { - icon: "🎯", - title: "Smart Filtering", - desc: "Filter by type, difficulty, and completion status for focused practice", - color: "purple", - }, - { - icon: "πŸ’‘", - title: "Guided Hints", - desc: "STAR method templates and solution frameworks for better answers", - color: "orange", - }, - ].map((feature, index) => ( - - - {feature.icon} - -

- {feature.title} -

-

- {feature.desc} -

-
- ))} -
-
- - ); -}; - -export default PracticeTab; diff --git a/src/pages/interview-prep/TechnicalTab.tsx b/src/pages/interview-prep/TechnicalTab.tsx deleted file mode 100644 index ddfc73c1..00000000 --- a/src/pages/interview-prep/TechnicalTab.tsx +++ /dev/null @@ -1,485 +0,0 @@ -import React from "react"; -import { motion } from "framer-motion"; -import Link from "@docusaurus/Link"; - -interface Resource { - name: string; - url: string; -} -interface SubCategory { - title: string; - difficulty: string; - problems: number; - subtopics: string[]; - resources: Resource[]; -} -interface TechnicalCategory { - category: string; - description: string; - totalProblems: number; - subcategories: SubCategory[]; -} - -interface PracticePlatform { - name: string; - description: string; - problems: string; - difficulty: string[]; - url: string; - features: string[]; -} - -interface TechnicalTabProps { - technicalResources?: TechnicalCategory[]; - practicePlatforms?: PracticePlatform[]; - expandedCategories?: { [key: number]: boolean }; - toggleCategory: (index: number) => void; -} - -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; -const staggerContainer = { - hidden: {}, - visible: { transition: { staggerChildren: 0.2 } }, -}; - -const TechnicalTab: React.FC = ({ - technicalResources = [], - practicePlatforms = [], - expandedCategories = [], - toggleCategory, -}) => { - return ( - - -
-
-
- - Technical Interview Mastery -
-

- Master Technical Interviews -

-

- Technical interviews are the cornerstone of software engineering - hiring. They evaluate your problem-solving abilities, coding - skills, and understanding of computer science fundamentals. - Success requires consistent practice, pattern recognition, and the - ability to communicate your thought process clearly. -

-
-
-
-
- 🧠 -
-

- Problem Solving -

-

- Develop systematic approaches to break down complex problems - into manageable components. -

-
-
-
- ⚑ -
-

- Pattern Recognition -

-

- Learn to identify common patterns and apply proven techniques to - solve similar problems efficiently. -

-
-
-
- πŸ’¬ -
-

- Communication -

-

- Master the art of explaining your approach, discussing - trade-offs, and collaborating with interviewers. -

-
-
-
-
- πŸ’‘ -
-

- Success Strategy -

-

- Focus on understanding patterns rather than memorizing - solutions. Practice explaining your thought process out loud, - and always consider time/space complexity. Consistent daily - practice for 2-3 months typically yields the best results. -

-
-
-
-
-
- - {/* Question Bank by Category - Collapsible */} - -

- πŸ“š Question Bank by Category -

-
- {technicalResources.map((category, categoryIndex) => { - const headerColors = [ - { - gradient: "from-purple-500 to-pink-400", - border: "border-purple-500 dark:border-purple-400", - }, - { - gradient: "from-blue-500 to-sky-400", - border: "border-blue-500 dark:border-blue-400", - }, - { - gradient: "from-green-500 to-green-400", - border: "border-green-500 dark:border-green-400", - }, - { - gradient: "from-orange-500 to-red-500", - border: "border-orange-500 dark:border-orange-400", - }, - { - gradient: "from-pink-500 to-yellow-500", - border: "border-pink-500 dark:border-pink-400", - }, - { - gradient: "from-cyan-500 to-blue-500", - border: "border-cyan-500 dark:border-cyan-400", - }, - ]; - const { gradient, border } = - headerColors[categoryIndex % headerColors.length]; - const subtopicBorderClasses = [ - "question-bank-subtopic-purple", - "question-bank-subtopic-blue", - "question-bank-subtopic-green", - "question-bank-subtopic-orange", - "question-bank-subtopic-pink", - "question-bank-subtopic-cyan", - ]; - return ( -
- {/* Outer header */} - - - {/* Collapsible Content */} - {expandedCategories[categoryIndex] && ( - -
- {category.subcategories.map((subcategory, subIndex) => ( -
- {/* Subcategory Header */} -
-
- {subcategory.title} -
-
- - {subcategory.difficulty} - - - {subcategory.problems} - -
-
- - {/* Subtopics */} -
-
- Key Topics: -
-
- {subcategory.subtopics.map( - (topic, topicIndex) => ( - - {topic} - - ), - )} -
-
- - {/* Resources */} -
-
- Practice Resources: -
- {subcategory.resources.map( - (resource, resourceIndex) => ( - - πŸ”— {resource.name} - - ), - )} -
-
- ))} -
-
- )} -
- ); - })} -
-
- - {/* Practice Platforms */} - -

- 🎯 Recommended Practice Platforms -

-
- {practicePlatforms.map((platform, index) => ( - -
-

- {platform.name} -

-

- {platform.description} -

-
- {platform.problems} -
-
- Problems Available -
-
- -
-
- {platform.difficulty.map((diff, diffIndex) => ( - - {diff} - - ))} -
-
- -
-
- Key Features: -
-
    - {platform.features.map((feature, featureIndex) => ( -
  • - - {feature} -
  • - ))} -
-
- - {/* Push button to bottom */} - -
- ))} -
-
- - {/* Tips & Best Practices */} - -

- πŸ’‘ Pro Tips for Technical Interview Success -

-
-
-
-
- 1 -
-
-

- Start with Easy Problems -

-

- Build confidence and understand patterns before tackling - harder challenges. -

-
-
-
-
- 2 -
-
-

- Practice Consistently -

-

- Solve 1-2 problems daily rather than cramming before - interviews. -

-
-
-
-
- 3 -
-
-

- Focus on Patterns -

-

- Learn common problem-solving patterns like two pointers, - sliding window, etc. -

-
-
-
-
-
-
- 4 -
-
-

- Time Yourself -

-

- Practice under time constraints to simulate real interview - conditions. -

-
-
-
-
- 5 -
-
-

- Explain Your Thinking -

-

- Practice verbalizing your approach and reasoning process. -

-
-
-
-
- 6 -
-
-

- Review Solutions -

-

- Study optimal solutions and alternative approaches after - solving problems. -

-
-
-
-
-
-
- ); -}; - -export default TechnicalTab; diff --git a/src/pages/interview-prep/index.tsx b/src/pages/interview-prep/index.tsx index 5e973ac4..e2c313bf 100644 --- a/src/pages/interview-prep/index.tsx +++ b/src/pages/interview-prep/index.tsx @@ -1,1783 +1,6 @@ import React from "react"; -import { useState, useEffect } from "react"; -import Layout from "@theme/Layout"; -import Head from "@docusaurus/Head"; -import { motion } from "framer-motion"; -import Link from "@docusaurus/Link"; -import { useSafeColorMode } from "../../utils/useSafeColorMode"; -import clsx from "clsx"; -import OverviewTab from "./OverviewTab"; -import TechnicalTab from "./TechnicalTab"; -import BehavioralTab from "./BehavioralTab"; -import CompaniesTab from "./CompaniesTab"; -import PracticeTab from "./PracticeTab"; +import { Redirect } from "@docusaurus/router"; -// Animation variants -const fadeIn = { - hidden: { opacity: 0, y: 20 }, - visible: { opacity: 1, y: 0, transition: { duration: 0.6 } }, -}; - -const staggerContainer = { - hidden: {}, - visible: { - transition: { - staggerChildren: 0.2, - }, - }, -}; - -type TabType = - | "overview" - | "technical" - | "behavioral" - | "companies" - | "practice"; - -const InterviewPrepPage: React.FC = () => { - const [activeTab, setActiveTab] = useState("overview"); - const [expandedCategories, setExpandedCategories] = useState<{ - [key: string]: boolean; - }>({}); - - // Handle URL-based tab navigation - useEffect(() => { - if (typeof window !== "undefined") { - const params = new URLSearchParams(window.location.search); - const tabParam = params.get("tab"); - if ( - tabParam && - ["overview", "technical", "behavioral", "companies", "practice"].includes( - tabParam - ) - ) { - setActiveTab(tabParam as TabType); - } - } - }, []); - - const toggleCategory = (categoryIndex: number) => { - setExpandedCategories((prev) => ({ - ...prev, - [categoryIndex]: !prev[categoryIndex], - })); - }; - - const [showTips, setShowTips] = useState<{ [key: number]: boolean }>({}); - const [showQuestions, setShowQuestions] = useState<{ - [key: number]: boolean; - }>({}); - - const toggleTips = (index: number) => { - setShowTips((prev) => ({ - ...prev, - [index]: !prev[index], - })); - }; - - const toggleQuestions = (index: number) => { - setShowQuestions((prev) => ({ - ...prev, - [index]: !prev[index], - })); - }; - const behavioralQuestions = [ - { - category: "Leadership", - questions: [ - "Tell me about a time you led a team through a difficult project", - "Describe a situation where you had to influence others without authority", - "How do you handle team conflicts?", - ], - }, - { - category: "Problem Solving", - questions: [ - "Describe the most challenging technical problem you've solved", - "Tell me about a time you failed and what you learned", - "How do you approach debugging complex issues?", - ], - }, - { - category: "Communication", - questions: [ - "Explain a complex technical concept to a non-technical person", - "Tell me about a time you had to give difficult feedback", - "How do you handle disagreements with stakeholders?", - ], - }, - { - category: "Growth & Learning", - questions: [ - "How do you stay updated with new technologies?", - "Tell me about a time you had to learn something completely new", - "What's the most important thing you've learned in your career?", - ], - }, - ]; - - const companyTips = [ - { - company: "Google", - logo: "/img/google.png", - focus: "Googleyness & Leadership", - industry: "Technology", - roleTypes: [ - "Software Engineer", - "Product Manager", - "Data Scientist", - "Site Reliability Engineer", - ], - focusAreas: [ - "Scalability", - "Problem-Solving", - "Innovation", - "Technical Excellence", - ], - tips: [ - "Focus on scalability and efficiency in your solutions", - "Demonstrate analytical thinking with data-driven approaches", - "Show passion for technology and continuous learning", - "Prepare for system design questions with real-world examples", - "Practice coding problems on platforms like LeetCode (focus on medium-hard)", - "Understand Google's products and their technical challenges", - "Be ready to discuss trade-offs in your technical decisions", - "Show how you've handled ambiguous problems", - ], - commonQuestions: [ - { - question: "How would you design Google Search?", - answer: - "Start with requirements gathering (billions of queries, sub-second response), then discuss web crawling architecture, inverted indexing, ranking algorithms like PageRank, distributed systems with load balancing, caching strategies at multiple levels, and real-time updates handling. Consider data freshness, personalization, and spam detection.", - category: "System Design", - }, - { - question: "Explain how you would handle billions of queries per day", - answer: - "Implement horizontal scaling with load balancers, use CDNs for static content, implement multi-level caching (browser, CDN, application, database), database sharding and replication, microservices architecture, auto-scaling based on traffic patterns, and comprehensive monitoring with circuit breakers.", - category: "System Design", - }, - { - question: "What would you do if Gmail was slow?", - answer: - "Systematic debugging approach: check monitoring dashboards, identify bottlenecks (database, network, application), analyze query performance, review caching hit rates, examine resource utilization, implement performance profiling, and deploy fixes like query optimization, caching improvements, or infrastructure scaling.", - category: "Problem Solving", - }, - { - question: - "Tell me about a time you solved a complex technical problem", - answer: - "Use STAR method: Situation (complex distributed system issue), Task (restore service and prevent recurrence), Action (systematic debugging, root cause analysis, implemented monitoring), Result (99.9% uptime improvement, prevented similar issues). Focus on technical depth and problem-solving methodology.", - category: "Behavioral", - }, - { - question: "How do you stay updated with technology trends?", - answer: - "Demonstrate continuous learning: follow tech blogs, contribute to open source, attend conferences, experiment with new technologies, participate in tech communities, and apply learnings to solve real problems. Show specific examples.", - category: "Behavioral", - }, - ], - }, - { - company: "Amazon", - logo: "/img/amazon.png", - focus: "Leadership Principles", - industry: "E-commerce/Cloud", - roleTypes: [ - "Software Engineer", - "Solutions Architect", - "Product Manager", - "DevOps Engineer", - ], - focusAreas: [ - "Leadership Principles", - "Customer Obsession", - "Ownership", - "Bias for Action", - ], - tips: [ - "Master all 16 Leadership Principles with 2-3 specific examples each", - "Use STAR method for all behavioral questions", - "Focus on customer obsession in every answer", - "Demonstrate ownership mindset and long-term thinking", - "Prepare examples showing bias for action and delivering results", - "Show how you've simplified processes or invented solutions", - "Quantify your impact with specific metrics", - "Be ready to discuss failures and learnings", - ], - commonQuestions: [ - { - question: "Tell me about a time you disagreed with your manager", - answer: - "Use 'Have Backbone; Disagree and Commit' principle. Situation: disagreement on technical approach. Task: present alternative solution. Action: prepared data-driven analysis, respectfully presented concerns, listened to feedback. Result: adopted hybrid approach that improved performance by 40%. Committed fully once decision was made.", - category: "Behavioral", - }, - { - question: - "Describe a time you had to make a decision with incomplete information", - answer: - "Demonstrate 'Bias for Action'. Situation: critical system outage with limited debugging info. Task: restore service quickly. Action: gathered available data, made calculated decision based on patterns, implemented fix with rollback plan. Result: restored service in 30 minutes, prevented $100K revenue loss.", - category: "Behavioral", - }, - { - question: "How do you handle tight deadlines?", - answer: - "Show 'Deliver Results' and 'Ownership'. Situation: product launch deadline at risk. Task: deliver core features on time. Action: prioritized ruthlessly, communicated trade-offs to stakeholders, worked with team to optimize scope. Result: launched on time with 95% of planned features, customer satisfaction remained high.", - category: "Behavioral", - }, - { - question: "Design a system like Amazon's recommendation engine", - answer: - "Requirements: real-time recommendations, handle millions of users, personalized results. Architecture: data ingestion pipeline, feature engineering, ML models (collaborative filtering, content-based, deep learning), real-time serving layer, A/B testing framework, feedback loop for continuous improvement.", - category: "System Design", - }, - { - question: "Tell me about a time you simplified a process", - answer: - "Use 'Invent and Simplify'. Situation: complex deployment process taking 4 hours. Task: reduce deployment time and errors. Action: automated manual steps, created CI/CD pipeline, added automated testing. Result: reduced deployment time to 30 minutes, decreased errors by 80%.", - category: "Behavioral", - }, - ], - }, - { - company: "Meta (Facebook)", - logo: "/img/meta.png", - focus: "Move Fast & Impact", - industry: "Social Media/VR", - roleTypes: [ - "Software Engineer", - "Product Manager", - "Data Scientist", - "Research Scientist", - ], - focusAreas: ["Scale", "Impact", "Execution", "People Connection"], - tips: [ - "Focus on massive scale and global impact", - "Demonstrate ability to move fast and iterate", - "Show examples of connecting people or communities", - "Prepare for questions about handling billions of users", - "Understand Meta's products and their technical challenges", - "Be ready to discuss privacy and safety considerations", - "Show data-driven decision making", - "Demonstrate growth mindset and learning from failures", - ], - commonQuestions: [ - { - question: "How would you design Facebook's News Feed?", - answer: - "Requirements: personalized content, real-time updates, billions of users. Architecture: content ingestion, ranking algorithms (engagement prediction, relevance scoring), edge timeline generation, caching strategies, real-time updates with WebSockets, content moderation pipeline, and A/B testing framework.", - category: "System Design", - }, - { - question: - "Tell me about a time you had to make a trade-off between speed and quality", - answer: - "Situation: urgent security fix needed. Task: balance quick deployment with thorough testing. Action: implemented fix with comprehensive monitoring, deployed to small percentage first, gradually rolled out. Result: fixed security issue within 24 hours while maintaining system stability.", - category: "Behavioral", - }, - { - question: - "How would you handle a feature that's negatively impacting user engagement?", - answer: - "Data analysis approach: segment users, analyze metrics, identify root causes, A/B test solutions, gather qualitative feedback. Action: iterate quickly, measure impact, communicate with stakeholders. Focus on user value and long-term engagement over short-term metrics.", - category: "Product Sense", - }, - { - question: "Design a system to detect fake accounts", - answer: - "Multi-layered approach: behavioral analysis (login patterns, friend requests), content analysis (spam detection), graph analysis (suspicious connection patterns), machine learning models, real-time scoring system, human review workflow, and continuous model improvement.", - category: "System Design", - }, - { - question: "Tell me about a time you influenced without authority", - answer: - "Situation: cross-team project with conflicting priorities. Task: align teams on common goal. Action: built relationships, presented data showing mutual benefits, created shared success metrics. Result: successful project delivery, improved cross-team collaboration for future projects.", - category: "Behavioral", - }, - ], - }, - { - company: "Apple", - logo: "/img/apple.png", - focus: "Innovation & User Experience", - industry: "Consumer Electronics", - roleTypes: [ - "Software Engineer", - "Hardware Engineer", - "Product Manager", - "Design Engineer", - ], - focusAreas: ["User Experience", "Innovation", "Quality", "Privacy"], - tips: [ - "Focus on user experience and design thinking", - "Demonstrate attention to detail and quality", - "Show passion for Apple products and ecosystem", - "Prepare examples of innovative solutions", - "Understand Apple's privacy-first approach", - "Be ready to discuss cross-functional collaboration", - "Show how you've delivered polished, user-friendly solutions", - "Demonstrate ability to work under high standards", - ], - commonQuestions: [ - { - question: "How would you improve Siri?", - answer: - "Focus on user experience: better natural language understanding, contextual awareness, privacy-preserving personalization, faster response times, expanded capabilities, seamless device integration, and accessibility improvements. Balance innovation with Apple's privacy principles.", - category: "Product Design", - }, - { - question: - "Tell me about a time you had to meet very high quality standards", - answer: - "Situation: developing user-facing feature with strict quality requirements. Task: deliver bug-free, polished experience. Action: implemented comprehensive testing, code reviews, user testing, performance optimization. Result: zero critical bugs in production, positive user feedback.", - category: "Behavioral", - }, - { - question: "How would you design a privacy-focused messaging system?", - answer: - "End-to-end encryption, on-device processing, minimal data collection, secure key exchange, forward secrecy, metadata protection, secure deletion, and transparent privacy controls. Balance security with user experience and performance.", - category: "System Design", - }, - { - question: "Describe a time you had to innovate under constraints", - answer: - "Situation: limited resources for new feature. Task: deliver innovative solution within constraints. Action: creative problem-solving, leveraged existing technologies, focused on core user value. Result: delivered feature that exceeded expectations while staying within budget.", - category: "Behavioral", - }, - { - question: "How do you ensure your code is maintainable and scalable?", - answer: - "Clean code principles, comprehensive documentation, modular architecture, automated testing, code reviews, performance monitoring, and following established patterns. Focus on long-term maintainability and team collaboration.", - category: "Technical", - }, - ], - }, - { - company: "Netflix", - logo: "/img/netflix.png", - focus: "Freedom & Responsibility", - industry: "Streaming/Entertainment", - roleTypes: [ - "Software Engineer", - "Data Engineer", - "Product Manager", - "ML Engineer", - ], - focusAreas: ["Scale", "Personalization", "Reliability", "Data-Driven"], - tips: [ - "Understand Netflix's culture of freedom and responsibility", - "Focus on high-performance culture and results", - "Demonstrate ability to work independently", - "Show examples of data-driven decision making", - "Prepare for questions about streaming at scale", - "Understand personalization and recommendation systems", - "Be ready to discuss A/B testing and experimentation", - "Show how you've handled ambiguous problems", - ], - commonQuestions: [ - { - question: "How would you design Netflix's recommendation system?", - answer: - "Multi-algorithm approach: collaborative filtering, content-based filtering, deep learning models, contextual bandits for exploration/exploitation, real-time personalization, A/B testing framework, and feedback loops. Handle cold start problem and diverse content catalog.", - category: "System Design", - }, - { - question: "Tell me about a time you took ownership of a problem", - answer: - "Situation: critical service degradation affecting user experience. Task: identify and fix root cause. Action: took full ownership, coordinated with multiple teams, implemented both immediate fix and long-term solution. Result: restored service, prevented future occurrences.", - category: "Behavioral", - }, - { - question: - "How would you handle video streaming for millions of concurrent users?", - answer: - "CDN strategy, adaptive bitrate streaming, content pre-positioning, load balancing, caching at multiple levels, real-time monitoring, graceful degradation, and global infrastructure optimization. Consider peak traffic patterns and regional differences.", - category: "System Design", - }, - { - question: - "Describe a time you had to make a decision with limited data", - answer: - "Situation: new feature launch decision with incomplete user research. Task: decide on launch strategy. Action: analyzed available data, made assumptions explicit, designed experiments to validate quickly. Result: successful launch with rapid iteration based on real user feedback.", - category: "Behavioral", - }, - ], - }, - { - company: "Microsoft", - logo: "/img/microsoft.png", - focus: "Growth Mindset & Collaboration", - industry: "Technology", - roleTypes: [ - "Software Engineer", - "Program Manager", - "Cloud Architect", - "AI Engineer", - ], - focusAreas: [ - "Growth Mindset", - "Collaboration", - "Inclusive Design", - "Cloud Computing", - ], - tips: [ - "Emphasize continuous learning and growth mindset", - "Show collaborative approach and inclusive thinking", - "Demonstrate how you've helped others succeed", - "Focus on impact, results, and customer value", - "Prepare examples of learning from failures", - "Understand Microsoft's mission and recent innovations", - "Show experience with cloud technologies", - "Demonstrate inclusive design thinking", - ], - commonQuestions: [ - { - question: "How do you handle failure?", - answer: - "Growth mindset approach: acknowledge failure quickly, analyze root causes, extract learnings, apply improvements, share knowledge with team. Example: failed project taught me better stakeholder communication, leading to 30% improvement in project success rate.", - category: "Behavioral", - }, - { - question: "Tell me about a time you helped a colleague", - answer: - "Situation: colleague struggling with complex technical problem. Task: help without taking over. Action: paired programming, knowledge sharing, mentoring approach. Result: colleague solved problem, gained new skills, became go-to person for similar issues.", - category: "Behavioral", - }, - { - question: "How would you design Microsoft Teams?", - answer: - "Requirements: real-time communication, enterprise scale, security, integration. Architecture: WebRTC for video/audio, WebSocket for messaging, microservices, Azure cloud infrastructure, Office 365 integration, security/compliance features, cross-platform support.", - category: "System Design", - }, - { - question: "What motivates you to learn new things?", - answer: - "Connect to growth mindset: curiosity about solving new problems, staying relevant in rapidly evolving tech landscape, helping customers achieve more, contributing to team success. Provide specific examples of recent learning and application.", - category: "Behavioral", - }, - ], - }, - ]; - - const mockInterviewQuestions = [ - // πŸ”Ή Technical - - // Arrays & Strings - { - id: "tech-arr-1", - type: "technical", - question: "Find the first non-repeating character in a string", - difficulty: "Easy", - hints: [ - "Use a hash map to count frequencies", - "Return the first character with count 1", - ], - estimatedTime: 10, - category: "Strings", - links: [ - { - title: "LeetCode - First Unique Character", - url: "https://leetcode.com/problems/first-unique-character-in-a-string/", - type: "example", - }, - { - title: "MDN - Map Object", - url: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map", - type: "documentation", - }, - ], - }, - { - id: "tech-arr-2", - type: "technical", - question: "Merge two sorted arrays without using extra space", - difficulty: "Medium", - hints: [ - "Two-pointer technique works well", - "Consider edge cases where one array is empty", - ], - estimatedTime: 15, - category: "Arrays", - links: [ - { - title: "LeetCode - Merge Sorted Array", - url: "https://leetcode.com/problems/merge-sorted-array/", - type: "example", - }, - { - title: "GeeksforGeeks - Merge Without Extra Space", - url: "https://www.geeksforgeeks.org/merge-two-sorted-arrays-o1-extra-space/", - type: "tutorial", - }, - ], - }, - - // Linked Lists - { - id: "tech-ll-1", - type: "technical", - question: "Reverse a linked list", - difficulty: "Medium", - hints: [ - "Think about iterative vs recursive approach", - "Consider edge cases like empty list", - ], - estimatedTime: 20, - category: "Linked List", - links: [ - { - title: "LeetCode - Reverse Linked List", - url: "https://leetcode.com/problems/reverse-linked-list/", - type: "example", - }, - { - title: "GeeksforGeeks - Reverse Linked List", - url: "https://www.geeksforgeeks.org/reverse-a-linked-list/", - type: "tutorial", - }, - ], - }, - { - id: "tech-ll-2", - type: "technical", - question: "Detect if a linked list has a cycle", - difficulty: "Medium", - hints: [ - "Use fast and slow pointers (Floyd’s cycle detection)", - "Watch out for null references", - ], - estimatedTime: 15, - category: "Linked List", - links: [ - { - title: "LeetCode - Linked List Cycle", - url: "https://leetcode.com/problems/linked-list-cycle/", - type: "example", - }, - { - title: "GeeksForGeeks- Detect Loop in a Linked List", - url: "https://www.geeksforgeeks.org/dsa/detect-loop-in-a-linked-list/", - type: "reference", - }, - ], - }, - - // Trees & Graphs - { - id: "tech-tree-1", - type: "technical", - question: "Maximum Depth of Binary Tree", - difficulty: "Easy", - hints: ["Use recursion (DFS)", "Think about base case (null node)"], - estimatedTime: 10, - category: "Trees", - links: [ - { - title: "LeetCode - Maximum Depth of Binary Tree", - url: "https://leetcode.com/problems/maximum-depth-of-binary-tree/", - type: "example", - }, - { - title: "GeeksForGeeks - DFS", - url: "https://www.geeksforgeeks.org/dsa/depth-first-search-or-dfs-for-a-graph/", - type: "reference", - }, - ], - }, - { - id: "tech-graph-1", - type: "technical", - question: "Clone a Graph", - difficulty: "Medium", - hints: ["Use DFS or BFS", "Maintain a hash map of visited nodes"], - estimatedTime: 25, - category: "Graphs", - links: [ - { - title: "LeetCode - Clone Graph", - url: "https://leetcode.com/problems/clone-graph/", - type: "example", - }, - { - title: "GeeksforGeeks - Clone Graph", - url: "https://www.geeksforgeeks.org/clone-an-undirected-graph/", - type: "tutorial", - }, - ], - }, - - // Dynamic Programming - { - id: "tech-dp-1", - type: "technical", - question: "Climbing Stairs", - difficulty: "Easy", - hints: ["Think Fibonacci", "DP with memoization or bottom-up"], - estimatedTime: 15, - category: "Dynamic Programming", - links: [ - { - title: "LeetCode - Climbing Stairs", - url: "https://leetcode.com/problems/climbing-stairs/", - type: "example", - }, - { - title: "DP Introduction", - url: "https://www.geeksforgeeks.org/dynamic-programming/", - type: "tutorial", - }, - ], - }, - { - id: "tech-dp-2", - type: "technical", - question: "Longest Increasing Subsequence", - difficulty: "Medium", - hints: [ - "DP with O(n^2)", - "Can be optimized with Binary Search (O(n log n))", - ], - estimatedTime: 35, - category: "Dynamic Programming", - links: [ - { - title: "LeetCode - Longest Increasing Subsequence", - url: "https://leetcode.com/problems/longest-increasing-subsequence/", - type: "example", - }, - { - title: "GeeksforGeeks - LIS Explained", - url: "https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/", - type: "tutorial", - }, - ], - }, - - // Greedy Algorithms - { - id: "tech-greedy-1", - type: "technical", - question: "Jump Game", - difficulty: "Medium", - hints: [ - "Track the maximum reachable index", - "Greedy works better than DP", - ], - estimatedTime: 20, - category: "Greedy", - links: [ - { - title: "LeetCode - Jump Game", - url: "https://leetcode.com/problems/jump-game/", - type: "example", - }, - { - title: "Greedy Algorithm Basics", - url: "https://www.geeksforgeeks.org/greedy-algorithms/", - type: "reference", - }, - ], - }, - { - id: "tech-greedy-2", - type: "technical", - question: "Activity Selection Problem", - difficulty: "Medium", - hints: ["Sort by finish time", "Pick earliest finishing activity"], - estimatedTime: 25, - category: "Greedy", - links: [ - { - title: "GeeksforGeeks - Activity Selection", - url: "https://www.geeksforgeeks.org/activity-selection-problem-greedy-algo-1/", - type: "tutorial", - }, - { - title: "MIT Greedy Algorithms Notes", - url: "https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-notes/MIT6_006F11_lec05.pdf", - type: "reference", - }, - ], - }, - - // Bit Manipulation - { - id: "tech-bit-1", - type: "technical", - question: "Single Number (Find element appearing once)", - difficulty: "Easy", - hints: ["Use XOR property", "a ^ a = 0"], - estimatedTime: 10, - category: "Bit Manipulation", - links: [ - { - title: "LeetCode - Single Number", - url: "https://leetcode.com/problems/single-number/", - type: "example", - }, - { - title: "Bitwise Operators in C++", - url: "https://cplusplus.com/doc/tutorial/operators/#bitwise", - type: "documentation", - }, - ], - }, - { - id: "tech-bit-2", - type: "technical", - question: "Number of 1 Bits (Hamming Weight)", - difficulty: "Easy", - hints: ["Use n & (n-1) trick", "Loop until n=0"], - estimatedTime: 12, - category: "Bit Manipulation", - links: [ - { - title: "LeetCode - Number of 1 Bits", - url: "https://leetcode.com/problems/number-of-1-bits/", - type: "example", - }, - { - title: "Hamming Weight Explained", - url: "https://www.geeksforgeeks.org/count-set-bits-in-an-integer/", - type: "tutorial", - }, - ], - }, - - // Sorting Algorithms - { - id: "tech-sort-1", - type: "technical", - question: "Sort Colors (Dutch National Flag problem)", - difficulty: "Medium", - hints: [ - "Use three pointers (low, mid, high)", - "In-place solution required", - ], - estimatedTime: 20, - category: "Sorting", - links: [ - { - title: "LeetCode - Sort Colors", - url: "https://leetcode.com/problems/sort-colors/", - type: "example", - }, - { - title: "Dutch National Flag Problem", - url: "https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/", - type: "tutorial", - }, - ], - }, - { - id: "tech-sort-2", - type: "technical", - question: "Kth Largest Element in an Array", - difficulty: "Medium", - hints: ["QuickSelect algorithm", "Or use Min-Heap"], - estimatedTime: 25, - category: "Sorting/Heap", - links: [ - { - title: "LeetCode - Kth Largest Element", - url: "https://leetcode.com/problems/kth-largest-element-in-an-array/", - type: "example", - }, - { - title: "QuickSelect Algorithm", - url: "https://www.geeksforgeeks.org/quickselect-algorithm/", - type: "tutorial", - }, - ], - }, - - // Binary Search - { - id: "tech-bs-1", - type: "technical", - question: "Binary Search", - difficulty: "Easy", - hints: ["Classic divide and conquer", "Midpoint check"], - estimatedTime: 10, - category: "Binary Search", - links: [ - { - title: "LeetCode - Binary Search", - url: "https://leetcode.com/problems/binary-search/", - type: "example", - }, - { - title: "Binary Search Explained", - url: "https://www.geeksforgeeks.org/binary-search/", - type: "tutorial", - }, - ], - }, - { - id: "tech-bs-2", - type: "technical", - question: "Find Minimum in Rotated Sorted Array", - difficulty: "Medium", - hints: ["Modified binary search", "Check mid vs right"], - estimatedTime: 20, - category: "Binary Search", - links: [ - { - title: "LeetCode - Find Minimum in Rotated Array", - url: "https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/", - type: "example", - }, - { - title: "Binary Search Variants", - url: "https://www.geeksforgeeks.org/binary-search/", - type: "reference", - }, - ], - }, - - // πŸ”Ή Behavioral - { - id: "behavioral-2", - type: "behavioral", - question: - "Tell me about a time you had to work with a difficult team member", - framework: "STAR Method", - difficulty: "Medium", - hints: ["Situation", "Task", "Action", "Result"], - estimatedTime: 15, - category: "Teamwork", - links: [ - { - title: "Behavioral Interview Tips", - url: "https://www.youtube.com/watch?v=OqoGEMlNk_g", - type: "tutorial", - }, - ], - }, - { - id: "behavioral-3", - type: "behavioral", - question: "Describe a situation where you had to meet a tight deadline", - framework: "STAR Method", - difficulty: "Medium", - hints: [ - "Explain how you prioritized tasks", - "Mention communication with stakeholders", - "Highlight the outcome", - ], - estimatedTime: 12, - category: "Time Management", - links: [ - { - title: "STAR Method Guide", - url: "https://mondo.com/insights/how-to-use-star-method-to-answer-performace-based-interview-questions/#:~:text=Talk%20about%20a%20time%20when%20you%20had%20to,timeline%20and%20assigned%20tasks%20to%20each%20team%20member.", - type: "tutorial", - }, - ], - }, - { - id: "behavioral-4", - type: "behavioral", - question: "What’s the most challenging project you have worked on?", - framework: "STAR Method", - difficulty: "Medium", - hints: [ - "Focus on the problem complexity", - "Explain how you collaborated", - "Highlight measurable outcomes", - ], - estimatedTime: 15, - category: "Problem Solving", - links: [ - { - title: "Problem Solving in Interviews", - url: "https://megainterview.com/what-was-the-most-challenging-project-you-have-worked-on/", - type: "reference", - }, - ], - }, - { - id: "behavioral-5", - type: "behavioral", - question: "Tell me about a time you failed. How did you handle it?", - framework: "STAR Method", - difficulty: "Hard", - hints: [ - "Be honest but professional", - "Emphasize what you learned", - "Show resilience and growth", - ], - estimatedTime: 15, - category: "Resilience", - links: [ - { - title: "Answering Failure Questions", - url: "https://interviewpenguin.com/tell-me-about-a-time-when-you-failed/", - type: "tutorial", - }, - ], - }, - - // πŸ”Ή System Design - { - id: "system-2", - type: "system-design", - question: "Design a URL shortener like bit.ly", - difficulty: "Hard", - hints: ["Consider scale", "Database design", "Caching strategy"], - estimatedTime: 40, - category: "Web Systems", - links: [ - { - title: "System Design - URL Shortener", - url: "https://www.geeksforgeeks.org/system-design/system-design-url-shortening-service/", - type: "example", - }, - { - title: "High Scalability - URL Shortener", - url: "https://www.hellointerview.com/learn/system-design/problem-breakdowns/bitly", - type: "reference", - }, - ], - }, - { - id: "system-3", - type: "system-design", - question: "Design a chat application like WhatsApp", - difficulty: "Hard", - hints: [ - "Think about message delivery guarantees", - "Consider real-time sync across devices", - "Handle offline users gracefully", - ], - estimatedTime: 60, - category: "Messaging Systems", - links: [ - { - title: "System Design - WhatsApp", - url: "https://blog.algomaster.io/p/design-a-chat-application-like-whatsapp", - type: "example", - }, - { - title: "Scalable Chat App Design", - url: "https://www.youtube.com/watch?v=3HXFy_7M12E&t=1s", - type: "tutorial", - }, - ], - }, - { - id: "system-4", - type: "system-design", - question: "Design an online food delivery system like Swiggy/Zomato", - difficulty: "Hard", - hints: [ - "Users, restaurants, delivery partners β†’ entities", - "Real-time location tracking", - "Scalability and load balancing", - ], - estimatedTime: 70, - category: "Distributed Systems", - links: [ - { - title: "System Design - Food Delivery", - url: "https://upvey.com/technology/interview/system-design/design-architecture-food-delivery-service-like-swiggy-or-ubereats/#google_vignette", - type: "example", - }, - { - title: "Scalable Food Delivery Architecture", - url: "https://www.youtube.com/watch?v=rZyAgZuuZiA&t=8s", - type: "tutorial", - }, - ], - }, - { - id: "system-5", - type: "system-design", - question: "Design a recommendation system for an e-commerce website", - difficulty: "Medium", - hints: [ - "Collaborative filtering", - "Content-based recommendations", - "Cold start problem", - ], - estimatedTime: 50, - category: "Machine Learning Systems", - links: [ - { - title: "Recommendation Systems Intro", - url: "https://www.geeksforgeeks.org/recommendation-system-in-python/", - type: "tutorial", - }, - { - title: "System Design - Recommendation Engine", - url: "https://webkul.com/blog/e-commerce-recommendation-system/", - type: "reference", - }, - ], - }, - { - id: "system-6", - type: "system-design", - question: "Design YouTube (video streaming platform)", - difficulty: "Hard", - hints: [ - "Video upload, transcoding, and storage", - "Content delivery networks (CDNs)", - "Search and recommendation engine", - ], - estimatedTime: 90, - category: "Media Systems", - links: [ - { - title: "System Design - YouTube", - url: "https://www.geeksforgeeks.org/system-design/system-design-of-youtube-a-complete-architecture/", - type: "example", - }, - { - title: "Designing Video Streaming Platforms", - url: "https://www.youtube.com/watch?v=jPKTo1iGQiE&t=1s", - type: "tutorial", - }, - ], - }, - ]; - - const practicePlatforms = [ - { - name: "LeetCode", - description: "Most popular coding interview platform", - problems: "2000+", - difficulty: ["Easy", "Medium", "Hard"], - url: "https://leetcode.com/", - features: [ - "Mock Interviews", - "Company Tags", - "Discussion Forums", - "Premium Content", - ], - }, - { - name: "HackerRank", - description: "Comprehensive coding challenges and assessments", - problems: "1000+", - difficulty: ["Easy", "Medium", "Hard"], - url: "https://hackerrank.com/", - features: [ - "Skill Assessments", - "Certification", - "Company Challenges", - "Interview Prep", - ], - }, - { - name: "CodeChef", - description: "Competitive programming and contests platform", - problems: "3000+", - difficulty: ["Easy", "Medium", "Hard"], - url: "https://www.codechef.com/", - features: [ - "Monthly Contests", - "Long Challenge", - "Cook-Off", - "Practice Problems", - ], - }, - ]; - - const technicalResources = [ - { - category: "πŸ“Š Data Structures & Algorithms", - description: - "Master core algorithms and problem-solving patterns for interviews", - totalProblems: 220, - subcategories: [ - { - title: "Arrays & Strings", - difficulty: "Easy", - problems: 50, - subtopics: [ - "Two Pointers", - "Sliding Window", - "String Manipulation", - "Prefix Sums", - "Rotation & Reversal", - "Frequency Counting", - "Hashing for Arrays", - "Anagram Problems", - ], - resources: [ - { name: "LeetCode Arrays", url: "https://leetcode.com/tag/array/" }, - { - name: "HackerRank Strings", - url: "https://hackerrank.com/domains/algorithms?filters%5Bsubdomains%5D%5B%5D=strings", - }, - { - name: "NeetCode Array Playlist", - url: "https://www.youtube.com/playlist?list=PLot-Xpze53lfOdF3KwpMSFEyfE77zIwiP", - }, - ], - }, - { - title: "Linked Lists", - difficulty: "Medium", - problems: 30, - subtopics: [ - "Traversal", - "Reversal", - "Cycle Detection", - "Merge Operations", - "Dummy Nodes", - "Doubly Linked List", - "Skip Lists", - ], - resources: [ - { - name: "LeetCode Linked List", - url: "https://leetcode.com/tag/linked-list/", - }, - { - name: "GeeksforGeeks", - url: "https://geeksforgeeks.org/data-structures/linked-list/", - }, - { - name: "FreeCodeCamp Linked List", - url: "https://www.youtube.com/watch?v=Hj_rA0dhr2I", - }, - ], - }, - { - title: "Trees & Graphs", - difficulty: "Hard", - problems: 50, - subtopics: [ - "Binary Trees", - "BST Operations", - "Tree Traversals", - "Graph Representations", - "DFS & BFS", - "Shortest Path", - "Topological Sort", - "Union-Find", - "Minimum Spanning Tree", - ], - resources: [ - { name: "LeetCode Tree", url: "https://leetcode.com/tag/tree/" }, - { name: "LeetCode Graph", url: "https://leetcode.com/tag/graph/" }, - { - name: "WilliamFiset Graph Theory", - url: "https://www.youtube.com/playlist?list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu", - }, - ], - }, - { - title: "Dynamic Programming", - difficulty: "Hard", - problems: 50, - subtopics: [ - "1D DP", - "2D DP", - "Memoization", - "Tabulation", - "State Optimization", - "Knapsack Variants", - "Subsequence Problems", - "Game Theory DP", - ], - resources: [ - { - name: "LeetCode DP", - url: "https://leetcode.com/tag/dynamic-programming/", - }, - { - name: "DP Patterns", - url: "https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patterns", - }, - { - name: "NeetCode DP Playlist", - url: "https://www.youtube.com/playlist?list=PLot-Xpze53ldVwtstag2TL4HQhAnC8m4D", - }, - ], - }, - { - title: "Other Important Topics", - difficulty: "Medium", - problems: 40, - subtopics: [ - "Heaps", - "Hash Tables", - "Bit Manipulation", - "Greedy Algorithms", - "Backtracking", - "Math & Number Theory", - "Sorting Algorithms", - "Binary Search Variants", - ], - resources: [ - { - name: "Heap Guide", - url: "https://www.geeksforgeeks.org/heap-data-structure/", - }, - { - name: "Backtracking Patterns", - url: "https://leetcode.com/tag/backtracking/", - }, - { - name: "Princeton Algorithms", - url: "https://algs4.cs.princeton.edu/home/", - }, - ], - }, - ], - }, - { - category: "πŸ—οΈ System Design", - description: "Learn to design scalable, fault-tolerant systems", - totalProblems: 50, - subcategories: [ - { - title: "Core Concepts", - difficulty: "Medium", - problems: 15, - subtopics: [ - "Scalability", - "Load Balancing", - "Caching", - "Database Sharding", - "CAP Theorem", - "Consistency Models", - "Fault Tolerance", - ], - resources: [ - { - name: "System Design Primer", - url: "https://github.com/donnemartin/system-design-primer", - }, - { name: "High Scalability", url: "http://highscalability.com/" }, - { - name: "ByteByteGo YouTube", - url: "https://www.youtube.com/c/ByteByteGo", - }, - ], - }, - { - title: "Real-world Systems", - difficulty: "Hard", - problems: 20, - subtopics: [ - "URL Shortener", - "Chat System", - "News Feed", - "Search Engine", - "Video Streaming", - "Payment Gateway", - "Social Media Platform", - ], - resources: [ - { - name: "Grokking System Design", - url: "https://educative.io/courses/grokking-the-system-design-interview", - }, - { name: "System Design Interview", url: "https://bytebytego.com/" }, - ], - }, - { - title: "Other Important Topics", - difficulty: "Medium", - problems: 15, - subtopics: [ - "Monitoring & Logging", - "Event-driven Architecture", - "Message Queues", - "Content Delivery Networks", - "Security in System Design", - ], - resources: [ - { - name: "Grafana Monitoring", - url: "https://grafana.com/oss/grafana/", - }, - { - name: "Event-driven Design", - url: "https://microservices.io/patterns/rel/async-messaging.html", - }, - ], - }, - ], - }, - { - category: "πŸ—„οΈ Database Design", - description: - "Learn relational & NoSQL databases for real-world applications", - totalProblems: 70, - subcategories: [ - { - title: "SQL Basics", - difficulty: "Easy", - problems: 20, - subtopics: [ - "SELECT Queries", - "Joins", - "Indexes", - "Aggregate Functions", - "Stored Procedures", - "Views", - "Transactions", - ], - resources: [ - { name: "SQLBolt", url: "https://sqlbolt.com/" }, - { - name: "LeetCode Database", - url: "https://leetcode.com/problemset/database/", - }, - ], - }, - { - title: "NoSQL & Scaling", - difficulty: "Medium", - problems: 20, - subtopics: [ - "Document Stores", - "Key-Value Stores", - "Column Stores", - "Graph Databases", - "Sharding", - "Replication", - ], - resources: [ - { name: "MongoDB Basics", url: "https://www.mongodb.com/basics" }, - { name: "Cassandra Guide", url: "https://cassandra.apache.org/" }, - ], - }, - { - title: "Advanced Design", - difficulty: "Hard", - problems: 15, - subtopics: [ - "Normalization", - "Denormalization", - "Indexing Strategies", - "Partitioning", - "Data Warehousing", - "Query Optimization", - ], - resources: [ - { - name: "Database Normalization", - url: "https://www.guru99.com/database-normalization.html", - }, - { - name: "AWS Data Warehousing", - url: "https://aws.amazon.com/redshift/", - }, - ], - }, - { - title: "Other Important Topics", - difficulty: "Medium", - problems: 15, - subtopics: [ - "ACID Properties", - "Database Security", - "Backup & Recovery", - "OLAP vs OLTP", - "Temporal Databases", - ], - resources: [ - { - name: "Transactions in SQL", - url: "https://www.postgresql.org/docs/current/tutorial-transactions.html", - }, - ], - }, - ], - }, - { - category: "πŸ”Œ API Design & Development", - description: "REST, GraphQL, and microservices for backend engineering", - totalProblems: 60, - subcategories: [ - { - title: "REST API Design", - difficulty: "Easy", - problems: 15, - subtopics: [ - "HTTP Methods", - "CRUD Operations", - "Error Handling", - "Versioning", - "Rate Limiting", - "Pagination", - "CORS", - ], - resources: [ - { name: "RESTful API Tutorial", url: "https://restfulapi.net/" }, - { - name: "Postman Learning Center", - url: "https://learning.postman.com/", - }, - ], - }, - { - title: "GraphQL", - difficulty: "Medium", - problems: 15, - subtopics: [ - "Queries", - "Mutations", - "Subscriptions", - "Schemas", - "Resolvers", - "Apollo Server", - "GraphQL Security", - ], - resources: [ - { - name: "GraphQL Official Docs", - url: "https://graphql.org/learn/", - }, - { - name: "Apollo GraphQL", - url: "https://www.apollographql.com/docs/", - }, - ], - }, - { - title: "Microservices & Security", - difficulty: "Hard", - problems: 15, - subtopics: [ - "Service Discovery", - "API Gateway", - "Authentication", - "Authorization", - "JWT", - "OAuth2", - "gRPC", - ], - resources: [ - { name: "Microservices Guide", url: "https://microservices.io/" }, - { name: "JWT Introduction", url: "https://jwt.io/introduction/" }, - ], - }, - { - title: "Other Important Topics", - difficulty: "Medium", - problems: 15, - subtopics: [ - "API Testing", - "OpenAPI/Swagger", - "Async APIs", - "WebSockets", - "gRPC Streaming", - "API Performance Tuning", - ], - resources: [ - { - name: "OpenAPI Specification", - url: "https://swagger.io/specification/", - }, - { name: "gRPC Basics", url: "https://grpc.io/docs/what-is-grpc/" }, - ], - }, - ], - }, - ]; - - return ( - - - - ); -}; - -function InterviewPrepContent({ - activeTab, - setActiveTab, - expandedCategories, - toggleCategory, - showTips, - toggleTips, - showQuestions, - toggleQuestions, - behavioralQuestions, - technicalResources, - practicePlatforms, - companyTips, - mockInterviewQuestions, -}: { - activeTab: string; - setActiveTab: React.Dispatch>; - expandedCategories: { [key: string]: boolean }; - toggleCategory: (categoryIndex: number) => void; - showTips: { [key: number]: boolean }; - toggleTips: (index: number) => void; - showQuestions: { [key: number]: boolean }; - toggleQuestions: (index: number) => void; - behavioralQuestions: any[]; - technicalResources: any[]; - practicePlatforms: any[]; - companyTips: any[]; - mockInterviewQuestions: any[]; -}) { - const { isDark } = useSafeColorMode(); - - return ( - <> - - Interview Preparation - recode hive - - - -
- {/* Hero Section */} - -
-
- - Ace Your Next Interview - - - Master technical challenges and behavioral questions with our - comprehensive interview preparation platform - - - - - -
-
- - {/* Navigation Tabs */} -
-
- -
-
- - {/* Tab Content */} -
- {/* Overview Tab */} - {activeTab === "overview" && ( - - )} - - {/* Technical Tab */} - {activeTab === "technical" && ( - - )} - - {/* Behavioral Tab */} - {activeTab === "behavioral" && ( - - )} - - {/* Companies Tab */} - {activeTab === "companies" && ( - - )} - - {/* Practice Tab */} - {activeTab === "practice" && ( - - )} -
- - {/* Call to Action */} - -
- - Ready to Land Your Dream Job? - - - Join thousands of developers who have successfully prepared for - interviews with recode hive - - - - Start Preparing Now - - - Join Community - - -
-
-
- - ); -} - -export default InterviewPrepPage; -export type { TabType }; +export default function InterviewPrepRedirect(): JSX.Element { + return ; +} \ No newline at end of file diff --git a/src/theme/BlogPostItem/Header/index.tsx b/src/theme/BlogPostItem/Header/index.tsx index 6456384e..77dd5478 100644 --- a/src/theme/BlogPostItem/Header/index.tsx +++ b/src/theme/BlogPostItem/Header/index.tsx @@ -78,10 +78,10 @@ export default function BlogPostItemHeaderWrapper(props: Props): JSX.Element { const blogDate = metadata.date ? new Intl.DateTimeFormat(siteConfig.i18n?.defaultLocale || "en-US", { - year: "numeric", - month: "short", - day: "numeric", - }).format(new Date(metadata.date)) + year: "numeric", + month: "short", + day: "numeric", + }).format(new Date(metadata.date)) : undefined; const tags = (metadata.tags ?? []) @@ -121,10 +121,11 @@ export default function BlogPostItemHeaderWrapper(props: Props): JSX.Element { ))}
{/* Handles after the stack (only authors with a handle) */} + {/* Full name after the stack */} {authors - .filter((author) => author.handle) + .filter((author) => author.name || author.handle) .map((author, idx) => ( - + {idx > 0 && ( ))} diff --git a/src/theme/Footer/Layout/index.tsx b/src/theme/Footer/Layout/index.tsx index ee658594..5a4ffdb6 100644 --- a/src/theme/Footer/Layout/index.tsx +++ b/src/theme/Footer/Layout/index.tsx @@ -20,7 +20,6 @@ import { Mic2, MonitorPlay, Newspaper, - Puzzle, Rocket, Sparkles, Users, @@ -293,13 +292,6 @@ export default function FooterLayout(): ReactNode { Get Started -
  • - - - Interview Prep - Hot - -
  • @@ -414,9 +406,8 @@ export default function FooterLayout(): ReactNode { />