「Python 3 エンジニア認定実践試験」をついに打倒

今回で4度目の受験。素点 33 / 40 正解率 82.5% 評価得点 825 / 1000 により700点以上のため合格となりました。
こういう言い方もなんですが、合格して嬉しいという気持ちはありません。こんだけ受けたのだから合格して当たり前だからという理由ではなく、どちらかというと、もういっそのことあと3回ぐらい受験して、過去問題集を出版するぐらいの意気込みだったからです。逆にもう受験できないと思うと残念ですらあります。
本来であれば合格することが目的のはずですが、受験料4万円、期間2年を費やしたことで目的がずれてしまったのかもしれません。3回目(前回)の受験で不合格になったことで、合否に関係なく40問全部暗記して、それが教科書の何ページに載っているか、あるいはどこにも載っていないかを明確にすることに力を入れることとなりました。逆に、そのぐらいしないと合格には至らなかったということになります。
負け惜しみかもしれませんが(一応今日合格したので負けてはいないんですが)、2年前に1度目の受験で合格していたら、「終わったー!ブックオフ行ぐべ!」となっていたかもしれません。それが今は、この教科書をすぐには手放すことなくまだまだ情報を掬い取ろうとすら思えています。

と、前置きが長くなりましたが、それでは恒例の40問一覧です。

  1. venv P10
  2. PEP 8 2.1全体
  3. Blackでがimport文の順番修正はできない P34
  4. 例外が2個以上ある場合最初の例外が見つかったら以後の処理がなされずにfinallyへ飛ぶ
    (直接そのものズバリのソースコードは教科書に載っていない)
  5. with文を使わない書き方 P47のコード
  6. 可変長位置引数を受け取った場合はtupleになる P54(該当のコードはP55)
  7. for文でitems()メソッドを使うと2個の値を渡せるみたいな内容で足し算が正解、本当に2個書くとエラー?
    (直接そのものズバリのソースコードは教科書に載っていない)
  8. 内包表記に関する問題だったが詳細を忘れた
  9. next(変数名) P69のコード
  10. 「関数名」と「docstring」のみであり、「repr」は対象外 P79の本文ラスト4行
  11. repr P88のコード
  12. dataclassでデフォルト値がない場合は代入必須
    (直接そのものズバリのソースコードは教科書に載っていない)
  13. isinstanceで複数のデータ型のいずれかに属しているかの書き方 P103のコード
  14. 型ヒントで引数と戻り値両方の書き方 P109のコード
  15. tupleで複数の要素の型の書き方 P110のコード
  16. titile() P127の表およびコード
  17. fを使って小数第一位まで表示 P132の表およびコード
  18. serchおよびmatch P135のコード
  19. lookupで絵文字が取得でき、normalizeで半角カタカナを全角カタカナにできる
    P142-143の文章およびコード
  20. 年月日を取得する場合、 date(2025, 2, 17) あるいは datetime(2025, 2, 17) のように書く。
    “2025-02-17″という書き方も一応あるにはあるがあくまでもfromisoformatの場合のみでありひっかけである。
    P163およびP166のコード
  21. sleep(0.3)で0.3秒停止する P172一番上のコード
  22. sort 単なる暗記ではなくソースコードの読解 P185のコード
  23. defaultdictの引数listにした場合、空のlistが作られる。
    P195のコードが近いといえば近いが直接そのものズバリのソースコードは教科書に載っていない。
  24. デコレータを書くべき所になぜか @enum.Enum という無効な記載があるというひっかけ。
    当然そのコードは教科書に載っていない。
    ukiLab というサイト https://www.ukilab.net/python3cpe-try-again/ にて2023年9月に全く同じ問題が出ていたとの情報がある。
  25. product() permutations() combinations() combinations_with_replacement() の使い方。
    うろ覚えの場合、最初の2個は引数が1個でもよいが、最後の2個は引数が2個必要なので絞り込みができるかもしれない。
    P213-215のコード
  26. 今回はcopyについてのみ問われた。P217のコード
    ただし前回はdeepcopyについても問われたので、どっちも暗記しておくとよい。
  27. os.environ[“名前”]という表記。ひっかけでgetenvなる語句が選択肢にある。
    同じく上記 ukiLab サイトに全く同じ問題の情報がある。
    P222の表及びコード
  28. P234のラスト7行の文章にある、初期化される要素3個がそのままズバリ出る。そうでない文章は誤り。
  29. PurePathにはwrite_textは存在しない。
    同じく上記 ukiLab サイトに全く同じ問題の情報がある。
  30. tempfileには最初からディスクにのみ書き込むものと、最初はまずメモリに書き込むSpoold…がある(P225の表)。
    また、コンストラクタで存在が確認できるかのような選択肢があったが、P257のコードではexists()という記載があった。
  31. TSV読み込みはデリミタt P286のコード
  32. loadsの戻り値は単なるオブジェクトとP292の表に明記してあるがこれはデマである。listが正しい。
    P293のコード
  33. funaoka.wew.jp を取り出す場合は hostname P320のコード
  34. P327にPOSTのコードがあるがこれが全く使われておらず、なぜかP328の「GET、POST以外」とわざわざ銘打っているコードを利用してPOSTを記述するという卑怯なもとい巧妙なひっかけ。
    同じく上記 ukiLab サイトに全く同じ問題の情報がある。
  35. doctestは >>> を記載する P366のコード
  36. unittestでエラーになるものを選ぶ問題。 P373の表
  37. mockではintに変換できないのはP382の下のコードで明確であるが、教科書に載っていないmock()という表記はreturn_valueを定義していればエラーにはならないという教科書をいくら読み込んでも絶対に正解できない問題。
  38. デバッグモードに入った際に1行進めるにはどうしたらいいか。cかnの2択に絞れる。nextの略でnだと分かりやすすぎるので裏をかいてcと答えたがやっぱりnが正解という人間不信になりそうな問題。
    P400の表およびP402の一番上のコード
  39. ログ3種類出る。直接そのものズバリの説明やソースコードは教科書に載っていないがしいて言えばP415の表や文章が近いかもしれない。
  40. secrets.choice()で予測されにくいパスワードが生成できる P424のコード


分類:

記載日

投稿者: