IT-Q

バージョンを上げるとき、どう進めますか。

先にアップグレードガイドを読みます。読まずにエラーを潰すと、なぜそうなったか分からないまま形だけ直すことになります。コードモッドが用意されている変更もあります。

面接官が見ているのは現実的な更新手順を持っているか。

これは「ネットで見つけたコードを写したら動きませんでした。どう対処しますか。」への追撃質問です。

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

  • アップグレードガイドを先に読み、コードモッドを使いつつ1つずつ上げる
    飛ばすと、どの変更で壊れたか切り分けられなくなります。
  • 最新版まで一気に上げて、出たエラーを潰していく
    間の変更点を踏まないので、原因の切り分けができません。なぜそうなったか分からないまま形だけ直すことになります。
  • ガイドを読んでから上げ、各段階でビルドと実際の画面確認を行う
    型が通ることと動くことは別です。そこを分けて考えられています。
  • ビルドが通ることを確認できれば十分
    必要条件ではありますが、十分ではありません。実行時の挙動が変わる変更は、ビルドでは検出できません。

面接官は何を見ているか

  • 変更点の一覧を先に読むと言えた
  • 一気に飛ばさず段階的に上げる発想があった
  • 動作確認の方法を持っている

模範解答

先にアップグレードガイドを読みます。何が変わったか、何が非推奨になったかを把握してから手を動かします。読まずに上げてエラーを潰していくと、「なぜそうなったか」が分からないまま形だけ直すことになります。

Next.js は機械的な書き換えを行うコードモッドを提供しているので、それが使える変更はそちらに任せます。middleware.ts から proxy.ts への改名もコードモッドの対象です。

進め方としては、メジャーバージョンを一気に飛ばさず1つずつ上げます。間の変更点を踏まないと、どの変更で壊れたのか切り分けられなくなるためです。

各段階でビルドを通し、主要な画面を実際に触って確認します。型が通ることと動くことは別なので、ビルドが成功しただけで終わりにはしません。