小野氏の学習日記

プログラミングや書評を徒然と記載していくブログです

中小企業診断士一次試験合格体験記

どうも、小野氏です。

何ヵ月ぶりかも思い出せないくらい久しぶりの投稿になってしまいました。。。(._.)

ブログを書くのを習慣化したいのですが、私は想像以上に怠惰なようです。

8/21(土)・8/22(日)の二日間にわたって中小企業診断士の試験を受けてきたので、今日はそちらについて記載したいと思います。

自己紹介

自分のプロフィールのなかで、中小企業診断士受験に関連しそうな点を記載します。
他に質問等あればTwitter or ブログのコメントにて問い合わせお願いします。

  • 2021年度が初受験
    • 3年前くらいから受けようと思ってたが、毎回気づいたら申し込み期間が終わっていた
  • 経済学部出身
  • 2016年度に簿記2級取得
  • 2017年度にビジネス法務検定2級取得
    • そのため、経済学と財務・会計、経営法務についてはある程度知識があった状態
  • 2017年度に応用情報技術者取得

試験結果

TACのデータリサーチにて自己採点した結果、以下の通りの点数となりました。

f:id:kugelmulai:20210905231913p:plain

正直合格できると思っていなかったのですが、運よく合格したようです。

試験対策 概要

試験対策の方針を考えるうえで、まず合格基準を確認しました。

中小企業診断士の合格基準は、以下のようになっております。

総点数の60%以上であって、かつ1科目でも満点の40%未満のないこと

上述の合格基準を、私は以下のように解釈しました。

  1. 合格基準は6割であり、そこまで高い得点率は求められていない
  2. 得意科目で6割以上の点数を取得すれば、他の科目は若干失敗しても大丈夫
  3. 科目ごとに4割の足切りがあるため、苦手科目はつくらないほうがいい

上述の解釈をもとに、以下の対策方針をたてました。

  1. すべての科目について基礎レベルの問題は解けるようにし、6割を切る科目が存在しないようにする
  2. 得意科目については、8割程度の点数取得を目指す

試験対策 具体論

試験対策で利用したのは、主に以下の2つの書籍です。

  • TAC スピードテキスト
  • TAC スピード問題集

上述の二つの書籍を全科目分購入し、スピード問題集に乗っているすべての問題のすべての選択肢について、正解・誤りの内容が説明できることを目標に対策を行いました。

具体的には以下の方法で対策を進めていきました。

  1. すべての科目についてまずスピードテキストを1周読む
  2. 上の作業が終わったら、スピード問題集をひたすら繰り返し解く
    • わからないところがあれば、スピードテキストの該当部分を読み直す

また各科目の過去問も購入していたのですが、こちらすべてをやる時間がなくすべての科目1~2年分のみを解いております。

試験対策 実績スケジュール

スケジュールについては特に予定は立てていなかったので、実績のみを記載します。

また、実績学習時間も参考値程度に記載しておきます。
全体で150h程度だったみたいです(思ったより勉強しててびっくり)。

2021/2 ~ 2021/3 学習時間 20h

以下の作業を行いました。

  • 企業経営理論 テキスト1周
  • 財務会計 テキスト1周
  • 企業経営理論 問題集2周
  • 財務会計 問題集2周

大学で学んだことに近かったので、インプットはスムーズに終わりました。

2021/4 ~ 2021/5 学習時間 0h

会社で部署の異動等がありバタバタしていたため、本当に何もできなかったです。
今考えると異動にかこつけて勉強していなかっただけのような気もしますが。。。

ただ内心今年も中小企業診断士の申し込み忘れるんだろうなと思っており、そこまでの危機感もない状態。

2021/6 学習時間 20h

ふと中小企業診断士試験のことを思い出し、期限に間に合ったので申し込みました。
科目合格制度もあるので、受けておくだけでも儲けものみたいなところもありますし。。。

ただ受験料が思ったよりも高かったので(13,000円!)、再度対策を始めました。

具体的には、以下の作業を行いました。

  • 企業経営理論 問題集1周
  • 財務会計 問題集1周
  • 経済学 問題集1周

そして6月末に企業経営理論の令和2年度の過去問を解いたところ、なんと74点でした。
こんなの絶対に受かるやんって思いました。

ただその結果に慢心し、なんと7月上旬は対策をさぼります。

2021/7 学習時間 50h

7月の頭の方は、試験対策を全くしておりませんでした。

ただ7月中旬になると3科目ノータッチであることに焦りを感じ始め、対策を再開します。

具体的には以下の作業を行いました。

  • 経営法務 テキスト1周
  • 経営法務 問題集2周
  • 運営管理 テキスト1周
  • 運営管理 問題集1周
  • 中小企業経営政策 テキスト1周

経営法務は一回やってみて、企業法の部分の理解がかなり怪しかったので問題集を2周やりました。
ただそのせいで、中小企業経営政策に関しては問題集を解くことなく8月に突入します。。。
お盆休みがあったので対策に時間が取れると思ったのですが、これは大きな誤算でした。

2021/8 1週目(2~8) 学習時間 10h

8月については1週間ごとにやったことを書いていきたいと思います。

1週目には中小企業経営政策の問題集を解くのと、他の科目の問題集の復習を行いました。

  • 中小企業経営政策 問題集1周
  • 企業経営理論 問題集1周
  • 財務会計 問題集1周
  • 経済学 問題集1周

企業経営理論・財務会計については問題集を複数回こなしていること、
経済学については大学時代の貯金があったことで、この時期には問題集で解けない問題はほとんどなくなりました。

2021/8 2週目 (8~14) 学習時間 15h

引き続き問題集の復習するとともに、最終週の対策方針を決めるため各科目の過去問を1年分解きました。

  • 経営法務 問題集1周
  • 運営管理 問題集1周
  • 中小企業経営政策 問題集1周
  • 各科目 過去問1年分(令和2年度)

過去問を解いた結果・感触は以下の通り。

  1. なんだかんだすべての科目6割はあった
    • この時点で受かりそうだなと思った
  2. 経済学と財務会計は8割くらい取れる
    • 対策の優先度は落とし、あとは前日のみに対策する方針とした
  3. 企業経営理論は6割は取れそう
    • 問題の内容は大体理解できていたので、あとは前日のみに対策する方針とした
  4. 運営管理と経営法務の6割とれないかもしれない
    • 専門用語の意味を正確に理解していないため、問題が理解できないところが目立った
  5. 中小企業経営政策の対策は間に合わない
    • 中小企業白書の内容が細部まで聞かれるため、対策しきれないと思った
    • この時点で、本科目の対策は中小企業に関する各種法律・制度に関する暗記に絞った

2021/8 3週目試験前々日まで(15~19) 学習時間 10h

試験の前々日までは、問題集・過去問を元に運営管理と経営法務の理解していない用語集を作成するとともに、それを暗記することに徹しました。
完全に直前の詰め込みという感じですが、ここでの暗記が運営管理の高得点につながったと思います。

2021/8/19 試験前日 学習時間 10h

前日は有給を取得し試験会場に近い箇所にホテルをとり、そこに缶詰状態で勉強していました。
具体的には1日目の科目の問題集を解くことで知識の再確認を行いました。
完全に直前のあがきという形ですが、この時点で問題集の正答率は9割程度であり、
また理解していない単語も複数見つけ再確認できたので、あがいた意味はあった気がします。

  • 企業経営理論 問題集1周
  • 財務会計 問題集1周
  • 運営管理 問題集1周
  • 経済学 問題集1周

2021/8/20 試験1日目 学習時間 5h

試験当日ですが、試験の間は40分程度休憩時間に、前日解けなかった問題について復習を行いました。
2日目には苦手な科目が集中していることがわかっていたので、1日目の点数をできるだけあげられるよう、最後の最後まであがけたと思います。

1日目の試験を受けた各科目の感覚としては以下の通り。
ただ全体的に、2日目への貯金がつくれていることは確信できていました。

  • 経済学、財務会計は大体わかったし、80点くらいは取れてそう
  • 企業経営理論は最悪60点割るかもしれない
    • 確実に分かった問題数はそこまで多くなかった
  • 運営管理は変な問題数問あったけど、70点は超えてるかな

ただ個人的にこの日の本番は、試験自体ではなく明日の試験の対策だと思ってました。
今まで苦手科目の経営法務と、後回しにしてきた中小企業経営政策の対策が残っています。

ただ経営法務の完成度が低く問題集の問題が8割程度しか解けなかったこと、 そして試験の合間も勉強しており疲労が溜まっていたことにより、
明日の試験対策は経営法務だけしかできなかったです。
足きりにかかってしまう可能性を感じながら、午前3時ごろに就寝しました。

  • 経営法務 問題集1周

2021/8/21 試験2日目 学習時間 3h

1科目しか対策で来ていない状態で迎えた2日目。
午前中に行われた経営法務は足きり最低ラインは確実に超えたかな程度の感触でした。

そして経営法務が終わった後に中小企業経営政策の対策を行いましたが、
この時点で問題集の問題が8割程度しか解けませんでした。

なので試験の時間まで問題集を解いてテキストの該当箇所を読むことに専念しました。
幸い経営情報システムを免除していたので時間は3時間程度あり、知識の詰め込みを行う余裕は十分でした。

蓋を開けてみると両科目とも科目合格ラインは超えなかったですが、
足きりには引っかからなかったので最低限よかったかなと思います

受験した感想

以下、受験の感想を列挙します。

スピート問題集の内容ですべての問題2対策するのは無理だけど合格ラインは超える

私は終始スピード問題集の内容を完璧にすることを目標に試験対策を行いました。
個人的にこの作成は功をそうしたと思っています。

スピード問題集を解くことによって、一次試験合格レベルの知識のインプットはできたと思います。
また他の教材に浮気せずに1つの問題集を完璧にすることを目指したことが、勉強量不足でも合格した大きな要因かなと思います。

過去問は解いたほうがいい

これは絶対解いたほうがいいでず。
スピード問題集がインプット教材だとしたら、過去問はインプットとアウトプットの両方をできる最高の教材です。

私は過去問を自分のレベルのチェックにしか使わなかったですが、
スピード問題集で学習した内容をどれだけアウトプットできるかを確認すること、
そして過去問で間違えた問題を改めてインプットすることでより合格率を高められると今ならわかります。

でも実際は過去問うまく使えてないので、話半分で聞いておいてください。

簿記2級・ビジネス法務検定2級などを使ってステップアップすると取得がだいぶラク

中小企業診断士試験で求められる知識は、広く浅いものです。
いろんな資格の2級レベルを問われるといったイメージでしょうか。

これらを一気に勉強すると大変だと思いますが、
他の資格を利用しながら段階的に勉強することでステップアップしながら資格を取得できると思います。

直前に詰め込むと燃え尽き症候群がつらい

現状の私です。
二次対策に重い腰が上がらない。。。(._.)

また直前に苦しい思いをするのは嫌なので、
明日から頑張ります。

以上です。ではまた

近況報告_20210523

どうも、小野氏です。

2ヵ月ぶりのブログの更新になってしまいました。

年度末に異動が明らかになり、
勤務地の変更などでいろいろ忙しかったのは事実ですが、
今年度から自己研鑽自体が出来ていないなという感覚があります。

一応、ここ2ヵ月でやったことの報告をしておきます。

4月~5月にかけてやったこと

  • 読書
    • 資産形成
      • ライフサイクル投資術
      • 私の財産告白
    • 技術書
      • プリンシパル・オブ・プログラミング
      • リーダブルコード(途中)
      • Effective DevOps
      • Spring解体新書
    • 自己分析
      • 世界一優しいやりたいことの見つけ方
    • その他
      • フリーランスになっちゃいましたが税金で損しない方法を教えてください
  • ゲーム

現状、異動先の業務に慣れるのが大変&PCを土日にしか触れない状態にあるので、
プログラミングなどの学習に手を出せていないです。
ただそれを言い訳にして何もしていないような気がするので、
来週やることについて、習慣・タスクの二つの観点で目標をつくります。

来週やること

習慣レベル

  1. 1日60分は読書などの自己研鑽を行う
  2. 土日は、少なくとも1commitは行う
  3. 月に1回はqiita記事を書く
  4. 土日に必ずブログ記事を書く

タスクレベル

  1. リーダブルコード 読了
    • あと半分程度
  2. Vue.js&Nuxt.js超入門 読了
    • 業務上必要なのでmust
  3. Effective DevOps 読了
    • あと2/3程度

以上です。ひさびさのブログ記事が適当で申し訳ないですが、来週以降は毎回時間を確保して記事を記載したいと思います。

近況報告_20210307

どうも、小野氏です。

簡単に近況報告をしたいのですが、
正直何もできていないですね。。

月曜日に職場で若干ショッキングなことがあり
いろいろ作業が手についていなかったのですが、
それにかまけてさぼってしまっている感じがすごいですね。。。

さぼってしまわないための仕組み作りが必要な気がするので、
再度モチベーションの部分を洗いなおしてみます

ただこの一か月間はずっとふわふわしてそうな予感。。。

一応やったことだけ記載しておきます。

システムアーキテクト

午後1の過去問を3問だけ解いてみました。
(遅いような気もする。。。)

午後1はほとんど文章問題なので、
本番までにはどうにかなるかなという感触を得られております。

ただ午後2は自分の業務経験などを記載する必要があるので、
こちらの記述の練習をしないとなという感じです。

文字を書くのはめんどくさいので、
以下の方針で行こうかなと思います。
(明確に記述と添削を分けた方が、やりやすいかなと予想)

  1. PC上で2時間位かけて記載
  2. 参考書の記載を参考に自分の解答を添削
  3. 添削した結果を繁栄

その他

ahamoを契約しようかなと思ってましたが、
結局無料期間の間だけ楽天モバイルにすることにしました。

今週中に解約手続きをしに行きます。

では、また(._.)

近況報告_20210228

どうも、小野氏です。

簡単に近況報告をします。

プログラミング

1日1コミットは守れてないですね。。。
ただ昔よりもだいぶましにはなっています。

f:id:kugelmulai:20210301003545p:plain

AOJを1日1問程度解いてます。
具体的にはアルゴリズムとデータ構造入門についての問題を解いてます。

具体的な進捗・ソースコードは以下のページから確認できます。多分

問題を解いていると、アルゴリズムの理解が怪しかったり、
Rubyの記法が怪しいところが複数個所出てきて、
両方ともを復習しないといけないなという気持ちです。

Rubyの記法は以下の本を持っているので時折読もうと思います。

AOJについては以下の本に問題の解説が書いてるっぽいので、
問題を解きながら並行して読んでいこうかなと思ってます。

システムアーキテクト

午後1の過去問を一問だけ解いてみました。
(遅いような気もする。。。)

解いてみた感じだと、意外と簡単だなという感じです。
一応ネスペとデスペを持っているので、
問題を解くための基本的な知識は備わっているようでよかったです。

知識ない状態で挑んだネスペとか、何もできなくて絶望やったし。。。

ただ試験までの日程もそこまでないので、
3月は一番ここに力を入れようかなと思います。

なんか躓いて調べたら記事とか書くかも

中小企業診断士

以下の二科目の学習を行っております。

  • 企業経営理論
  • 財務・会計

企業経営理論は問題集を2周し、
財務・会計はこれから問題集を解いていく感じなので、
進捗としては若干遅れが出てる感じですね。。

3月は以下の二科目を勉強しようと思います。

  • 財務・会計
  • 経済学・経済政策

経済学部出身なのでところどころわかるかもしれないけど、
おそらくいろんなことを覚えていないことにメンタルをやられそうな予感。

その他

この前、勉強会に初めて参加してきました。

銀座Rails

個人的に一番興味深かったのは、
森さんのRailsアプリケーションのアーキテクチャに関するプレゼンです。

知らない単語続出で、自分の勉強不足を痛感しました。
森さんのブログなど資料が上がりましたら、復習していこうかなと思います。

また、次回以降も銀座Railsには参加しようと思います。
自分より圧倒的にレベルの高いエンジニアがいっぱいいて、刺激になります。

今日はこんな感じで。

では、また(._.) \

近況報告_20210223

どうも、小野氏です。

10ヵ月ぶりの更新になりますね。

以前はプログラミングのネタを投稿するためのブログにしていましたが、
自分的にプログラミングが思った以上にハードルが高かったようで、
まったく更新できておりませんでした。

ただブログ自体は続けていきたいという気持ちがあるので、
今後は日記的に利用していこうと思います。

近況報告

最近は資格勉強をしております。

昨年データベーススペシャリストを取得しましたが、
今年は以下の資格の取得を目指しております。

システムアーキテクト

午前2の勉強を一通り行ったところです。
若干進捗が多いような気がしつつ、
そこまで焦っていないのが現状です。

エンジニア4年目にもなると、
全く知らない概念はないので何とかなるだろと思っています。

ただUML図の使い分けなどは現状説明できるレベルではないので、
システムアーキテクトの勉強がてら復習したいと思っています。

よくよく考えると、UML図って研修以来書いたことないかも。。。

中小企業診断士

7月に試験があることを想定して勉強を開始しました。

現状以下の二科目について、
今月中に問題集を一周すること目標としながら勉強しております。

  • 企業経営理論
  • 財務・会計

企業経営理論については問題集が終わり過去問に入れる状態です。
財務・会計についてはテキストが読み終わり、これから問題集に入る段階です。

全体的に大学時代に勉強したことあるな~ってことが多くて、
ただ忘れていることに傷つきながら勉強を進めてます。

この資格は経済学部出身ってだけでかなりアドバンテージがありそう。

その他

ほとんど何もしていません。
プログラミングの癖はつけたいので、1日1コミットの癖はつけていきたいですね。。。
あと情報発信にも力を入れていきたいです。

以上、近況報告でした。

それでは、また来週(._.)

プログラム脳を鍛える数学パズル 第6弾

どうも、小野氏です。

今週はさぼらずに更新できました。

ただプログラミングをあまりやっていない影響か、普段より実装に時間がかかってしまいました。

週1のプログラミングだと成長しないなと身をもって実感しております。

さて、今回もプログラム脳を鍛える数学パズルの問題を解いていきたいと思います。

今週は本書のQ14についてRubyで実装したので、そちらについて紹介いたします。

Q14 W杯出場国しりとり

問題

2014年W杯出場国でしりとりを行うとき、最も長く続けられる場合の使用国数を答えよ(ただし、どの国名も一度しか使えないこととする)

書くのがめんどくさいのでW杯出場国の記載は省きます。気になる方はWikiを確認してください。

探索処理なので再帰処理を使いますが、再帰の変数代入のところで躓いてしまいました。

かなり初歩的なミスですが、デバッグまでしたので紹介します。

(逆に言うとデバッグしないと原因がわからなかったです。。。)

回答

自分で考えた後、回答を見ながら修正したものが以下のものです。

簡単にアルゴリズムを解説いたします。

  1. 国名の配列と、すでに国名を使用したかの状態を格納する配列を宣言
    • 配列自体を破壊的に書き換えていく方法もあると思いますが、再帰でそれをやるのが怖かったので今回は回避しました。
  2. 国名の冒頭の文字と、国名の最後の文字が一致していることを確認するsearch関数を定義
    • 再帰的に探索する前に使用済みのフラグをたて、再帰処理が終わった際にフラグを元に戻している。
      • 再帰処理の中で使った国名については、再帰処理が終われば再度使えるため。
    • 探索木の葉ノードである場合loop_countの中身をmax_loop_count変数に格納するため、is_last変数をつかって葉ノードにあたるか確認している
  3. それぞれの国名に対して、search関数を呼び出している。

使用済みのフラグを立てるタイミング・外すタイミングについては、再帰に慣れていないとパっと回答できないような気がします。

解説

今回は、私がトラブルシュートに時間がかかった点について説明いたします。

(アルゴリズムについては、特に一般的な再帰処理以上のことをしていないので解説を省きます)

私がはじめに作成したコードは以下の通りです。

回答のコードと違う点は、loop_count変数のカウントアップのタイミングです。

私のコードはif文の中の処理としてカウントアップしておりますが、回答のコードは関数を呼び出すときにカウントアップをしております。

この処理の違いが、メモリの状態に以下のような差を生みます。

f:id:kugelmulai:20200524175049p:plain

私のコードだと関数を呼び出す前にカウントアップをしているので、正答の場合と比べてloop_count変数が1つ大きくなります。

こちらは1回目の探索時には問題は発生しませんが、2回目以降の探索処理時に問題が発生します。

メモリ上でsearch関数の処理が終わった際、each_with_indexのループの中にもどるので、次の変数(国名)に対して比較処理を行います。

その際のメモリ上のデータを見ると、正答のほうはloop_count変数の値が変わっていないのに対し、私の回答のコードだとloop_count変数の値が大きくなります。

search処理が終わり呼び出し元に戻る際には、探索が進んでいないので、loop_count変数が大きくなるのは誤りです。そのため、正答のコードのように再帰処理を呼び出す際にcount変数を変更するのが正しいです。

メモリの状態を気にしないとできないデバッグだったので時間がかかってしまいましたが、再帰処理は呼び出しと変数のカウントアップを同時にしないと想定外のカウントアップが行われる可能性があることを身をもって理解できました。

所感

  • 私は以下のコードを作成したのちに、どこが間違っているのかがわからずに1時間程度調べておりました。
    • そもそもデバッガを使ったのが2年ぶりくらいで、ステップイン等の用語定義を調べるのに時間がかかりました。
  • 問題を解くことに限界を感じてきました。(n回目)

プログラム脳を鍛える数学パズル 第5弾

どうも、小野氏です。

2週間くらい更新をさぼってしまい、申し訳ございません。

GWはマイクロサービスアーキテクチャについて調べており、その影響でプログラミングの学習がほとんどできませんでした。

(自分で書いていて、理由になっていないような気がしますが。。。)

マイクロサービスアーキテクチャの調査結果については、今月中にqiita記事に投稿する予定ですのでご興味があればご確認お願い致します。

前回に引き続き、プログラム脳を鍛える数学パズルの問題を解いていきたいと思います。

今週は本書のQ12についてRubyで実装したので、そちらについて紹介いたします。

Q12 平方根の数字

問題

平方根を小数で表した際に、0~9までの数字が最も早くすべて現れる最小の小数を、①計算結果の整数部分を含む数字全体を確認する場合と②計算結果の小数部分のみについて確認する場合にわけてそれぞれ求めよ。

アルゴリズム自体は難しくないのですが、実装するプログラミング言語における小数の扱いについて知らないと確信をもって回答が出来ない問題となっております。

回答

自分で考えて実装したものが以下のものです。

整数部分を含む場合についてのみ、アルゴリズムを解説いたします。

  1. 答えを格納する変数(answer_including_integer_part)と、平方根を適用する変数(n)をそれぞれ宣言する
  2. nを平方根を計算結果を、カンマを除外した後、左から10桁をそれぞれ配列に格納する
    • 例えば2の平方根を計算した場合、この時点で配列は ["1", "4", "1", "4", "2", "1", "3", "5", "6", "2"]という状態になっている
    • sprintfメソッドを用いて、小数点以下10桁が確実に出力されるようにしている(e4など、表記が変わることを避けている)
  3. 上述の作業で作成した配列から重複値を削除した後に、配列の長さがまだ10桁であった場合、その値を解答とする
    • 重複排除後に配列の長さが10桁であるということは、0~9の要素がすべて含まれているということである。

解説

申し訳ございませんが、今回は特になしでお願いします。

所感

  • 浮動小数の制度について理解が甘いことが露呈した。また機会を設け調べたいと思う。
  • 本問題では、0~9の数字が10桁までに現れるという過程をおいて解いているが、そこに証明はいらないのかなと思ったり。。。
    • プログラムを組んでいるので、やってみればいいと言われればそれまでなのですが。。。