Kacam.net

Systeme

一次 4KB 随机读,时间花在哪

说 SSD 快,快在哪一项上?快多少倍?

Vorlage kopieren, dann ein Modell wählen. Es spielt den Interviewer und fragt dich Szene für Szene ab, statt dir die Antwort hinzulegen.

Auf einem Telefon mit installierter App öffnet das System die App direkt. In WeChat lassen sich keine externen Apps öffnen — öffne es zuerst im Browser.

Am Ende des kopierten Textes steht der Lösungsschlüssel, mit dem das Modell dich bewertet. Lies ihn nicht vorher — es zählt, dass du selbst darauf gekommen bist.

从机械盘的三笔账开始:寻道、旋转、传输 —— 让你自己算出「7200 转转半圈是 4 毫秒」,然后自己得出随机 IOPS 只有一百多这个数。

然后是一个很多人没想过的问题:一块标称 50 万 IOPS 的 NVMe,你写个单线程程序一个一个读,能跑到多少? 答案是一万出头 —— 那 50 万的前提是队列深度。

这一份和「首字节之前来回几趟」一起,是整个系列那张延迟表的地基。

★★★☆☆ · etwa 30 Min. · Geprüft wird: 寻道与旋转、队列深度、SSD 上顺序还重不重要

Was diese Übung trainiert

Größenordnungen Der E/A-Pfad

Schon gemacht?

Melde dich an, um festzuhalten, dass du diese Aufgabe geübt hast — beim nächsten Mal siehst du, wann das war.

Notizen von Leuten, die das gemacht haben

Noch hat niemand etwas geschrieben. Erzähl nach dem Durchlauf, was dabei herauskam — welche Szene dich ins Stocken brachte, welche Schlussfolgerung du danach geändert hast.

Anmelden, um eine Notiz zu schreiben.

So funktioniert es

Diese Reihe lehrt, statt zu verhören: sie führt dich, statt zu bohren, bis dir nichts mehr einfällt. Wenn du hängst, fragt sie zuerst, auf welcher Ebene (nie gehört / weiß es, aber nicht warum / weiß warum, kann es aber nicht anwenden), und entscheidet dann, was sie gibt. Erst nach zwei Anläufen sagt sie es direkt — und lässt dich es danach in eigenen Worten wiederholen.

Sie fragt unablässig nach Zahlen: „das kostet etwas“ oder „das ist schneller“ wird abgebrochen. Eine Schlussfolgerung ohne Größenordnung ist auswendig gelernt — genau das trainiert diese Reihe.

So fängst du an

  1. Eine auswählen, öffnen, den Prompt kopieren.
  2. In ein ganz neues, leeres Gespräch einfügen, nichts sagen, auf die erste Frage warten.
  3. Rechne damit, Größenordnungen nennen zu müssen: wie viele Nanosekunden, wie viele Mikrosekunden, um welchen Faktor langsamer. „Weiß ich nicht“ ist in Ordnung — sie notiert es und macht weiter.

Vier Zurufe, jederzeit möglich

  • 跳过 sofort zur nächsten Szene
  • 换个说法 diese Stelle aus einem anderen Blickwinkel erklären
  • 直说吧 die Antwort ganz sagen und mich danach wiederholen lassen
  • 复盘 direkt zum Abschluss springen und die Auswertungskarte ausgeben

Drei Fallen

  • Lies das Lösungsblatt am Ende nicht vorher — der Abschnitt „so denkt man es sich falsch“ ist die Antwort auf jede Frage.
  • Greif nicht sofort zum Fachwort. „Das ist ein TLB-Miss“ ist leicht gesagt; zu sagen, um wie viel billiger er als ein Page Fault ist, zählt.
  • Wenn sie anfängt, dich zu loben, verweise sie auf die Regel „lob mich nicht“. Führen ist kein Bemuttern.

Für das Gefühl für Größenordnungen: erst Random Reads, dann das erste Byte. Für Produktionsanalyse: malloc, TCP-Stockungen, Kontextwechsel. Für nebenläufigen Code: Umordnung und False Sharing.