Kacam.net

Revisión de código

评审一段缓存代码

读缓存、写数据库、删缓存 —— 这三行的顺序里藏着一小时的脏数据。

Copia la indicación y elige un modelo. Hará de entrevistador y te irá preguntando escena por escena en vez de darte la respuesta.

En un móvil con la aplicación instalada, el sistema la abre directamente. Dentro de WeChat no se pueden abrir aplicaciones externas: ábrelo primero en el navegador.

El texto copiado termina con la plantilla de corrección que usa el modelo. No la leas tú antes: lo que cuenta es haberlo razonado por tu cuenta.

三个函数:读商品、更新商品、取热榜。都是日常写法,也都是线上真出过事的写法。

这一份追一个别的地方很少追的问题:脏数据会在缓存里待多久。 一次不一致和「一小时都不一致」是两回事,而说不出后面那个数的人,改法通常也是错的。

第三幕的中心问题是:先删缓存再更新库有窗口,那反过来就没有了吗? 两种顺序都有窗口,只是差几个数量级 —— 说得出这一句才算过。

★★★★☆ · unos 35 min · Se evalúa: 更新顺序的两条时间线、穿透与击穿、TTL 雪崩、缓存挂了怎么办

Lo que hay plantado aquí

Caché Concurrencia

¿Ya hiciste este?

Inicia sesión para marcar que ya lo practicaste; la próxima vez verás qué día fue.

Notas de quienes lo hicieron

Todavía no hay ninguna. Cuando lo termines, cuenta qué salió de la conversación: qué escena te dejó sin respuesta, qué conclusión cambiaste después.

Entrar para escribir una nota.

Cómo se usa

El material es nuestro: unas decenas de líneas con pinta de código que funciona, con una decena de defectos plantados por orden de gravedad. Esta serie no te pide nada: ábrela y empieza.

La postura es de interrogatorio: sin spoilers, sin halagos, y no saber responder es un final normal. Di «aquí hay una condición de carrera» y no te soltará —— quiere dos columnas de línea temporal y el tamaño del daño.

Cómo empezar

  1. Elige uno, ábrelo y copia el prompt.
  2. Pégalo en una conversación nueva y vacía; te devolverá el código tal cual.
  3. Léelo tú y di uno por uno todos los problemas que encuentres —— en el primer acto no interrumpe ni da pistas. Cuando acabes, di «eso es todo».

Cuatro comandos que puedes soltar en cualquier momento

  • 跳过 Pasar ya al siguiente acto
  • 提示 Dame una dirección, no la respuesta
  • 直说吧 Da la respuesta completa de este punto y sigue apretando con el coste
  • 复盘 Saltar directo a la ficha de cierre

El cierre es un número

Tasa de hallazgo: cuántos encontraste, sobre cuántos, y cuántos fueron falsas alarmas. Y un número más feo —— de los que se te escaparon, cuántos son de la gravedad máxima (se pierde dinero, se filtran datos, se cae el servicio). Ese número vale más que la nota.

Tres trampas

  • La plantilla del final es justamente esa lista de defectos. No la leas antes —— si la lees, el ejercicio ya está gastado.
  • No reportes nombres ni estilo. Aquí lo que cuenta es si se pierde dinero o se filtran datos; los avisos de estilo se anotan como falsa alarma.
  • En cuanto empiece a halagarte, recuérdale la regla «no me halagues». Sentirse validado tapa la pregunta «qué se me escapó».

Empieza por la transferencia: es la más densa en defectos. Si escribes APIs todo el día, ve directo al endpoint de listado —— su fallo de permisos y la inyección por el parámetro de orden son los más fáciles de encontrar igual en tu propio código. Hagas la que hagas, después busca en tu repositorio: el producto real son esas tres comprobaciones para llevarte.