import React, {useEffect, useState} from 'react'; import BrowserOnly from '@docusaurus/BrowserOnly'; import clsx from 'clsx'; import styles from './styles.module.css'; const AD_REFRESH_RATE = 20 * 1000; const BACKGROUNDS = [ styles.backgroundPurplin, styles.backgroundFirewatch, styles.backgroundLush, styles.backgroundSweetMorning, styles.backgroundViceCity, styles.backgroundRadar, styles.backgroundCosmicFusion, styles.backgroundAzurePop, styles.backgroundTranquil, ]; function FAANGTechLeads({className, position}) { return ( { window.gtag('event', `faangtechleads.${position}.click`); }}>

Craft the perfect resume for FAANG Save time crafting your resume with FAANG Tech Leads'{' '} FAANG-quality resume templates and examples which have helped many Software Engineers get interviews at top Bay Area companies!

); } function AlgoMonster({className, position}) { return ( { window.gtag('event', `algomonster.${position}.click`); }}>

Stop grinding LeetCode. Study with a plan Developed by Google engineers, AlgoMonster is the fastest way to get a software engineering job. Check it out for free!

); } function Moonchaser({className, position}) { return ( { window.gtag('event', `moonchaser.${position}.click`); }}>

Get paid more. Receive risk-free salary negotiation advice from Moonchaser. You pay nothing unless your offer is increased.{' '} Book your free consultation today!

); } function EducativeCoding({className, position}) { return ( { window.gtag('event', `educative.coding.${position}.click`); }}>

Get better at Coding Interviews Grokking the Coding Interview teaches you techniques and question patterns to be good at coding interviews. Grab your limited time discount today!

); } function EducativeSystemDesign({className, position}) { return ( { window.gtag('event', `educative.system_design.${position}.click`); }}>

Get the job at FAANG Grokking the System Design Interview is a highly recommended course to get better at system design interviews. Find out more!

); } function Interviewingio({className, position}) { return ( { window.gtag('event', `interviewingio.${position}.click`); }}>

Practice interviewing with Google engineers interviewing.io provides anonymous technical mock interviews with engineers from Google, Facebook, and other top companies.{' '} Give it a try!

); } export default React.memo(function SidebarAd({position}) { const [counter, setCounter] = useState(0); useEffect(() => { const timer = setTimeout(() => { setCounter((counter) => counter + 1); }, AD_REFRESH_RATE); return () => clearTimeout(timer); }, [counter]); const backgroundClass = BACKGROUNDS[Math.floor(Math.random() * BACKGROUNDS.length)]; // Because the SSR and client output can differ and hydration doesn't patch attribute differences, // we'll render this on the browser only. return ( {() => { const rand = Math.random(); const path = window.location.pathname; // Ugly hack to show conditional sidebar content. if (path.includes('resume')) { return ( ); } if (path.includes('negotiation') || path.includes('compensation')) { return ( ); } if ( path.includes('coding') || path.includes('best-practice-questions') || path.includes('mock-interviews') || path.includes('algorithms') ) { return rand < 0.3 ? ( ) : rand < 0.6 ? ( ) : ( ); } if (path.includes('system-design')) { return ( ); } return rand < 0.25 ? ( ) : rand < 0.5 ? ( ) : rand < 0.75 ? ( ) : ( ); }} ); });