北大情報科学院情報理工学コース院試合格体験記

はじめに

北大文系B4から北大情報理工に合格したので、文系学部から情報系に移りたい人用のメモを記す。推敲とかしてないので斜め読みしてください。

あと、記述内容に問題があれば非公開にするので、合格内定取り消しする前に知らせてください。(ビビり)

受験の経緯

B3とB4の始めまでは、民間と公務員を併願しており、院進は片隅にある程度。それでも線形と微積の基礎はB2からそこそこやっていたし、B3夏に取得した基本情報やG検定でCSの基礎とAIの基礎については抑えていた。
B3の8月9月は、失恋のなかでも、某省庁のインターンに行ったり、SIerやコンサルの4daysや5daysに行ったり、秋冬でBIG4のジョブや某商社のインターンに行ったり、それらのインターン経由で民間大手から内々定を得たり、国家公務員総合職試験教養区分に秋で最終合格したりするなど、わりと手広くコツコツとコマを進められていた。
しかし、B4になると、4~6月に第一志望であったSIer業界の最大手を受けて最終落ちしたり、官庁訪問でエレ送をくらうなど、メンタルがボロボロになっていく。そこで、当初から考えていた院進を決意。もうB4の6月下旬であった。
ひとまず研究室の研究内容がやりたい内容であり、受験科目を見て受けられそうなところをリストアップし、科学大数理・計算科学系と北大情報理工にエントリーに出願した。(落ちた場合は、慶応大学メディア政策の土屋先生や、NAISTのサイバーレジリエンス研究室を受けることも考えていた。)

研究室の選定基準

B省S系総合職(B省は今Cyber Threat Attributionがアツい)にチャレンジする場合と、民間第一志望部に再チャレンジする場合を考え、Sec系の研究室を選んだ。特に、マルウェア解析かログ分析をしたかったので、情報基盤センター的なところからログを提供してもらえそうな研究室を選んだ。

受験科目としては、そこそこの難易度の基礎数学と、オートマトンと言語理論やアーキテクチャーのような、ある程度覚えればいいだけの科目が出題されているところを選んだ。

(名大もログ解析をしているしネットワークという暗記科目が出題されていたが、単純にメールが返ってこなかったという理由で受けなかった。今思うとこっちも受けてもよかったかも。)

受験勉強

方法論

過去問を見る→ネットで簡単な概説してくれているサイトやpdfを探す→過去問を解く→分からなければ基本書をざっと見る→再度解く
の繰り返し

具体的に何を勉強していたかのメモは下のnoteに全てまとめて、どこでも見返せるようにしていた。(外出するたびにノートやPCを忘れる)

「工業大学生ももやまのうさぎ塾」さんは無限に役に立つ

アーキテクチャに関しては、無理してパタヘネ本(『コンピュータの構成と設計』)を読まずとも、うさぎ塾とIPA資格の参考書とネットに転がっているpdfで事足りるはずだ(僕は対策が間に合わなかったが)

過去問研究

Internet Archive“Wayback Machine”で情報理工の過去問を見てみると、アーキテクチャが6年前ほどの問題とほぼ同じだったので、入試前日に急遽志望研究室の棚にあった過去問のファイルを見させていただいて、20年前までさかのぼって傾向を掴んだ。
(結果的に、アーキテクチャのヤマは外した。が、情報理論は10年前によく出ていた2元マルコフ情報源の問題に近くなっていたため、やはりこのコースは過去問研究が重要。)

情報理論はハミング符号化などが出ていたので、京大の山本高至先生の動画を見て半日でマスターした(結局符号化は出なかったので意味なかった)


本番

筆記(午前)

割と全て標準的な問題が出た。
基礎数学が超難化したらどうしようと思っていたので安心。

解けそうな順に
情報数学→情報理論の前半→基礎数学→情報理論の後半
で解いた

情報数学では、濃度を勉強してなかったのでこれはパスしたが、元の学部で論理学を履修したこともありトートロジーは余裕で示せた。(東工大でも問Cのヤマを外して論理学を解いているから、B2で論理学を履修していて本当によかった。)
オートマトンは、a^i b^iだと勝手に思っていたが、自己採点中にaが1回以上、bが1回以上だということに気づき、失意。a^i b^iとb^i a^iを作って、それらを和演算して最小化すればいいだけじゃん。最悪

情報理論は先述した通りヤマを外してマルコフ情報源が出た。だいたい類推してとりあえず書いておいた。

基礎数学は、線形はとりあえず完答したものの、散々やったn乗がなぜか出なくて(一方の固有値の固有ベクトルが使えない場合、もう一方の固有値の固有ベクトルでうにゃうにゃやらないといけないのが緊張で頭からすっぽぬけていた)、固有ベクトルが二つ出た後の方針だけざっと書いておいた。
微分方程式は、よびのりで概観はしたものの解けるレベルではなかったため放置。
微積は、焦りすぎてキチガイみたいな回答をして終了。落ち着けば解けたはずなのに。

筆記(午後)

応用数学の複素関数は、聴講とよびのりで抑えていたが、自力で解けるほどではなかったので、問題すら見ていない。
アルゴリズムとデータ構造→アーキテクチャ→どっちかが解けなければAI
の優先度で解く。

問題を見ると、AIはほぼ選択肢からの選択だったが、選択肢が英語であり、博打を打つならばアーキテクチャのほうが得点率は高いだろうということで1,3を選択

アルゴリズムとデータ構造は、またダイクストラとプリムとクラスカルが出るだろうなと踏んでいたら的中し、完答。ヒープだけ厳密な定義を知らなかったが、大問が完全二分木の問題だし、ということで類推で書いた。
全然説明は間違っていたが。

アーキテクチャは、予想通りカルノー図。
ただここで悲劇、素数は1から始まるのか分からなくなるゲシュタルト崩壊を起こして、「一とその数自身との外には約数がない正の整数。」なら「1の外に約数がない1も素数」理論で1も回路図に含めてしまう。小学生からやり直せボケ。
お陰で回路図がグチャグチャになり終了。
ネットワークはまぁ解けた。
浮動小数点の正規化も奇跡的に「うさぎ塾」に書いてあったのでかけた。
OSは、相互排除を「リソース使用中に+1、使用していないときに-1する管理方法あったな~」みたいな適当なことを書いた。割込みハンドラとプロセスの話は逆を書いてしまって減点。OS弱すぎるので入学までにちゃんと再勉強するべき。
名大の過去問だったかで、starvingと、それへの対処、という問題が出ていたので、agingや優先度継承を覚えていたが、出ず。

面接

ビクビクしていたが、志望動機と勉強方法だけ聞かれて終わり。内部生はあまり合否に寄与してないのかもしれない。
そもそも、自分が外部生扱いになるのかどうか危惧していたが、この対応を見るに北大の他学部であれば内部生と同じ扱いになるのか?
留学生?っぽい人は別の集団として受けていた。

点数予想

午前:
基礎数学:4割
情報数学:8割
情報理論:5割

午後:
アルゴリズムとデータ構造:9割(ダイクストラがちょっと怪しい)
アーキテクチャ:6割( (ネットワーク+数表現の5割) + OSの1問 )、運が良ければ、素数で1を含んだのを見逃してくれて解き方の部分点で全体7割5分?

午前:午後=1:1で午後のほうが大問当たりの点数が高いと予想すると、6割2分くらいだろうか。
6割あれば受かる院試と噂されていたので、受かるか五分五分だな~と思っていた。

合格発表

結果は合格。本当にお情け。
先に合格者数を見て、去年より20人ほど合格者が増えており、倍率が去年1.2倍、今年1.1倍に下がっていたため、まさかと思い番号を見ると、あった。
本当に運で合格した。嬉しい。

今後は、就活に向けて、オンラインや東京のカンファレンスに頻繁に出て、CTFである程度の順位を取り、国際政治系のフォーラムにも出席したい。
CISSPはアソシエイトの起源的に来年度の春に東京で受けなきゃなのと(UdemyのCISSP基礎講座?みたいなのを一本だけ見て概観した後、札幌市の図書館にあった参考書で勉強しよう)、OSCP取得すると目をつけてくれる某企業を受けるためにも、Try Hack MeとHack The BoxでOSCP対策をしないと。

近年のポリティカル・サイエンスでは、Applied Cybersecurityの分野がアツくて、理工系の院に落ちたらこっちに行こうとも思っていたので、こっちの論文も書いておきたい。
元文系の理工系の院生だからこそ書ける論文も、あると思います。(ないかも)

TOEFLを早めに受けないとなので2024年度の統計検定1級の受験は諦めて2025年度に受験することにしたが、ちょっと触れていたKaggleも本格化せねばなぁ。
あと単純に競プロとか。

あと、民間を受けるにあたって、Sec系の中での専門性の出し方としては、web系とかcrypto系とか、ハードウェア系とか、スマホアプリ系とかあるが。
統計とかけあわせてログ分析できます、みたいのを強みにできるのか、というのが疑問。それはIDSを作っている技術者が標準的に持っているものなのではないか、という気もする。自分なりの色の出し方はもう少し考えないといけないな。

ひとまず、次の目標は、昨春までの第一志望に受かること。それに向かって頑張って実績作り。やりたいことだけ一杯。

この記事が気に入ったらサポートをしてみませんか?