% behavioral-star.tex — behavioural interview with STAR, one page.
% Source: docs/memos/interview-behavioral-star.md
% Build: tools/print/print-sheet.py docs/school/sheets/interview/behavioral-star.tex --dry-run
% @source: hiot monorepo, docs/school/sheets/interview/behavioral-star.tex — the SOURCE OF TRUTH; a copy anywhere else (e.g. artur.gurgul.pro) is regenerated from it, never edited
% @labels: area=interview kind=interview level=core platform=general new=no round=round3-2026-09-24 topic=career
% @tags: star-method, behavioural-questions, ownership, conflict-resolution, failure-story, influence-without-authority, disagree-and-commit, mentoring, blameless-postmortem, story-bank, quantified-results, questions-for-interviewer
\documentclass[8pt]{extarticle}
\usepackage{printup-sheet}
\usepackage{array}

% A question mini-box: \pat[colour]{Title}{body}
\newcommand\pat[3][sheetBlue]{\par\noindent\fcolorbox{#1}{#1!5}{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{\raggedright{\bfseries\color{#1}#2}\enspace #3}}\par\vspace{2pt}}
\newcommand\probe{\textcolor{sheetOrange}{\textbf{probes:}}~}

\begin{document}

\sheettitle{Behavioural interview — the STAR method}{interview · memo}

\oneliner{Every behavioural answer is a \textbf{$\sim$2-minute story}:
\textbf{S}ituation (context, 1--2 sentences) · \textbf{T}ask (\emph{your} responsibility) ·
\textbf{A}ction (what \textbf{I} did — the bulk) · \textbf{R}esult (a number or concrete outcome) ·
then the \textbf{reflection} (what I learned / would do differently). They are not scoring the
project — they are scoring \emph{you}: ownership, influence, judgement, growth.}

\vspace{3pt}
\noindent\begin{tikzpicture}[sheet]
  % time bar: 10 / 10 / 60 / 20 over 16 cm
  \def\W{16.4}
  \foreach \x/\w/\c/\t/\s in {0/1.64/sheetGrey/S 10\%/context only,
                               1.64/1.64/sheetBrown/T 10\%/my job,
                               3.28/9.84/sheetBlue/{A 60\% — ``I'' decided, built, convinced, fixed}/,
                               13.12/3.28/sheetGreen/R 20\% + reflection/}
    { \fill[\c!22, draw=\c, thick] (\x,0) rectangle ++(\w,0.6);
      \node[font=\small\bfseries, text=\c!70!black] at (\x+\w/2,0.3) {\t};
      \node[font=\scriptsize, text=sheetBrown] at (\x+\w/2,-0.22) {\s}; }
  \node[font=\scriptsize, text=sheetBrown, align=center] at (8.2,-0.22) {2--3 concrete steps, each with \emph{why}; the trade-off you chose; who you pulled in};
  \node[font=\scriptsize, text=sheetBrown, align=center] at (14.76,-0.22) {number · user/business impact · lesson};
  % timeline ruler
  \draw[sheetGrey] (0,0.85) -- (\W,0.85);
  \foreach \x/\l in {0/0 s, 1.64/12 s, 3.28/25 s, 13.12/95 s, 16.4/$\sim$2 min}
    { \draw[sheetGrey] (\x,0.8) -- (\x,0.9); \node[font=\scriptsize, above] at (\x,0.85) {\l}; }
  % anti-pattern bar
  \foreach \x/\w/\c/\t in {0/7.4/sheetRed/S+T 45\% — the history lesson,
                           7.4/5.6/sheetRed/A 35\% ``we did…'',
                           13.0/3.4/sheetGrey/R 0\% ``it went well''}
    { \fill[\c!8, draw=\c, dashed] (\x,-1.15) rectangle ++(\w,0.45);
      \node[font=\scriptsize, text=\c] at (\x+\w/2,-0.925) {\t}; }
  \node[font=\scriptsize\bfseries, text=sheetRed, anchor=east] at (-0.05,-0.925) {$\times$};
  \node[font=\scriptsize\bfseries, text=sheetGreen!70!black, anchor=east] at (-0.05,0.3) {✓};
\end{tikzpicture}

\begin{multicols}{2}

\section{The rules that score}
\begin{itemize}
  \item \textbf{``I'', not ``we''.} ``The team'' sets context; every \emph{action} sentence starts with
        \textbf{I}: I measured, I proposed, I wrote, I convinced. Owning your part is not arrogance — it is the thing being assessed.
  \item \textbf{Quantify the Result}: crash-free 97.1\,\% → 99.6\,\%, cold start 2.4\,s → 1.1\,s,
        build time −40\,\%, 3 teams adopted it. No number → a concrete outcome
        (``removed the weekly manual release step''), never ``it went well''.
  \item \textbf{Close with reflection}: ``Next time I'd involve QA a sprint earlier'' —
        the seniority signal: self-awareness + behaviour change.
  \item \textbf{Land in $\sim$2 minutes}, then stop and let them dig. Follow-ups are where the score is made.
  \item \textbf{Bank 5--6 stories} that each cover several questions; map the question to the nearest story instead of improvising.
  \item \textbf{Real, recent, yours}: last 2--3 years, stakes you can describe, details you can defend three ``why?''s deep.
\end{itemize}

\section{Senior signals vs anti-patterns}
{\small\setstretch{1.0}
\noindent\begin{tabular}{@{}>{\raggedright}p{0.52\linewidth}@{\hspace{2mm}}>{\raggedright\arraybackslash}p{0.45\linewidth}@{}}
\toprule
\textcolor{sheetGreen}{\textbf{Signal}} & \textcolor{sheetRed}{\textbf{Anti-pattern}}\\\midrule
\textbf{Ownership}: noticed it, defined the approach, saw it through release + follow-up & ``I was assigned X and I did X''\\
\textbf{Influence w/o authority}: data, prototype, shared goal & escalated / went over their head\\
Understood the other side, disagree-and-commit & \textbf{blaming} (``they were lazy'', ex-employer trashing)\\
Mitigate first, root-cause, \textbf{blameless} postmortem, fix the \emph{system} & \textbf{hero} story (``20 hours alone'')\\
Real failure, owned, lesson, changed behaviour & fake failure (``perfectionism'') / someone else's fault\\
Multiplier: reviews that teach, docs, mentoring & only your own commits\\
Structured, specific, measured & \textbf{vague}, no result, \textbf{rambling} 5 min\\
\bottomrule
\end{tabular}\par}

\section{Interview traps}
\begin{itemize}
  \trap{Too much Situation: if you are still explaining the codebase at 45\,s, you have lost the Action.}
  \trap{A conflict story where you were simply right and they came round — no understanding, no compromise, no signal.}
  \trap{Inventing numbers: they will ask how you measured it. Use a range or an honest proxy.}
  \trap{``I have no questions'' at the end — always ask 2 (team decisions, on-call, 6-month success, biggest risk).}
\end{itemize}

\pat[sheetOrange]{Remember}{\textbf{S+T short, A long and ``I'', R with a number, end with the lesson — then stop.}}

\columnbreak

\section{Question bank — and what they really probe}
\pat{Conflict with a colleague}{\probe empathy, maturity. Sought their view, found the shared goal, decided on evidence.}
\pat{A failure / mistake}{\probe self-awareness. Real stakes (bad release, missed deadline), own it, what changed \emph{afterwards}.}
\pat{Disagreed with product / design}{\probe judgement + collaboration. Argue with user data or cost (``this animation costs 2 sprints''), offer an alternative, then \textbf{disagree and commit}.}
\pat{Hardest bug}{\probe method. Repro → bisect/Instruments/logs → hypothesis → proof → fix + a test/guard so it cannot return.}
\pat{Leading without authority}{\probe influence. RFC, prototype, metrics that moved another team (modularisation, CI).}
\pat{Tight deadline / trade-off}{\probe prioritisation. What you cut (scope, not quality), the risk you accepted, who you told, the tech debt ticket you filed and paid.}
\pat{Mentoring}{\probe multiplying. A named junior, what you did (pairing, review style), their visible growth.}
\pat{Why this company / role?}{\probe motivation + homework. Their product, their stack/scale, your fit — never salary or ``I need a change''.}

\section{STAR story template — prepare 5--6}
\noindent\fcolorbox{sheetGreen}{sheetGreen!4}{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{\footnotesize
\textbf{Story name / tag}: \textcolor{sheetGrey}{\dotfill}\par
\textbf{Covers}: \ \(\square\) conflict \ \(\square\) failure \ \(\square\) disagreement \ \(\square\) bug \ \(\square\) lead \ \(\square\) deadline \ \(\square\) mentor\par\vspace{2pt}
\textbf{S} (1 sentence): \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{T} (my responsibility): \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{A1} I \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{A2} I \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{A3} I \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{R} (number): \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{Differently next time}: \textcolor{sheetGrey}{\dotfill}\par\vspace{2pt}
\textbf{Follow-up I must survive} (``how did you measure?''): \textcolor{sheetGrey}{\dotfill}}}

\section{Likely prompts}
\begin{enumerate}
  \item Disagreed with a designer? — data, alternative, commit.
  \item Biggest mistake? — real, owned, the guard added after.
  \item Led without authority? — prototype, metrics, RFC.
  \item Shipped under pressure? — scope cut, risk named.
\end{enumerate}

\end{multicols}

\noindent{\footnotesize\color{sheetGrey}\textit{Related:} live-coding-strategy · ios-client-system-design · ios-system-design-deep-dives · questions to ask the interviewer}

\end{document}
