Kacam.net

Revisione del codice

评审一段转账代码

二十行的转账接口。你先读一遍,能找出几条?

Copia l'istruzione e scegli un modello. Farà l'intervistatore e ti interrogherà atto per atto invece di servirti la risposta.

Su un telefono con l'app installata, il sistema apre direttamente l'app. Dentro WeChat i collegamenti non aprono app esterne: aprilo prima in un browser.

Il testo copiato finisce con la griglia di correzione che il modello usa per valutarti. Non leggerla prima: vale l'averci arrivato da solo.

一段看起来能跑的转账代码:查余额、判断、扣款、加款、写日志。它不会一上来告诉你哪里有问题 —— 第一幕它闭嘴,你自己读完、说完为止,然后才按严重度报你漏了哪些。

每一条它都不接受名词。你说「这里有并发问题」,它会要你画两列时间线:两个请求分别走到哪一步,账上最后的数是多少。画不出来的记成猜的。

收尾给的是发现率,还有一个更难看的数:你漏掉的里,有几条会直接让钱不见。

★★★★☆ · circa 40 min · Cosa si valuta: 事务边界、读改写竞态、金额类型、幂等、鉴权、日志当账本

Qui è piantato soprattutto

Concorrenza Confini della transazione Idempotenza

Già fatto questo?

Accedi per segnare che l'hai fatto: la prossima volta vedrai in che giorno è stato.

Appunti di chi l'ha fatto

Non ha ancora scritto nessuno. Dopo averlo fatto, racconta cosa è venuto fuori: quale atto ti ha bloccato, quale conclusione hai cambiato dopo.

Accedi per scrivere un appunto.

Come si usa

Il materiale è nostro: qualche decina di righe che sembrano codice funzionante, con una decina di difetti piantati in ordine di gravità. Questa serie non chiede nulla a te: aprine una e comincia.

La postura è da interrogatorio: niente spoiler, niente complimenti, e non saper rispondere è un esito normale. Di' «qui c'è una race condition» e non ti mollerà —— vuole due colonne di cronologia e la dimensione del danno.

Come iniziare

  1. Scegline uno, aprilo, copia il prompt.
  2. Incollalo in una chat nuova e vuota: ti restituirà il codice così com'è.
  3. Leggilo tu e di' uno per uno tutti i problemi che trovi —— nel primo atto non interrompe e non suggerisce. Quando hai finito, di' «è tutto».

Quattro comandi da usare in qualsiasi momento

  • 跳过 Subito al prossimo atto
  • 提示 Dammi una direzione, non la risposta
  • 直说吧 Dammi la risposta completa su questo punto, poi continua a incalzare sul costo
  • 复盘 Vai subito alla scheda finale

La chiusura è un numero

Un tasso di scoperta: quanti ne hai trovati, su quanti, e quanti erano falsi allarmi. Più un numero più sgradevole —— fra quelli che ti sono sfuggiti, quanti sono della gravità massima (si perdono soldi, escono dati, il servizio cade). Quel numero vale più del punteggio.

Tre trappole

  • La griglia in fondo è proprio quella lista di difetti. Non leggerla prima —— una volta letta, l'esercizio è consumato.
  • Non segnalare nomi e stile. Qui conta se si perdono soldi o escono dati; le segnalazioni di stile vengono registrate come falsi allarmi.
  • Appena inizia a elogiarti, rimandalo alla regola «non elogiarmi». Sentirsi confermati copre la domanda «che cosa mi è sfuggito».

Parti dal bonifico: è il più denso di difetti. Se scrivi API tutto il giorno vai dritto all'endpoint di elenco —— il buco di permessi e l'injection sul parametro di ordinamento sono i più facili da ritrovare uguali nel tuo codice. Qualunque tu faccia, poi vai a cercare nel tuo repository: il prodotto vero sono quelle tre verifiche da portarsi via.