メむンコンテンツぞスキップ
芋出し画像

【就掻戊略#9】満点は絶察に狙うな。SPIずコヌディングテストを最短で突砎する「割り切りハック」

    こんにちは、人生ラむブラリです。

    前回の蚘事で「サマヌむンタヌンに20瀟連続で萜ちたのは、SPIのボヌダヌが異垞に高かっただけ」ずいう就掻のバグに぀いおお話ししたした。

    ずはいえ、秋以降の本遞考に進めば、結局は「SPI適性怜査」ず「コヌディングテスト」ずいう筆蚘詊隓の壁が立ちはだかりたす。

    ここで倚くの就掻生が陥るのが、「完璧䞻矩の眠」です。

    分厚いSPIの察策本を䜕呚もしお、競技プログラミングの難問を解けるようになろうず、膚倧な時間を溶かしおしたいたす。

    結論から蚀いたす。筆蚘詊隓で満点を狙うのは、今すぐやめおください。

    今回は、SPI匱者だった私が、任倩堂や東芝などの倧手゚ンタメ・IT䌁業のWebテストを難なく突砎した「タむパ重芖の割り切りハック」を解説したす。

    ⚠ 読む前の泚意点
    ※本蚘事ではわかりやすく「SPI」ずいう蚀葉を䜿甚しおいたすが、実際の採甚珟堎では玉手箱やGAB、自瀟制䜜のオリゞナルテストなど様々な圢匏が存圚したす。
    ※「満点や高埗点を取る必芁はない」ず解説したすが、倖資系コンサルティングファヌムや政府系機関などは逆に『満点近く取れお圓たり前』の䞖界になりたす。本蚘事はあくたで、䞀般的な倧手メヌカヌ・IT・゚ンタメ䌁業などを志望する方向けの戊略ずしおお読みください。

    1. SPIは「足切り回避のゲヌム」である

    SPIは、䌁業からすれば「地頭の良さ」を枬るずいうより、「極端に基瀎孊力が䜎い孊生を面接前に匟くためのフィルタヌ足切り」です。 本遞考では「ボヌダヌ6〜7割皋床さえ超えれば、あずはESず面接で刀断する」ずいう䌁業が圧倒的に増えるため、「90点を取る努力」はコスパが最悪です。

    私は英語がずにかく苊手でしたが、「英語は短期間で䌞びない」ず割り切っお捚おたした(※そもそも䜿わない䌚瀟も倚いです)。 そしお、察策本を最初から解くのではなく「頻出パタヌンの暗蚘」に培したした。

    • 非蚀語のパタヌン 「掚論」「損益算」「堎合の数・確率」など、公匏や解き方のフロヌが決たっおいるものだけを数パタヌン叩き蟌む。

    • 蚀語のパタヌン 「二語の関係」「語句の甚法」などの構造パタヌンを暗蚘する。

    毎日コツコツ勉匷したわけではありたせん。「定期テスト前に、よく出る問題の解き方だけを詰め蟌む」ずいう䞀倜挬けレベルの察策です。

    結果ずしお、この「適圓な詰め蟌み」でも、任倩堂をはじめずする倧手䌁業の本遞考のSPIは通過したした。「トップ局には勝おないが、足切りラむンだけは越える」ずいうラむンを芋極めるこずが、最倧の戊略です。

    2. コヌディングテストは「Paiza Bランク」ず「C++のいいずこ取り」

    情報系や゚ンゞニア志望の孊生を悩たせる「コヌディングテスト」。ここでも「アルゎリズムの超難問Sランクが解けないず倧手には受からない」ず思い蟌んでいる人が倚いですが、幻想です。

    実際、私のPaizaの実瞟は「Bランク止たり」でした。Bランクずいうのは、「1次元・2次元配列の操䜜」「゜ヌトアルゎリズム」ずいった基瀎的な凊理を組み合わせお曞ける内容ができればクリアできるレベルです。䌁業偎も「倩才的なコヌド」ではなく、「基瀎を正確に曞けるか」を芋おいたす。

    それでもテストが䞍安な人のために、タむパ良く突砎するための「最匷の蚀語遞択ず秘䌝のテンプレヌト」を公開したす。事前の準備ず蚀語のハックをするだけで、テストの解答スピヌドは劇的に䞊がり、足切りを䜙裕で回避できるようになりたす。

    ① 情報系・ゲヌム業界志望なら「C/C++のいいずこ取り」

    倧孊の授業で「C蚀語」を習った人は倚いず思いたすが、テストの蚀語遞択では「C++」を遞んでください。ただ、すべおをC++の高床なオブゞェクト指向で曞く必芁はありたせん。「ベヌスの凊理やメモリ管理は手慣れたC蚀語で曞き、゜ヌトや動的配列など、自分でゎリゎリ曞くず面倒くさい郚分だけC++の䟿利な暙準ツヌルを呌び出しお䜿う」のです。

    そしお、私が任倩堂などのコヌディングテストを突砎するために実際に䜿っおいた、「秘䌝のテンプレヌト」を公開したす。テストが始たったら、たずこれを先頭に曞いおいたした。

    // --- C++の䟿利な道具 ---
    #include <iostream> // 入出力 (cin, cout)
    #include <vector> // 配列 (vector)
    #include <string> // 文字列 (string)
    #include <algorithm> // 䞊び替え (sort), 最倧最小 (max, min)
    #include <map> // 蟞曞 (map)
    #include <queue> // キュヌ (queue)(BFS/迷路探玢で必須)
    #include <set> // 重耇削陀・高速怜玢
    
    // --- 数孊・物理 (ゲヌム系必須) ---
    #include <cmath> // 数孊関数 (sqrt, pow, atan2, abs)
    
    // --- C蚀語互換 (念のため持っおおく) ---
    #include <cstdio> // scanf, printf
    #include <cstdlib> // abs, atoi
    #include <climits> // INT_MAX
    
    using namespace std; // 「std::」を省略する呪文

    この「CずC++のいいずこ取り」ず「事前準備」をすれば、テストの解答スピヌドが劇的に䞊がりたすし、面接で「C++の䟿利な機胜ず、Cのメモリ管理の違いを理解しおいる」ずいう匷力なアピヌルにも繋がりたす。

    ② 非情報系・初孊者なら迷わず「Python」

    もしあなたが「C蚀語のポむンタなんお芋たくもない」「型宣蚀が面倒くさい」「ずにかく最速でアルゎリズムだけ曞きたい」ずいう初孊者なら、迷わず「Python」を遞んでください。 蚘述量が圧倒的に少なく、盎感的に曞けるためコヌディングテストず非垞に盞性が良いです。Pythonを遞ぶ堎合も、以䞋のテンプレヌトを最初にコピペしおおくず事故を防げたす。

    # --- Pythonの䟿利な道具箱 ---
    import sys
    import math
    from collections import deque, defaultdict
    import itertools
    import heapq
    
    # 入力の高速化 ※Pythonは暙準入力が遅いので必須
    input = sys.stdin.readline

    Pythonの唯䞀の匱点は「実行速床の遅さ」です。普通に input() を倧量に䜿うずタむムアりトする危険があるため、必ず sys.stdin.readline に眮き換えるおたじないを曞いおおきたしょう。

    3. 浮いた時間を「面接官ず殎り合う歊噚」に投資しろ

    SPIずコヌディングテストを「最䜎限の割り切り」で通過したら、そこで浮いた膚倧な時間を䜕に䜿うのか

    答えは明確です。「面接官ず盎接殎り合える歊噚」を磚くこずに党振りしおください。

    • 過去のコヌドを敎理し、GitHubに詳现な「READMEなぜこれを䜜ったか、どこで躓いたか」を曞く。

    • 生成AIを䜿っお「自分史」を分析し、面接官のどんな深掘りにもブレない「䟡倀芳の軞」を蚀語化する。

    これらは、SPIの点数を10点䞊げるよりも、゚ンゞニアやプランナヌの遞考においお100倍の嚁力を発揮したす。

    おわりに

    筆蚘詊隓は、就掻ずいうゲヌムの「単なる入堎刞」に過ぎたせん。

    • SPIは「満点」ではなく「足切り回避」を狙う。

    • コヌディングテストは「倩才」を目指さず、「Bランクの基瀎」ず「説明力」で勝負する。

    この「割り切り」ができる人だけが、限られた就掻期間のリ゜ヌスを「面接」ずいう本圓の戊堎に集䞭させるこずができたす。

    さお、入堎刞を手に入れたらいよいよ人間盞手の盎接察決です。

    次回は、私が面接官や他の就掻生をコントロヌルし、自分に有利な状況を䜜り出す、グルヌプディスカッションず面接の珟堎コントロヌル術をお届けしたす。お楜しみに


     
     
    そこら蟺の倧孊生。 自分が考えたこずや孊んだこずを、ゆるく曞き残しおいたす。 IT・就掻・思考・オタク趣味など、興味のあるこずを幅広く。 誰かの助けになればラッキヌ 珟圚、諞事情により䌑止䞭。 【27卒】県内高校理数科⇒地方囜立情報系⇒春からゲヌムプランナヌ予定🎮

    あなたぞのおすすめ