IT-Q

キャッシュを入れたことで、逆に困る場面はどれですか。

直したはずの内容が反映されず、コードのバグなのかキャッシュが古いだけなのかを切り分ける時間を取られます。ユーザーごとに見えるデータが違うのにキーを共有すると事故になります。

面接官が見ているのは副作用の認識の補強。

これは「キャッシュを入れる対象の判断基準として妥当なのはどれですか。」への追撃質問です。

よくある答えと、面談でどう見られるか

  • 直したはずの内容が反映されず、バグかキャッシュか切り分けに時間を取られる
    その通りです。加えて、キーの設計を誤ると他人のデータが見える事故になります。
  • DB の負荷が上がる
    下がります。上がるならキャッシュが効いていません。
  • レスポンスが遅くなる
    速くなります。困るのは速度ではなく正しさの方です。
  • メモリを使わなくなる
    逆にメモリやストレージを使います。

面接官は何を見ているか

  • 古いデータが表示される可能性を挙げた
  • デバッグが難しくなる点に触れた
  • 「直したのに反映されない」問題に触れた

模範解答

いちばん困るのは、直したはずの内容が反映されず、原因の切り分けに時間を取られることです。コードのバグなのかキャッシュが古いだけなのかが、その場では分かりません。また、ユーザーによって見えるデータが違うのにキャッシュキーを共有してしまうと、他人のデータが見える事故になります。速度と引き換えに、考えることが増えます。