You have shipped sixteen weekends of work. Today you prove you can explain it. For every idea on this deck: draw it, defend it out loud, then open the GitHub link and point at the file you wrote. If you cannot point at the artifact, that chapter needs another pass.
Left rail jumps chapters. Right dots are slides. Arrow keys move. Answer out loud before you reveal.
Nothing here was added because it was fashionable. Each weekend fixed something that broke the weekend before. Click a gap and say the failure out loud before you read the panel.
"Car crash" never matches "automobile accident." Counting is not meaning. Embeddings put similar meanings near each other.
Say it out loud. Fifteen seconds of silence is normal in a real interview.
Compare the model answer with what you just said. Note what you left out.
Every wrong option is a mistake someone in this cohort actually made.
Point at the artifact you built. A story without a link is not evidence.
Loops, dicts, functions. Every notebook is this plus a library.
Same direction means similar meaning. Length is how much you said.
Training changes numbers. LoRA later only nudges a thin slice.
Google answers in under a second across billions of pages. It is not reading them at query time. It read them once, ahead of time, and wrote down which words live where. That is an inverted index: a word, pointing at the documents that contain it.
Both postings lists light up. Then the intersection.
TF is how often the word appears in this document. IDF is log(N divided by the number of documents containing the word). Multiply them. Common words collapse to nothing, rare words survive.
Must say: IDF formula and the zero case.
Euclidean distance punishes long reviews that say the same thing. Cosine keeps the direction.
Must say: Direction versus magnitude.
Word2Vec gave "bank" one fixed vector for life. The river and the money share it. Self-attention fixes this by letting every word look at every other word in the sentence first, then deciding what it means here.
Think of a room of people. Query is the question you walk in with. Key is the badge everyone wears saying what they know. Value is what they actually tell you. You compare your question against every badge, decide who to listen to, and take a weighted blend of what they say.
Press Play. The grid is the attention weight each token gives each other token for the sentence "The bank loan". Watch the row for "bank" shift its weight onto "loan".
rows = the token asking, columns = the token being read
Must say: Dot magnitude grows with dimension.
Two separate things happened between the 2017 paper and the chatbot you use. First, scale. Then alignment. Candidates who blur these two together lose the question.
Same decoder idea. Different scale. Interviewers ask what changed between the three, not the Wikipedia year.
Need fine-tune per task
Zero-shot starts working
Few-shot in the prompt
This is the single most asked alignment question. Draw RLHF as three boxes, then show why DPO collapses it into one. Press Play to walk both.
Must say: Helpful and safe on top of next-token prediction.
BPE starts from single characters and repeatedly merges the most frequent pair. That is why one English word can cost two tokens, why rare names cost more, and why your invoice is a token count rather than a word count.
Press Play to watch the merges build "lower" from characters.
l o w e r
Temperature reshapes the distribution. Top-k and top-p cut it. Then you sample once. Swap any two of those and your output quality changes for reasons nobody on your team will be able to explain.
Watch the bars: low temperature sharpens them, then the filters grey out the tail.
Must say: Temp stretches. Filters cut. Then sample.
Ollama and LM Studio. Your data never leaves the laptop, it works on a plane, and it costs nothing per token. You pay in RAM, and you accept a quality gap against the frontier.
OpenAI, Anthropic, Gemini, OpenRouter. Best available quality, no hardware, pay per token. Your data leaves your machine and your bill scales with traffic.
The payoff of the session: the message format is the same everywhere. Swap the provider, keep the code. Press Play.
Must say: Privacy, offline, cost, then quality.
Before you press Play, name all five parts from memory. Most weak prompts in the wild contain only one of them, the task, and then people blame the model.
This is the mental flip of the session. You stop tweaking strings and start declaring what you want, with a metric that scores it. The optimizer writes the prompt. Each rung below optimizes something the rung above could not touch.
LCEL is | composition. Interview trap: "the API remembers my chat." It does not. You send history.
APIs are stateless. If the bot remembers, you resent history (or you added a checkpointer later).
Must say: Stateless API. You persist and resend.
Those decks stay. This file continues into agents, RAG, graphs, product, AWS, and fine-tuning.
That one sentence is the whole session. The thing that makes it work is not clever wording, it is the stop condition, and a stop condition has to be a shell command with an exact expected output.
pytest test_api.py -v exits 0
and shows "3 passed"
"the code looks good"
"it should work now"
Must say: no finish line means /loop, and it still needs a check each pass.
Dense retrieval understands meaning but smears rare strings like ERR-4042. BM25 nails exact strings but cannot see that "money back" means "refund". Reciprocal Rank Fusion merges the two ranked lists using rank position only, so you never have to make their scores comparable.
A bi-encoder embeds the query and the document separately, so you can index millions of chunks in advance. Fast, but it never compares the two side by side. A cross-encoder reads the query and one chunk together and scores that pair. Far more accurate, far too slow to run on your whole corpus. So you use both, in stages.
Must say: Exact-match failure of dense plus fusion.
This is the feature that makes agents allowed near production. Before a risky side effect, the graph pauses. Its state is checkpointed under a thread_id. A human approves or rejects. The same thread resumes from exactly that point. Press Play to walk it.
Same request, three shapes. A customer says "also add eggs to that order". Watch where the work has to happen in each.
Both change what the agent does, but only one of them executes. Getting this distinction wrong in an interview signals you have only used an agent, not built one.
Pick one.
Dining Bot is where everything from S10 to S12 becomes one chat box a restaurant manager can actually use. The two rules below are not style preferences. They are what stops the bot inventing revenue figures or quietly editing your database.
Tap a line. Say the path before you look.
streamlit run app.py
Your agent worked on your machine. Making it a product means someone else's browser can reach it, safely, when you are asleep. AgentCore supplies four pieces so you are not building that from scratch.
One sentence to remember for the interview: Cognito proves who the user is, and IAM proves what your server is allowed to do. Those are two different problems and the browser is trusted with neither.
This is the decision interviewers probe hardest, because getting it wrong is expensive in both directions. Ask one question: does the thing you want to change move, or does it stay still?
Updating every weight in a 7B model needs roughly 112 GB of GPU memory: two bytes for the weight, two for the gradient and about twelve for optimizer state, times seven billion. A free Colab GPU has about 15 GB. Full fine-tuning is the right idea on the wrong budget, and everything else in this session follows from that one gap.
The adapters are the cheap part. For a 512 by 512 layer at rank 8 you store 8,192 numbers instead of 262,144, roughly three percent. The formula worth memorising: trainable is about 2 times d times r, not d squared. Bigger layers make the saving better, not worse.
Must say: Bits and memory versus knowledge.
If you can say these in your own words, you can hold a conversation about this stack with anyone who interviews you.
Find a partner, take five minutes, and draw this from memory before you look at the skeleton below. The brief: customers ask about their own accounts and about bank policy, agents can raise a dispute, and the bank wants the bot to sound like the bank.
You went from counting words with TF-IDF to training adapters on a quantized model, and you built something runnable at every step in between. That chain is finished. The repository is your evidence.