はじめに
自戒を込めて書きます。先日某web系のIT企業の採用試験を受けまして、プログラミング能力を見るためのテストがありました。その時に僕がもっと知識をつけておくべきだったと思ったことを書きます。確信しておくべきだったと後悔したことです。
特別に意識している開発言語があるわけではないです。全般的に言えることだと思います。(ちなみに僕はCで受けました)
ずばり、入出力に関わる文字列操作をカンペキにマスターしておくべきだったこと。これをやっておけばよかったと思いました。
理由1:頻出であること(確認はしてませんが)
たぶん、複数の問題が出る場合は必ず1問はファイルを読み込んで処理結果を出力するタイプの問題になるのではないでしょうか。入出力はすべての基本です。入力をきちんと受け取り、処理した結果をきちんと出力することはプログラムとして当然満たしておくべき最低限の基準だと思うのです。
理由2:肝心の部分をアピールするチャンスを逃す
入出力でつまづくと、肝心の処理方法を考える時間がなくなってしまうわけですよ。だから、コードを書くセンスとか、フローを練る能力とか、そういうものの評価点が結果的に下がってしまう気がするんです。
実際どんなことができるといいか
たとえば、とある入力ファイル「input.txt」が与えられたとします。
1.1文字ずつ処理していく
2.1行ずつ処理していく
3.スペース区切りで処理していく
4.カンマ区切りで処理していく
5.特定のラベルがある項目について処理をしていく
などなど、すらっと書けるでしょうか。いろいろ書き方はあるとは思いますが、どんな関数を使って、どんな条件分岐で実装するのがラクだと思いますか。また、読み込んだ要素をひとつひとつ配列に記憶して、以降自由に組み合わせて処理したりできるでしょうか。
いまのところ僕はこういうのがすごく苦手です。ネットを探し回ってコピペすることしかできません。あぁ。悔しいです。時間ができたら絶対にマスターします。
僕は普段からコードを書いているのですが、それは研究で使うシミュレーションプログラムです。プログラミング自体が研究なのではなく、ツールとして使っていますから、できるだけ楽をする方向でプログラムを組んでいます。
そうすると、入出力に関する部分は毎回同じものをコピペするわけです。パラメータの読み込みとか、シミュレーション結果の出力処理の部分ですね。普段いじっているのはアルゴリズムの部分だったりするわけで、文字列をほとんど扱わないのです。僕は文字列操作が苦手なんです。というか、未だに理解しきれていないし、理解する気もなかったわけです。それが今回は見事に仇となってしまいました・・・。
就活のこと
就活のおかげで母が毒親だったのかもしれないと思い始めたという話 - 大学院生のネットワークなブログ
本命企業に落ちた時「相性が悪かった」と諦めがつくのだろうか - 大学院生のネットワークなブログ
16卒の理系大学院生の就活は長すぎてつらい - 大学院生のネットワークなブログ
- 作者: ハーバート・シルト,柏原正三,トップスタジオ
- 出版社/メーカー: 翔泳社
- 発売日: 2007/12/06
- メディア: 大型本
- 購入: 1人 クリック: 23回
- この商品を含むブログ (16件) を見る