Kacam.net

コードレビュー

评审一段导出和下载

导出 CSV 再提供下载。两个函数,一个能读走服务器上的任意文件。

プロンプトをコピーして、どれか一つを選んでください。答えを並べるのではなく、面接官として場面ごとに問い詰めてきます。

アプリを入れたスマートフォンなら、そのままアプリが開きます。WeChat の中では外部アプリを開けないので、先にブラウザで開いてください。

コピーした文章の末尾には採点用の答えが付いています。自分で先に読まないこと —— 自分で導き出せたかどうかが肝心です。

这一份的问题分两拨:一拨让人拿走服务器上的东西,一拨在数据量涨上来的那天把机器打挂。

它会追你要数:十万行大概多少 MB?这台机器几 G?五个人同时点会怎样? 也会追一个几乎所有人第一次都答不完整的问题:把 .. 过滤掉,够了吗?

最后一幕问的是很多导出功能都缺的那几样:配额、审计、以及那些文件到底谁来删。

★★★☆☆ · 約 35 分 · 問われるのは:路径穿越、下载没鉴权、全量进内存、同步超时、句柄和文件的生命周期

主に仕込まれているもの

権限 データ漏洩 資源と容量

この問題はやったか

ログインすると「この問題はやった」を記録できます。次に来たとき、いつやったか分かります。

やった人の手記

まだ誰も書いていません。やり終えたら、そのやり取りで何が出てきたか書いてください —— どの場面で詰まったか、あとで変えた結論はどれか。

ログインすると手記を書けます。

使い方

材料はこちらで用意しています:一見動きそうな数十行に、深刻度順で十個ほどの欠陥。だからこのシリーズは自分のコードが要りません。開けばすぐ始められます。

姿勢は追及型です:ネタバレなし、褒めなし、答えられないのは普通の結末。「ここに競合がある」と言っても逃がしてくれません —— 二列のタイムラインと、被害の規模を求められます。

始め方

  1. 一つ選び、開いて、プロンプトをコピーします。
  2. 新しい空のチャットに貼ると、まずそのコードをそのまま提示してきます。
  3. 自分で読み、見つけた問題を全部言い切ります —— 第一幕では遮りもヒントもありません。終わったら「以上です」と言います。

途中でいつでも使える四つの合言葉

  • 跳过 すぐ次の幕へ
  • 提示 方向だけ、答えは言わないで
  • 直说吧 この点の完全な答えを言って、そのあと代償を追及して
  • 复盘 すぐ締めのカードへ

締めに出るのは数字

発見率:自分でいくつ見つけたか、全部でいくつか、うち誤検出はいくつか。もう一つ、もっと厳しい数字も出ます —— 見落とした中で最上位の深刻度(金が消える/データが漏れる/サービスが落ちる)がいくつあったか。合計点よりこちらが効きます。

三つの落とし穴

  • 末尾の底牌がその欠陥一覧です。先に読まないこと —— 読んだ時点でこの一つは使い切りです。
  • 命名やスタイルを指摘しないこと。ここで問われるのは金が消えるか、データが漏れるか。スタイルの指摘は誤検出として記録されます。
  • 褒め始めたら「褒めるな」の条を指摘してください。肯定された感覚は「何を見落としたか」をかき消します。

まずは送金の回から。欠陥が最も密です。日々 API を書いているなら一覧エンドポイントへ直行を —— 権限の抜けと並び替えパラメータの注入は、自分のコードに同型を見つけやすいものです。どれをやっても、あとで自分のリポジトリを検索してみてください。本当の成果は締めに出る三つの持ち帰り項目です。