Senior interview question
A ticket summariser crashes because tiktoken raises ValueError on a ticket that contains the literal end-of-text marker. A teammate's fix is to pass allowed_special='all'. What's your review comment?
Model answer
Block it: that change is the injection. Special tokens like <|endoftext|> carry control meaning, so with allowed_special="all" a user who types the marker can end a turn early or forge a boundary. The ValueError is the defence working.
Encode untrusted text with encode_ordinary() or disallowed_special=(), so the marker stays plain characters; allowed, it becomes ID 199999, a real end-of-text signal. Add special tokens only from your own code. And catching the error to drop the ticket isn't a fix either: it silently loses data.
Practise the rest
11 Tokenization questions, 492 in all, each with a model answer. Free.
More Tokenization interview questions
- When you send a prompt to a language model, what does the model actually receive?
- What is a token, and why do most models use subword tokens rather than whole words or single characters?
- How does byte pair encoding learn a vocabulary, and how does it then encode a word it never saw in training?
- A colleague estimates next month's API bill by counting the words in a batch of English and Hindi support tickets and multiplying by the price per token. What's wrong with the estimate, and how would you do it instead?
- You're moving a product from a model that uses cl100k_base to one that uses o200k_base. Nothing crashes in staging. What could still be broken, and what goes into the migration plan?
- Compare the main NLP tokenization approaches. Then, how would you design a recommender that uses an LLM?