改的是不同的变量,为什么互相拖慢
8 个线程各改各的计数器,为什么比单线程还慢?
Copy the prompt, then pick a model. It plays the interviewer and asks you through it scene by scene instead of handing you the answer.
On a phone with the app installed, the system opens the app directly. Links cannot open external apps inside WeChat — open it in a browser first.
The copied text ends with the answer key the model grades you against. Don't read it yourself first — working it out on your own is the point.
第一幕是个预测题:8 个线程各自对数组里自己那一格做自增,没有锁、没有共享变量,你猜比单线程快几倍。多数人答「8 倍」,实测可能比单线程还慢。
要害是一句话:竞争的单位是缓存行,不是变量。这一份会让你自己算出那 8 个 long 正好落在同一个 64 字节里。
修法那一幕会追一句很多人没想过的:既然 padding 有用,是不是所有共享数据都该 padding?
What this one drills
This prompt in the repo (the answer key is at the end of that file — you'll see it)
Have you done this one?
Sign in to mark this one as practised — next time you come back you'll see when you did it.
Notes from people who did this one
How to use this
This set teaches rather than interrogates: it guides you instead of pressing until you have nothing left to say. When you're stuck it first asks which layer you're stuck at (never heard of it / know it but not why / know why but can't apply it), then decides what to give. Only after guiding you twice on the same point will it spell it out — and then it asks you to say it back in your own words.
It will keep pushing you for numbers: answer "there's some overhead" or "it's faster" and it cuts you off. A conclusion you can't put a number on is a memorised one — that's exactly what this set drills.
How to start
- Pick one, open it, copy the prompt.
- Paste it into a brand-new conversation, say nothing, and wait for its first question.
- Expect to be asked for orders of magnitude: how many nanoseconds, how many microseconds, how many times slower. Saying you don't know is fine — it notes it and moves on.
Four commands you can call out at any time
跳过move to the next scene now换个说法explain this bit again from another angle直说吧spell the answer out, then make me say it back复盘jump to the wrap-up and print the review card
Three traps
- Don't read the answer key at the end first — that "how people get it wrong" section is the answer to every question it will ask.
- Don't reach for the jargon. Saying "that's a TLB miss" is easy; saying how much cheaper it is than a page fault is the part that counts.
- When it starts praising you, point it back to the "don't praise me" rule. Guiding is not coddling.
Want a feel for the numbers? Start with random reads and the first-byte one. For production debugging: malloc, TCP stalls, context switches. Writing concurrent code: reordering and false sharing.
Sign in to write a note.