ITエンジニアの面接官として聞くこと
前職はエンジニアリングマネージャーに挑戦していたり、たくさん面接官の立場にありました。
多くの学びがあった。
良いテンプレも作った。転職して見られなくなってしまい、もどかしい思いをすることがあります。
今はメガベンチャーで働いて面接をする機会はだいぶ減ったんだけど時々あるので、この機会にまとめておく。
怒られたら消すけど平気っしょ。
育て系ドキュメントにします。
概要
roadmap.sh がすごく良くできていて、自分たちの求めるポジションと、インタビューイの差分を見ます。
基礎
バックエンドだろうがフロントエンドだろうが知っててほしいこと。
- HTTP
- 200,300,400,500の区分け
- 401 のエラーがでました。どうしますか?
- 502 のエラーがでました。どうしますか?
- REST
- Git
- これまでのブランチ運用を聞く
- UNIX
- ファイルを消すコマンドは?
- サーバが重い! どう調べる?
- ログ見るときどうする?
- SSH/SCP
- npm / yarn
- 知ってる?
- 好きなツールとかある?
- DB設計、SQL
- JOINできればまあ基礎はOK
大きなマイナスに見る点
- 言語やフレームワークの表記がゆれてたり正確ではない
- 履歴書や経歴書でここに気を配れる人がコードの統一感に気を配れるだろうか?
- ここが駄目な人はだいたいコードも揺れ揺れして「動けばいいっしょ」なコードを書く
- そもそも正しい表記をしないのは「公式ドキュメントは読みません」と宣言しているようなものでは?
- エディタやIDEを知らない
- アウトプットもしくはGitHubアカウントがない
- (SNS関連サービスの運営なのに)SNSアカウントを一切作らない
バックエンド
- フレームワーク
- MVCとか設計
- 責務
- CRUD
- DB
- n:nの設計を聞く
- RDBが苦手なケースをどうするか聞く
- 負荷
- このページ遅い!どう調べる?
- よくあるケース教えて
- セキュリティのこと
- SQL Injection
- CORS
- インフラのこと
- DNS
- CDN
- Cache
- Queue
- Serverless
フロントエンド
ついていけてないので聞けない…
- npm / yarn について突っ込んで聞く
- モダンなフロントエンド環境
- コンポーネントの設計
ビギナー
書こうと思ったけどビギナーの面談をしたことがなかった。
- 明日から新しい言語を学ぶとしたらどうやって勉強しますか?
- GitHubアカウント見せてもらえませんか?
マインドとか文化
社員の場合
- どういう人と働きたい? どういう人と働きたくない?
- どういう文化で働きたい?
- 優先順位。何が問題でどうしたい?