SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート(AD)

プロが求める実装スキルとは? コーディング試験の解答を実際にレビューしてみた

【10-C-5】ゆめみ流“技術面接”コードチェック実践方法 ~エンジニアによるエンジニアのための、最高の選考体験の作り方~

  • X ポスト
  • このエントリーをはてなブックマークに追加

コーディング問題の難易度とレビューの粒度をどうそろえるか

 問題については、Trackが用意している700問以上の問題にほとんど目を通したうえで選んでいるそうだ。難易度は、コーディングテストを実施している他の会社よりも簡単になっている。問題が解けるかどうかではなく、ちゃんとリファクタリングしたコードや、自分はこういうポリシーで書いたというコードをみたいからだ。

 「難しい問題だと、どうしても書きかけのコードになりがちで、評価しにくいです。実際に動いたコード同士だと比較しやすいですが、『これはちゃんと動くはずだけど今のところ動いてない部品です』みたいなコードだと判断が難しくなります」

 そのために、プログラミング経験者であればイメージがつきやすい簡単な問題を用意している。力技でも書けるし、ちゃんと書くこともできるような問題だ。難しくて手が出ない問題だと応募する気にもならないが、腕に自信があるなら「応募してみようかな」というところを狙っているそうだ。

 「解答できるプログラミング言語は、弊社でレビュー可能なものを複数用意しています。学生に人気のあるPythonも入れてあります」

 こうして応募された解答は、機械的な採点で足切りをしたあと、複数のエンジニアによるレビューを実施している。面接官同士で、レビューの粒度をそろえるために次図のような工夫をしている。

面接官同士で、レビューの粒度をそろえるための工夫
面接官同士で、レビューの粒度をそろえるための工夫

 ゆめみでは、現在サーバーサイドのレビューを16人ほどで実施している。各プログラミング言語で模範解答と観点ごとに項目を分けた評価テンプレートを用意している。さらに必ず2名以上でレビューし、評価が難しい場合は3人目の評価を仰いでいる。

 「この解答は面白そうだとか、この書き方はよくないかなといった評価の分かれる解答は、オープンな評価会で検討・共有しています。これは、私たちを含めてかなり勉強になりました」

実践コードレビュー:サンプル問題の内容は

 ここでいよいよサンプル問題の解答について具体的なコードレビュー内容を解説した。問題は、サーバーサイドエンジニア応募者向けの模試である。サンプル問題は次の通り。

新卒・中途採用 サーバーサイドエンジニア応募社向けの模試
新卒・中途採用 サーバーサイドエンジニア応募社向けの模試

 「対象のプレイログは、肥大化して数千行を超えることがあります。上限は特に書いていないのでメモリのことを考慮する必要があります。プレイヤー総数は1万人を超えません。また、同点の平均スコアのプレイヤーが存在した場合、rankingに同じ数字が割り当てられます。この場合、10名以上のランキングが作られます」

 解答したコードは、ギブリーのビジネスサイドでプログラミングを学習しているメンバーが書いたものだという。準備しておいたテストパターンで解答を機械採点すると通過率100%となった。これで次のコードレビューに進むことになる。

サンプル問題:解答例
サンプル問題:解答例

次のページ
実際にコードレビューしてみた

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 セッションレポート連載記事一覧

もっと読む

この記事の著者

可知 豊(カチ ユタカ)

フリーランスのテクニカルライター 興味の対象はオープンソースの日常利用、ライセンス、プログラミング学習など。 著書「知る、読む、使う! オープンソースライセンス」。https://www.catch.jp

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ギブリー

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17452 2023/04/13 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング