「文系で学部卒だからコーディングテストを通らないのではないか」
「これから1年間で対策ができるのか不安」
そんな方に向けた記事です。
大学3年生の6月頃に読むことを想定してコーディングテストの対策の流れを書いていきます。
コーディングテストの形式と対策方法の全体像
コーディングテストの形式については以下の記事を参照してください。対策方法についてもざっくりと書かれています。
この記事では基本的なデータサイエンティストのコーディングテストについては知っている前提で、どんなスケジュールで対策をしていけばいいのかを語っていきます。
具体的なスケジュール
以下では具体的なスケジュールを説明します。
6月:受ける企業群を定める
まずは受ける企業群を定めることからスタートします。というのも企業によって選考フローが違うからです。コーディングテストが課されない企業もたくさんありますし、コーディングテストの代わりに技術面接が技術力を見るために課されるところもあります。それぞれの企業のフローを把握しておくことで無駄なことをしなくて済むのです。場合によってはコーディングテストの対策自体が不要ということもありえます。最初に受ける企業群を定めて逆算をすることで無駄のない対策が可能になります。
この時インターンシップの応募も同時に行います。企業からインターンシップの選考フローについて連絡が来るのでこのタイミングで勉強を始める人も多いです。とはいえいきなり技術力を身につけることはあまり簡単なことではありません。なので文系数学部卒でこのタイミングで就活を始めた人はコーディングテストがサマーインターンシップの選考時点で課される場合はこちらは捨てることが多いです。冬のインターンシップに向けて勉強をしていきましょう。なおサマーインターンシップでデータサイエンティストの職種別インターンシップに参加する場合は最低限の技術力が必要になるのでその点は留意しておいてください。
いずれにせよこのタイミングでは最低限受ける企業群を定めて冬に内定するところから逆算して長期スパンでの計画を立てることになります。
7月:コーディングテストのレベル感と出題分野を把握する
目指す企業の選考フローを把握した状態で次にやることは各企業のコーディングテストのレベルを把握することです。企業によって求められるレベルが様々だからです。本格的なプログラミングができることが必須なこともありますし、ちょっと勉強すればすぐにできることもあります。特に出題分野については気をつける必要があります。サマーインターンシップの選考でもSQLだけ課される場合もあれば、機械学習の知識が問われることもあります。全く関係のない分野を勉強して意味のない時間を過ごさないようにしましょう。
ちなみに、データサイエンティスト新卒就活の一般的なコーディングテストの難易度については以下の表の「普通」から「やや難しい」に該当するイメージ感で考えれば大丈夫です。
引用元:https://wagtechblog.com/career/job-know-how/coding-test
情報系の学部出身者であれば難なく解ける問題も多いですが文系で学部卒の状態からだと難しいと感じる人も多いのではないでしょうか。
ちなみにプログラミング言語に迷ったら迷わずPythonを選びましょう。基本的な文法の理解がしやすく、さらにコードの記述量もC言語やJavaに比べると少なくて済みます。またデータサイエンティストの場合は実務でも使うからです。
8-9月:各分野のインプットをする
夏から秋にかけて本格的に勉強をしていくことになります。このタイミングでは問題集ではなく参考書的な本でインプットすることになると思います。使う本については後述します。
10-12月:AtCoderや一般的なコーディングテストを使って対策
ただインプットするだけでは実力は身につきません。プログラミングコンテストの実績としても使えるのがAtCoderです。データサイエンティスト志望の人はぜひチャレンジすることをおすすめします。というのもデータサイエンティストの人気企業はこのプログラミングコンテストで一定以上の水準の成績を残した人に対して選考の枠を用意しているからです。具体的な企業名で言うとMCデジタルなどの企業です。この企業は三菱商事の子会社でデータサイエンティストに対して高い報酬や高待遇を提示しています。プログラミング能力という壁を設けているからこそデータサイエンティストが就職したい企業への合格率を高めることができるのです。
補足:できれば長期インターンを並行する
もしあなたが文系学部生で今が夏前のタイミングなのであれば、長期のインターンシップにも参加することをおすすめします。長期のインターンシップ参加ができれば自分で参考書や問題集で勉強をする時間が短くて済む上にお金をもらいながら実践的な勉強ができるからです。
また学生時代に力を入れたこととして企業側にアピールできるのも大きなポイントです。近年のデータサイエンティストの新卒就活においては最低限長期インターンシップで実績を出したことが求められる企業も珍しくなくなってきました。データサイエンスの研究をしているだけや勉強をしているだけの人ではなく実践の中で成果を出した人が求められるようになってきているのです。
このようにただでさえ要求水準が上がっている中で文系の学部生という立場から内定するためには長期インターンの経験はできるだけ得た方が良いものになっています。勉強にもなって一石二鳥なので是非検討してみてください。
各分野のおすすめ参考書と対策法
以下では勉強するのにおすすめの参考書を紹介します。
機械学習
機械学習はコーディングテストで聞かれることはあまりないのですがコーディングテストと合わせて課されるペーパーテスト的なテストで聞かれることがあります。例えば用語の意味を聞かれる問題があります。そのため基礎的な学習は進める必要があります。
Pythonで動かして学ぶ!あたらしい機械学習の教科書第2版(AI&TECHNOLOGY)
実際に機械学習の基礎部分をPythonでプログラムしながら学習できる構成になっています。Pythonの学習と兼ねられるので効率的です。
はじめてのパターン認識
「はじパタ」と言われる本です。思ったよりは難しいと感じる人が多いですが、機械学習の数式込みでのちゃんとした学習が進められるのでおすすめです。
Python
Pythonは実際にコーディングができるレベルにまでする必要があります。基礎をインプットしたらあとはアルゴリズムの勉強を合わせて行うことで効率的に勉強できます。ただ言語単体で本でインプットするというよりはプログラミングコンテストに参加しながらわからない部分はググっていって実践の中で身につけるのが効率いいです。
実践力を身につけるPythonの教科書
初心者でもアレルギーなく始められるレベル感になっています。
SQL
SQLも課されることは多いです。例えば2023年のメルカリのサマーインターンではSQLが課されました。この時点でSQLがわからないという人はインターン参加を諦めざるを得なかったと言います。
ゼロからはじめるデータベース操作
最初の一冊に最適です。初学者でも抵抗感なく始めることができます。
スッキリわかるSQL入門
SQLの本の中でも図解を多く用いて解説してくれているので分かりやすいです。
アルゴリズム
今既に使っている参考書があるのであれば正直それを使い続ければ大丈夫です。基本的な動的計画法などのアルゴリズムはどの参考書でも載っていますしインプットできる内容に大差はありません。具体的には以下のような内容を学べば大丈夫です。
・FizzBuzz問題
・フィボナッチ数列
・「クイックソート」「マージソート」などのソート
・「最短経路問題」「巡回セールスマン問題」などの探索
大体の本には上記は載っています。もしまだ参考書が決まっていないという人向けに、以下でおすすめを提示いたします。
問題解決力を鍛える!アルゴリズムとデータ構造(KS情報科学専門書)
例題と解説がちゃんと書かれているので読み進めていけば一定の知識が身につきます。まず最初にはこの本をやることをおすすめします。
プログラミングコンテストチャレンジブック[第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~
通称「蟻本」と呼ばれ、競技プログラミングに取り組む方にとっては必須の参考書です。上記の「問題解決力を鍛える!アルゴリズムとデータ構造(KS情報科学専門書)」の後で取り組むのにちょうど良い難易度です。こちらもプログラミングコンテストに特化しているとはいえコーディングテストにも使える内容です。後半の難易度が高い部分はやらなくて大丈夫です。
AtCoder
以下のURLのサイトです。

アルゴリズムの分野については特にプログラミングコンテストが効果的です。一定以上の成績を残すことができれば選考も有利に進むのでぜひやってみましょう。ただ本をこなすだけよりもモチベーションも上がりやすいです。
3000以上の過去問題にいつでも挑戦することができ解答・解説も用意されています。
LeetCode
以下のURLのサイトです。
海外では有名なコーディング試験の対策サイトです。実際のコーディングテストでここからいくつかピックアップされて出題されることもあるようです。分野や難易度ごとに問題が掲載されています。アルゴリズムの本を復習しながらeasyの問題を解いていくのがおすすめです。
公式の回答はC++とJavaですが、Discussを見るとPythonで解答コードの例を載せてくれている方がたくさんいますので、そちらを参考にして問題を解いていきましょう。
Codility
以下のURLのサイトです。
大手企業でも採用されているコーディング試験サイトです。アルゴリズム系のみで、20問くらい無料で解けます。余裕がある人はこちらも解いてみましょう。
Pythonで学ぶアルゴリズムの教科書
競技プログラミングでは実行速度の関係で、C++のコードが多くて自分のコードが合っているのかどうかわからないと悩む人も多いです。そこでPythonでアルゴリズムを学べるのがこの本の良さです。データサイエンティスト志望の方にはおすすめです。
統計学
統計学についてもペーパーテスト形式で問われることがあります。
統計学入門(基礎統計学)
統計学の勉強をしている人の中では有名な「赤本」です。インプット用に役立ちます。数式だけではなくイメージを交えた分かりやすい解説がされています。
統計検定2級公式問題集
統計学の勉強をする時は統計検定を受けるのがおすすめです。特に文系の学部生からだと統計スキルを証明するための客観的な手段として使えるので就活までに取得しておきましょう。大学3年生の10月に取得することを目指して申し込みを忘れないようにしましょう。勉強をする中で必要な知識を身につけることができます。
文系学部卒からでも努力次第で内定可能
文系学部卒からでもコーディングテストの対策を的確に行うことで突破することが可能です。時期ごとに適切な参考書を用いて対策をしていくことで情報系の学生にも負けないような知識を身につけましょう。
とはいえ就活生の中で自分がどれだけの技術力を持っているのか、内定の確率はどれだけあるのか不安に思いながら一人で就活を進めるのは辛いものです。
データサイエンティスト専門就活講座「Optima」ではマンツーマンで就活の指導を行い、文系学部卒からでも内定を可能にします。情報系のバックグラウンドや長期インターン経験がなくても内定することのできる企業リストを共有したり、インターンの選考対策情報も共有します。ぜひ検討してみてください!