Kacam.net

Interviewfragen

HashMap 的原理、它的线程不安全表现在哪

「数组 + 链表 + 红黑树,负载因子 0.75」—— 那容量为什么必须是 2 的幂?

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.

结构说得出来是第一层。这一份追的是每个设计选择背后的理由:容量那条约束到底为了什么、扰动那一下在防什么、树化为什么有两个条件而不是一个。

第三幕落到扩容那一刻:具体搬了什么、怎么搬的、新版本比老版本省掉了哪一步。

第四幕是很多人会答错的一问:换了新版本之后它就线程安全了吗 —— 要你说出仍然会出事的那个具体场景。按 JDK 8+ 讲。

★★★★☆ · etwa 40 Min. · Geprüft wird: 几个设计选择的理由、扩容那一刻、新版本仍然不安全在哪、怎么改才对

Worauf diese Frage aufsetzt

Speicher und Objekte Nebenläufigkeit und Sperren

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 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.