Kacam.net

Interview drills

分布式 ID 怎么生成

「雪花算法:时间戳 + 机器号 + 序列号」—— 那机器号谁给你分?

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.

位数怎么分是第一层,一背就出来。这一份追的是部署之后的事:机器号从哪儿来、容器扩缩容的时候怎么保证不撞。

第三幕问那个出名的坑:时钟往回跳的那一刻,你的服务在做什么 —— 等、报错还是接着发?每种做法的后果是什么。

第四幕给几种场景要你选方案并说代价,顺带问一个很多人没想过的:这个 ID 能不能直接给前端看。

★★★☆☆ · about 35 min · Tests: 机器号怎么分配、时钟回拨怎么处理、几种方案的取舍、ID 能不能外露

What this one leans on

Sharding and rebalancing Indexes and primary keys

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

Nobody has written yet. After you run it, say what came out of the conversation — which scene stumped you, which conclusion you changed afterwards.

Sign in to write a note.

How to use this

This set interrogates rather than teaches. It is a mock interview: running out of answers is a normal outcome, and it will not cover for you or finish your sentence when you trail off. If you want to understand a topic rather than rehearse for an interview, go to Computer systems, Databases or Algorithms — those guide you instead.

How one stock question fills forty minutes: the five-layer ladder

  • L1 · Definition — what each term means, list the differences. Can't answer: you never learned it.
  • L2 · Mechanism — which structure, which step actually produces that difference. Can't answer: you memorised the conclusion only.
  • L3 · Numbers — by how much? How many microseconds, how many times, how many I/Os. Can't answer: you've never done it hands-on.
  • L4 · Choice — given a concrete scenario, which one, at what cost, and when is that choice wrong. Can't answer: you can't apply it.
  • L5 · Limits — under what conditions does everything you just said stop holding. Can't answer: you know it all, but you don't really understand it.

The bar: L4 is what passes an interview, L5 is what counts as really understanding it, and anything that stops at L1 is recorded as memorised.

Six scenes — the first and last are unique to this set

  • In scene one it does not interrupt, comment or hint. You deliver the version you already have, start to finish, and it records that as your baseline. The silence is deliberate — it is listening, it just isn't correcting you yet.
  • The middle four scenes work down the ladder; scene three, mechanism and numbers, is the main battleground.
  • The last scene puts sixty seconds on the clock and makes you deliver it again, side by side with your opening version — because what an interview asks you to hand over isn't "I understand it", it's a sentence you can actually say out loud.

How to start

  1. Pick one, open it, copy the prompt.
  2. Paste it into a brand-new conversation, say nothing, and wait for its first question.
  3. Then answer like you would in an interview: deliver your memorised version in one go. It's fine if it's rough — that's the baseline it compares against at the end.
  4. After that it starts pressing. Running out of answers is a normal outcome: this isn't study material, it's a mock interview.

Five commands you can call out at any time

  • 跳过 move to the next scene now
  • 提示 give me a hint, not the answer
  • 直说吧 spell the full answer out
  • 重讲 jump straight to the last scene, re-record the sixty-second version and compare it with the opening one
  • 复盘 jump to the wrap-up and print the review card

Three traps

  • The prompt you copy has the answer key at the end — don't read it first. One of its columns is the "recital fingerprints": the exact sentences you're most likely to blurt out. Read them and there's nothing left to drill.
  • Don't hand over adjectives where a number belongs. "Much faster", "barely any overhead" — it stops you and asks for the figure. A conclusion you can't put an order of magnitude on is recorded as memorised.
  • The last two groups are language-bound: do the Java group if you write Java, the Go group if you write Go. They are not translations of each other — each picks its own questions — so there's no need to do both.

Interviewing for a backend role next week? Take process versus thread, TCP versus UDP, why B+ trees, isolation levels, the three cache failure modes, and idempotency — the six most frequent, with almost no overlap. Been hammered in interviews and want to find the gaps? Start with "from URL to rendered page": it exposes every weak spot horizontally, and you can pick your next ones from what it turns up.