import React from 'react';
import ReactDOM from 'react-dom';
import BrowserOnly from '@docusaurus/BrowserOnly';
import clsx from 'clsx';
import styles from './styles.module.css';
const BACKGROUNDS = [
styles.backgroundBlue,
styles.backgroundOrange,
styles.backgroundPurple,
styles.backgroundRed,
];
function TopResume({className, position}) {
return (
{
window.gtag('event', `topresume.${position}.click`);
}}>
Best resume service for FAANG
If you are running low on time, I recommend TopResume's{' '}
free resume review services, which has helped countless software
engineers get interviews at FAANG.
);
}
function AlgoMonster({className, position}) {
return (
{
window.gtag('event', `algomonster.${position}.click`);
}}>
Stop grinding and study with a plan!
Developed by Google engineers, AlgoMonster is the fastest way to
get a software engineering job. Join today for a 70% discount!!
);
}
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 a free consultation today!
);
}
function Educative({className, position}) {
return (
{
window.gtag('event', `educative.${position}.click`);
}}>
Looking to get hired at FAANG?
Educative offers many great courses to improve your interview
game. Join today for a 10% discount!
);
}
function EducativeCoding({className, position}) {
return (
{
window.gtag('event', `educative.coding.${position}.click`);
}}>
Get the job at FAANG
"Grokking the Coding Interview: Patterns for Coding Questions" by
Educative is the best course for improving your algorithms interview
game. Join today for a 10% discount!
);
}
function EducativeSystemDesign({className, position}) {
return (
{
window.gtag('event', `educative.system_design.${position}.click`);
}}>
Get the job at FAANG
"Grokking the System Design Interview" by Educative is a highly
recommended course for improving your system design interview game.{' '}
Join today for a 10% discount!
);
}
export default React.memo(function SidebarAd({position}) {
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 path = window.location.pathname;
// Ugly hack to show conditional sidebar content.
if (path.includes('negotiation') || path.includes('compensation')) {
return (
);
}
if (
path.includes('resume') ||
path.includes('coding') ||
path.includes('best-practice-questions') ||
path.includes('cheatsheet') ||
path.includes('mock-interviews') ||
path.includes('algorithms')
) {
return Math.random() > 0.5 ? (
) : (
);
}
if (path.includes('system-design')) {
return (
);
}
return Math.random() > 0.5 ? (
) : (
);
}}
);
});