《ご案内》
「サーバーサイドエンジニア応募者向けの模試」は2023年5月より新しいものになりました。
次のURLをご参照ください。
https://qiita.com/taruhachi/items/56085228fe17537cc0d8
サーバーサイドエンジニア向けコーディング試験において、出題される問題と評価ポイントをまとめております。試験の参考にご活用ください。
サーバーサイドエンジニアの試験を受ける新卒・中途求職者
新卒採用に関する採用情報は下記をご覧ください。
https://hrmos.co/pages/yumemi/jobs?jobType=NWGR
中途採用に関する採用情報は下記をご覧ください。
https://hrmos.co/pages/yumemi/jobs/0000005
https://hrmos.co/pages/yumemi/jobs/0000519
このコーディング試験では、難易度の高い問題に対してどう回答するかのエレガントさは、そこまで重視しません。
基本的に、業務で使われるコードをどう記載していくかが評価ポイントとして高くなります。
弊社の考える業務コードの例としては、例えば以下の特徴を備えているコードとなります。
上記を踏まえて例えば『要求仕様中の一文により通常行うべきチェックや例外処理を省略する』ようなケースにおいてはその旨を記載しておく必要があると考えます。
但し、問題文に記載された要求仕様を満たすという前提で、自分はこのコード中で何を重視したかを別途コメントやアピールポイントに記載し、コードがそれを体現していた場合におきましては、 その観点で評価します。
例
・この問題文からは使い捨てのコードであると判断し、とにかく実装速度を優先しました。
・実行時のステップ数が少なくなることを最優先としています。
・実行時のメモリ使用量を最小化することを優先しました。
実際の設問とは異なります
Webブラウザ上で動作するコーディング試験環境で、CLIプログラムを作成していただきます。
制限時間は200分です。
解答する言語は以下の中から選ぶことができます。
C, C++, Java, JavaScript, PHP, Python3, Perl, Ruby, Go, Kotlin, Rust
※コーディング試験環境にはtrackを使用しています
あなたは、あるe-sports大会で集められたゲームのプレイログをもとに、ランキング上位10人を算出することになりました。
このランキングを算出するCLIプログラムの開発をしてください。
create_timestamp,player_id,score
と記載されています。
create_timestamp,player_id,score
2021/01/01 12:00,player0001,12345
2021/01/02 13:00,player0002,10000
2021/01/03 12:00,player0021,100
2021/01/04 12:10,player0031,200
2021/01/05 12:00,player0041,300
結果を標準出力に表示するCLIアプリケーションとして実装してください。
rank,player_id,mean_score
を出力する
$ ./get_ranking game_score_log.csv
rank,player_id,mean_score
1,player0001,10000
1,player0002,10000
3,player0003,9000
4,player0004,7000
5,player0005,1000
6,player0006,999
7,player0007,998
8,player0008,997
9,player0009,990
9,player0010,990
9,player0011,990
9,player0012,990
サンプルで作成された複数のテーブルの親子関係に気をつけていただきながら、以下の操作をするSQLなどを作成していただきます。
制限時間は90分です。