Kacam.net

Die Welt sehen

Interviewfragen: eine Standardfrage, fünf Schichten tief

Die Aufgabe ist genau der Satz, mit dem ein Interviewer eröffnet — „Was ist der Unterschied zwischen Prozess und Thread?“, „TCP oder UDP?“. Die Lehrbuchdefinition ist nicht das Ziel, sondern der Anfang: Zuerst wird die Version aufgezeichnet, die du auswendig kannst, dann geht es fünf Schichten hinab, und am Ende musst du sie in sechzig Sekunden noch einmal sagen.

Diese Vorlagen gibt es bisher nur auf 简体中文.

So funktioniert es

Diese Reihe bohrt nach, sie unterrichtet nicht. Sie ist ein Übungsinterview: Nichts mehr sagen zu können ist ein normaler Ausgang, und sie deckt dich nicht und beendet auch deine Sätze nicht, wenn du hängen bleibst. Wenn du ein Thema verstehen statt für ein Interview üben willst, geh zu Computersysteme, Datenbanken oder Algorithmen — dort wird geführt.

Wie eine Standardfrage vierzig Minuten füllt: die Fünf-Schichten-Leiter

  • Schicht 1 · Definition — was jeder Begriff bedeutet, worin die Unterschiede bestehen. Keine Antwort: nie gelernt.
  • Schicht 2 · Mechanismus — welche Struktur, welcher Schritt erzeugt diesen Unterschied konkret. Keine Antwort: nur die Schlussfolgerung auswendig gelernt.
  • Schicht 3 · Zahlen — wie groß ist der Unterschied? Wie viele Mikrosekunden, wie viele Male, wie viele I/Os. Keine Antwort: nie selbst angefasst.
  • Schicht 4 · Wahl — in einem konkreten Fall: was wählst du, zu welchem Preis, und wann ist diese Wahl falsch. Keine Antwort: du kannst es nicht anwenden.
  • Schicht 5 · Grenzen — unter welchen Bedingungen gilt alles gerade Gesagte nicht mehr. Keine Antwort: vollständig auswendig gelernt, aber nicht verstanden.

Die Messlatte: Schicht 4 besteht ein Interview, Schicht 5 heißt wirklich verstanden, und alles, was auf Schicht 1 stehen bleibt, gilt als auswendig gelernt.

Sechs Akte — der erste und der letzte gibt es nur hier

  • Im ersten Akt unterbricht sie nicht, kommentiert nicht und gibt keine Hinweise: Du lieferst deine vorhandene Version am Stück, und sie wird als Ausgangsaufnahme festgehalten. Das Schweigen ist Absicht — sie hört zu, sie korrigiert nur noch nicht.
  • Die vier mittleren Akte arbeiten sich die Leiter hinunter; das eigentliche Schlachtfeld ist der dritte: Mechanismus und Zahlen.
  • Der letzte Akt stellt sechzig Sekunden auf die Uhr und lässt dich alles noch einmal sagen, direkt neben deiner Eröffnungsversion — denn ein Interview verlangt nicht „ich habe es verstanden“, sondern einen Satz, den du laut aussprechen kannst.

So fängst du an

  1. Eine auswählen, öffnen, den Prompt kopieren.
  2. In eine brandneue Unterhaltung einfügen, nichts sagen und auf die erste Frage warten.
  3. Dann antworte wie im Interview: Liefere deine auswendige Version am Stück. Dass sie holprig ist, macht nichts — sie ist die Referenz, mit der am Ende verglichen wird.
  4. Danach wird nachgebohrt. Nichts mehr sagen zu können ist ein normaler Ausgang: Das hier ist kein Lernmaterial, sondern ein Übungsinterview.

Fünf Kommandos, die du jederzeit rufen kannst

  • 跳过 sofort zum nächsten Akt
  • 提示 gib mir einen Hinweis, nicht die Antwort
  • 直说吧 sag die vollständige Antwort
  • 重讲 spring zum letzten Akt, nimm die Sechzig-Sekunden-Version neu auf und vergleiche sie mit der Eröffnung
  • 复盘 spring zum Abschluss und gib die Auswertungskarte aus

Drei Fallen

  • Am Ende des kopierten Textes steht die Auflösung — lies sie nicht vorher. Eine ihrer Spalten heißt „Rezitations-Fingerabdrücke“: genau die Sätze, die dir mit hoher Wahrscheinlichkeit herausrutschen werden. Wer sie liest, hat nichts mehr zu üben.
  • Gib keine Adjektive, wo eine Zahl hingehört. „Viel schneller“, „kaum Overhead“ — da wird sofort nachgehakt und die Zahl verlangt. Eine Schlussfolgerung ohne Größenordnung gilt als auswendig gelernt.
  • Die letzten beiden Gruppen sind an eine Sprache gebunden: die Java-Gruppe, wenn du Java schreibst, die Go-Gruppe, wenn du Go schreibst. Sie sind keine Übersetzungen voneinander — jede wählt eigene Fragen —, du musst also nicht beide machen.

Nächste Woche ein Backend-Interview? Prozess und Thread, TCP und UDP, warum B+-Bäume, Isolationsstufen, die drei Arten, wie ein Cache kippt, und Idempotenz: die sechs häufigsten, fast ohne Überschneidung. Schon reihenweise zerlegt worden und auf der Suche nach den Lücken? Fang mit „von der URL bis zur fertigen Seite“ an: Sie legt alle schwachen Stellen auf einmal offen, und danach wählst du weiter.

Betriebssysteme und Nebenläufigkeit

进程和线程的区别
「进程是资源分配的最小单位,线程是 CPU 调度的最小单位」—— 然后呢?
★★★☆☆ · etwa 45 Min.
同步、异步、阻塞、非阻塞
「同步就是要等,异步就是不用等」—— 这句说完,问题才刚开始。
★★★★☆ · etwa 40 Min.
死锁:怎么产生、怎么破、怎么查
四个条件背得滚瓜烂熟 —— 那你们代码里真的破了哪一条?
★★★☆☆ · etwa 40 Min.
乐观锁和悲观锁
「乐观锁假设不会冲突」—— 那你说得出你们那张表的冲突率吗?
★★★☆☆ · etwa 35 Min.
线程池的参数怎么定、满了会怎样
参数表说得出来的人很多,说得出这几个参数谁先谁后的很少。
★★★☆☆ · etwa 40 Min.

Datenbanken

四种隔离级别、幻读到底是什么
「可重复读解决了幻读」—— 真的解决干净了吗?给个反例。
★★★★☆ · etwa 40 Min.
MVCC 是怎么实现的
「多版本,读不加锁」—— 那「多版本」具体存在哪儿?
★★★★☆ · etwa 40 Min.

Cache und Messaging

分布式锁怎么做才对
「setnx 加个过期时间就行」—— 然后它会一个一个坑问过来。
★★★★☆ · etwa 40 Min.

Verteilte Systeme und Architektur

限流:三种算法和真实部署
三种算法都说得出来 —— 那你那个阈值是怎么定的?
★★★★☆ · etwa 40 Min.

Java und die JVM

HashMap 的原理、它的线程不安全表现在哪
「数组 + 链表 + 红黑树,负载因子 0.75」—— 那容量为什么必须是 2 的幂?
★★★★☆ · etwa 40 Min.
synchronized 和 Lock、锁升级四个状态
锁升级四个状态背得出来 —— 那每一级到底省了哪一笔开销?
★★★★☆ · etwa 40 Min.

Go und seine Runtime

GMP 调度模型
「G 是协程、M 是线程、P 是处理器」—— 那为什么非要有 P?
★★★★☆ · etwa 40 Min.
channel 的底层和 select
「无缓冲 channel 会阻塞」—— 它是一个长度为 0 的队列吗?
★★★★☆ · etwa 40 Min.
defer、panic、recover
「defer 延迟执行、后进先出」—— 那它的参数是什么时候求值的?
★★★★☆ · etwa 35 Min.
Diese Prompts sind Open Source Der Text wird im öffentlichen Repository kacam-net/hero-prompts gepflegt. Wenn einer nicht hart genug nachbohrt oder seiner Auflösung eine Zeile fehlt: geh hin und ändere ihn. Ob er hier erscheint, ist eine eigene Entscheidung und hängt am Katalog auf dieser Seite.