Kacam.net

Voir le monde

Systèmes : un morceau à la fois

Pas « la gestion mémoire » ou « le réseau », mais « quel écart entre un défaut de TLB et un défaut de page » et « combien d'allers-retours avant le premier octet » — une fiche creuse un seul morceau, jusqu'à ce que vous sachiez donner un ordre de grandeur.

Ces consignes n'existent pour l'instant qu'en 简体中文.

Comment s'en servir

Cette série enseigne au lieu d'interroger : elle vous guide au lieu de pousser jusqu'à ce que vous n'ayez plus rien à dire. Quand vous bloquez, elle demande d'abord à quel niveau (jamais entendu / je sais mais pas pourquoi / je sais pourquoi mais je n'y arrive pas), puis décide quoi donner. Elle ne donne la réponse qu'après deux tentatives de guidage — et vous demande ensuite de la redire avec vos mots.

Elle vous réclamera des chiffres sans relâche : répondez « ça coûte un peu » ou « c'est plus rapide » et elle vous coupe. Une conclusion sans ordre de grandeur est une conclusion apprise par cœur — c'est exactement ce que cette série travaille.

Comment démarrer

  1. Choisissez-en une, ouvrez-la, copiez l'invite.
  2. Collez-la dans une conversation toute neuve, ne dites rien, attendez sa première question.
  3. Attendez-vous à devoir chiffrer : combien de nanosecondes, de microsecondes, combien de fois plus lent. Dire que vous ne savez pas suffit, elle le note et continue.

Quatre commandes à lancer à tout moment

  • 跳过 passer tout de suite à la scène suivante
  • 换个说法 réexpliquer ce point sous un autre angle
  • 直说吧 donner la réponse complète, puis me la faire redire
  • 复盘 sauter à la conclusion et sortir la fiche de bilan

Trois pièges

  • Ne lisez pas le corrigé de la fin en premier — sa rubrique « erreurs de raisonnement courantes » contient la réponse à chaque question.
  • Ne vous jetez pas sur le jargon. Dire « c'est un défaut de TLB » est facile ; dire de combien c'est moins cher qu'un défaut de page, c'est ça qui compte.
  • Quand elle se met à vous complimenter, renvoyez-la à la règle « ne me complimente pas ». Guider n'est pas cajoler.

Pour vous faire les ordres de grandeur : les lectures aléatoires puis le premier octet. Pour le débogage en production : malloc, les blocages TCP, les changements de contexte. Pour le code concurrent : réordonnancement et faux partage.

Mémoire

一次内存读,硬件走了几步
一次普通的内存读,硬件到底走了几步?
★★★★☆ · environ 35 min

Concurrence

重排序,是编译器干的还是 CPU 干的
你说的重排序,是编译器干的还是 CPU 干的?
★★★★★ · environ 40 min
改的是不同的变量,为什么互相拖慢
8 个线程各改各的计数器,为什么比单线程还慢?
★★★★☆ · environ 30 min
一次上下文切换,贵在哪
切换的成本主要不是保存寄存器 —— 那是什么?
★★★★☆ · environ 30 min
Ces prompts sont open source Le texte est maintenu dans le dépôt public kacam-net/hero-prompts. Si l'un d'eux ne pousse pas assez loin, ou s'il manque une ligne à sa solution, allez le corriger : sa mise en ligne ici est une autre décision, prise par le catalogue de ce côté.