読者です 読者をやめる 読者になる 読者になる

Kashiyuki Blog

公務員試験・院試などの情報や物理・天文、たまにプログラミング系

企業や公務員の面接対策法・注意点

公務員 勉強法

大学生のときの就活では公務員系しか受けていませんが、実は公務員でも面接が数回あるところもあります。一応面接はほとんど通りました。また、企業への転職活動の経験もあります。

今回は面接の対策の仕方や注意点を大まかに書いてみたいと思います。

やってはいけないこと、マイナス点

まずは、やってはいけないことです。
とりあえず、面接官に減点されないことが第一です。

通常、面接は減点制ではありませんが、面接官は就活生を見ていて実は減点しています。

具体的に列挙してみると、

  • 声が小さい
  • 話がわかりにくい
  • 姿勢が悪い
  • 見た目(髪型やスーツ)が清潔でない
  • 自信が無さすぎる
  • 自信が見えすぎる

などです。
ここで気をつけなければいけないのが、「自信が見えすぎる」というものです。

話し方や話す内容に過度の自信や自慢が感じられてしまうと、面接官は不快に思います。そして、「こいつは大した事なさそうだ」と思ってしまいます。

そうしたことを避けるために、「ちょうど良い自信」を見せましょう。

やった方がいいこと、プラス点

最初から列挙すると、

  • 声がはきはきしていて聞きやすい
  • 話がスッと入ってくる
  • 雰囲気に好感が持てる(表情や話し方など)
  • 清潔感がある
  • 謙虚さがありながらほどよい自信もある

プラスに思ってもらえるポイントはこのような感じだと思います。
謙虚さがありながらほどよい自信もあるというのは本当に大事です。

これはよく言われますが、面接では話す内容よりも話し方のほうが大事というのは本当です。

ただしこれは比較の話であり、当然話す内容も大事です。変なことを言っていたら落とされます。

話に一貫性を持たせる

また、話のわかりやすさも重要です。

話がわかりやすくないと、聞いている側は話が頭にスッと入ってきません。

自己PR、志望動機などなどの話の内容の一貫性を保つことで、とてもわかりやすくなります。

ですから、面接は始まる前から勝負は半分決まっていると言ってもよいでしょう。

自己PRや志望動機をエントリーシート(ES)に書くと思いますが、書く時点でしっかり一貫した内容にしておきましょう。

自分の強みや弱み、強みを活かした仕事内容へのアピールなど、アピールポイントがバラバラだとわかりにくいし、論理的でないという烙印を押されてしまいます。

ESで突っ込まれそうなポイントをわざと作る・用意しておく

ESに書いたことから基本的に突っ込まれます。

そのために、突っ込まれそうなポイントについてさらに話すために準備をしておきましょう。
さらに高等テクニックとしては、わざと突っ込まれるポイントを作るという方法もあります。実際に使っていました。

そうすると、「やはりそこを聞いてくるか」という感じで、うまい具合に自分がしたい話をすることができて楽しいです。

以上、今回はこんな感じです。

東大大学院天文学専攻の過去問

公開することにした経緯

ここでは、東大天文の過去問の解答(平成24〜28年度)を公開します。
ただ、5年分の中でも解けたのは半分くらいです。院試が終わった後は手を付けていません。

東大の理物(理学系研究科物理学専攻)では以下のような過去問の解答が掲載されているサイトが存在します。
東大院理物 院試過去問 @ The Website of Koichi Murase しかし、天文学専攻については今まで1つもありませんでした。

過去問の解答をインターネット上で公開することには賛否があるかもしれませんが、東大外部の大学生(自分含め)には貴重な資料となると思います。

また、上記サイトにもありますが、過去問ではなくあくまで自分たちで作成した解答ですので、著作権の侵害にも当たらないと考えています。

ということで、今まではTwitterのみでの公開の仕方でしたが、自分のTwitterを見られたくないという人もたくさんいると思いますので、
思い切ってこのブログを通じて公開としたいと思います。

また、解答を作った自分も友人も外部の人間だったため、内部生のように10人近い人数で解きあってチェックし合うというプロセスを踏んでおらず、間違っている部分もきっとあると思います。そして量的にも非常に不完全です。
そこで、ぜひ間違っている部分や、こちらで解けていない問題の解答を提供していただけると幸いです
それをまたさらに後輩となる人たちのために公開できることとなるかもしれませんので。

著作権について

あくまでここで公開する解答については、著作権が存在します。ここで公開している内容を引用・転用して許可なく二次的に商用利用をすることはおやめください。

過去問ファイル

ファイル形式としてはPDFを選びました。
とりあえずひとまとめにしています。本当は科目ごと・年度ごとに分けた方がいいのだと思いますが。

構成としては、数学→物理学→天文学という順になっています。
またその中でもさらに、最近の年度から古い年度に向かった順番となっています。

https://drive.google.com/open?id=0Bw7oPVfOyxmvYXRGa2RZSlFRc2c

あくまで個人的に作ったものであり、間違っている部分もあると思います。理解不足な部分もありますし、何より5年分の中で半分程度しか解けていません。友人と2人で手探りで作った解答です。
ですので、繰り返しになりますが、修正すべき部分や新たに解答を作成できた方は、ぜひ教えていただき、後輩のために正しい解答集を作り上げていければと思います。

Project Euler 16「各位の数字の和」をPython3で書いてみた[解答]

Project Euler Python

問題文

215 = 32768 であり, 各位の数字の和は 3 + 2 + 7 + 6 + 8 = 26 となる.

同様にして, 21000 の各位の数字の和を求めよ.

注: Problem 20 も各位の数字の和に関する問題です。解いていない方は解いてみてください。

日本語の問題はこちら Problem 16 - PukiWiki ちなみにおおもとのサイトはこちら About - Project Euler

今回のはすぐできてしまいます。

コード

n = pow(2, 1000)    # 2を1000乗
factor_n = [int(x) for x in list(str(n))]     # 2の1000乗をリスト化
print(sum(factor_n))   # 上で作ったリストの各要素を足す

結果

1366

今回はめちゃくちゃ簡単でした。

Project Euler 15「格子経路」をPython3で書いてみた[解答]

Project Euler Python

問題文はこちらに日本語訳が載っています。

Problem 15 - PukiWiki

問題文

2×2 のマス目の左上からスタートした場合, 引き返しなしで右下にいくルートは 6 つある.
[f:id:nariagarix:20170305230301j:plain]
では, 20×20 のマス目ではいくつのルートがあるか.

コンビネーション使うだけですね。 こんな簡単でいいの?って感じですが、コードはこんな風になりました。

import math

m = 20

n = math.factorial(m*2)//(math.factorial(m) * math.factorial(m))

print(n)

結果

137846528820

factorial関数を使うとめちゃくちゃ簡単ですね。

Project Euler 14「最長のコラッツ数列」をPython3で書いてみた[解答]

Project Euler Python

コラッツ数列って初めて聞きました。そして特に調べていないので解説もしないです。すみません。

問題文

正の整数に以下の式で繰り返し生成する数列を定義する.

n → n/2 (n が偶数)

n → 3n + 1 (n が奇数)

13からはじめるとこの数列は以下のようになる.

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
13から1まで10個の項になる. この数列はどのような数字からはじめても最終的には 1 になると考えられているが, まだそのことは証明されていない(コラッツ問題)

さて, 100万未満の数字の中でどの数字からはじめれば最長の数列を生成するか.

注意: 数列の途中で100万以上になってもよい

そして、コード。
今回はあまりに処理に時間がかかったので、時間も計測しました。

import time
start = time.time()
# ここから時間計測開始

countlist = []
n = 1000000

for i in range(2, n):
    while i> 1:
        if i % 2 == 0:
            i = i / 2
            count += 1
        else:
            i = 3*i + 1
            count += 1
    else:
        countlist.append(count)
        count = 0

print(countlist.index(max(countlist)))

elapsed_time = time.time() - start     # 時間計測終了
print("elapsed_time:{0}".format(elapsed_time))    # かかった時間を表示

結果

837797
elapsed_time:59.763405084609985

時間かかりすぎ…(単位は秒)
これはク◯コードですね。
でも10分くらいでパッと組んだコードだし、これから速度上がるコードに改良すればよし!(謎のポジティブ)

このサイトのコードだと9秒くらいでいけるらしいんですけど、このサイトのコードってだいたい難しいんですよね。。

Project Euler: Python solutions